Runbook UAT Manual: Combined Student & Parent Bulk Import (Siswa + Orang Tua)¶
Dokumen ini berisi panduan pengujian pengguna (UAT) untuk fitur pengunggahan massal terpadu (bulk import) data Siswa sekaligus Orang Tua menggunakan satu berkas spreadsheet (Excel/CSV).
1. Ringkasan Fitur¶
Sebelumnya, pengunggahan data Siswa dan data Orang Tua harus dilakukan terpisah secara beruntun (dua kali upload). Fitur baru ini menggabungkan keduanya menjadi satu berkas template tunggal, mempermudah admin sekolah untuk mendaftarkan siswa baru bersama dengan rincian orang tua/walinya dalam satu langkah transaksi yang aman.
Keunggulan Fitur Baru:¶
- Satu Berkas Tunggal: Satu template spreadsheet untuk semua rincian Siswa & Orang Tua.
- Deduplikasi Otomatis (Sibling Grouping): Jika ada kakak-beradik (saudara kandung) dalam satu berkas, sistem akan mendeteksinya secara otomatis dan hanya membuat satu rekam data orang tua yang ditautkan ke kedua siswa tersebut.
- Savepoint & Partial Recovery: Jika ada 10 baris data dan 2 di antaranya salah (misal format salah), sistem akan menyimpan 8 data yang benar ke database, dan mempertahankan 2 data yang gagal di halaman web agar dapat langsung diperbaiki oleh Admin.
- Interactive Editor: Admin dapat langsung mengedit data siswa maupun orang tua yang bermasalah di layar web sebelum dikirim ke Odoo, tanpa perlu mengunduh/mengunggah ulang berkas.
2. Format Template Berkas (XLSX / CSV)¶
Berikut adalah struktur kolom yang didukung oleh sistem bulk upload:
Kolom Data Siswa¶
| Nama Kolom | Status | Aturan Format | Penjelasan |
|---|---|---|---|
| Nama Lengkap | Wajib | Teks Bebas | Nama lengkap siswa baru. |
| NIK | Opsional | Angka, tepat 16 digit | Nomor Induk Kependudukan siswa. Dianjurkan diisi jika ada, tetapi tidak wajib karena banyak siswa SD/SMP belum memiliki NIK tercatat di Dukcapil. |
| NIPD | Opsional | Angka | Nomor Induk Peserta Didik (NIS Lokal). |
| NISN | Wajib | Angka, tepat 10 digit | Nomor Induk Siswa Nasional (harus unik). |
| Jenis Kelamin | Wajib | L / P / Laki-laki / Perempuan | Jenis kelamin siswa (tidak sensitif huruf besar/kecil). |
| Tempat Lahir | Opsional | Teks Bebas | Tempat kelahiran siswa. |
| Tanggal Lahir | Opsional | DD-MM-YYYY | Tanggal lahir siswa (contoh: 15-08-2010). |
| Nomor HP | Opsional | Angka | Nomor HP siswa (jika sudah memiliki). |
| Golongan Darah | Opsional | A / B / AB / O (dengan/tanpa +/-) | Contoh: O+, A, AB-. |
| Opsional | Alamat Email Valid | Email siswa. | |
| Kota | Opsional | Teks Bebas | Kota domisili siswa. |
| Jalan | Opsional | Teks Bebas | Alamat tempat tinggal siswa. |
| Kode Pos | Opsional | Angka | Kode pos domisili. |
| Agama | Opsional | Islam / Kristen / Katolik / Hindu / Buddha / Konghucu | Agama siswa (tidak sensitif huruf besar/kecil). |
Kolom Data Orang Tua (Gabungan Baru)¶
| Nama Kolom | Status | Aturan Format | Penjelasan |
|---|---|---|---|
| Nama Orang Tua | Opsional | Teks Bebas | Nama lengkap Ayah, Ibu, atau Wali. |
| Nomor HP Orang Tua | Opsional | Angka (min. 9 digit) | Nomor handphone aktif Orang Tua. |
| Hubungan Orang Tua | Opsional | Ayah / Ibu / Wali / Kakek / Nenek / Paman / Bibi | Hubungan kekeluargaan dengan siswa. |
| Email Orang Tua | Opsional | Alamat Email Valid | Alamat email Orang Tua untuk akses Portal. |
| ID Grup Keluarga | Opsional | Angka, tepat 16 digit (Contoh: 3171012345678901) |
PENTING: Isi dengan Nomor Kartu Keluarga (KK) untuk menghubungkan siswa bersaudara kandung (siblings). Semua anggota keluarga yang memiliki KK sama akan terdeteksi sebagai satu grup keluarga. |
3. Skenario Pengujian UAT (Step-by-Step)¶
Skenario 1: Upload Sukses Sibling Otomatis (Deduplikasi Ortu)¶
Tujuan: Memastikan pengunggahan 2 siswa yang memiliki orang tua yang sama berhasil ditautkan ke 1 rekam data Orang Tua tunggal di database.
- Buka aplikasi Scola Portal Admin dan masuk ke menu Data Siswa -> Upload Siswa (URL:
/students/import). - Klik tombol Unduh Template Excel untuk mendapatkan file template resmi.
- Buka file template tersebut dan masukkan 2 baris data sebagai berikut:
- Baris 1: Siswa bernama
Budi Santoso, NISN:9990000001, NIK:1234567890123451, Orang Tua:Ahmad Subarjo, No. HP Ortu:081234567890, Hubungan:Ayah, ID Grup Keluarga:3171012345678901. - Baris 2: Siswa bernama
Siti Aminah, NISN:9990000002, NIK:1234567890123452, Orang Tua:Ahmad Subarjo, No. HP Ortu:081234567890, Hubungan:Ayah, ID Grup Keluarga:3171012345678901. - Unggah berkas tersebut dengan menyeretnya ke kotak dropzone atau memilih file dari komputer.
- Periksa layar preview tabel. Pastikan baris data siswa dan kolom orang tua muncul dengan benar di layar.
- Klik tombol Unggah ke Database.
- Hasil yang Diharapkan:
- Muncul notifikasi sukses: "2 data siswa dan orang tua berhasil diunggah!".
- Halaman preview kosong kembali.
- Jika Anda memeriksa menu Data Siswa -> muncul
Budi SantosodanSiti Aminah. - Jika Anda memeriksa menu Orang Tua, hanya ada 1 rekam data
Ahmad Subarjodan di dalamnya tertaut nama kedua anaknya secara otomatis.
Skenario 2: Penanganan Konflik Ambiguitas (Strict Pre-validation)¶
Tujuan: Memastikan sistem menolak data jika nama orang tua sama tetapi nomor HP berbeda tanpa adanya ID Grup Keluarga yang jelas.
- Edit berkas Excel Anda dengan data berikut:
- Baris 1: Siswa
Andi, NISN:8880000001, NIK:1122334455667711, Orang Tua:Subarkah, No. HP Ortu:08111111111, Hubungan:Ayah. - Baris 2: Siswa
Anisa, NISN:8880000002, NIK:1122334455667712, Orang Tua:Subarkah, No. HP Ortu:08222222222, Hubungan:Ayah(Nama sama, HP berbeda). - Unggah berkas tersebut ke halaman
/students/import. - Klik Unggah ke Database.
- Hasil yang Diharapkan:
- Unggahan dibatalkan (gagal total) di fase preflight karena terdeteksi potensi ambiguitas data.
- Muncul pesan error yang jelas: "Nama orang tua 'Subarkah' bertabrakan dengan baris 1 (nomor HP berbeda). Sediakan family_group_id atau samakan nomor HP."
Skenario 3: Pemulihan Parsial & Pengeditan On-the-Fly (Savepoint Recovery)¶
Tujuan: Memastikan baris data yang valid tetap tersimpan ke database, sedangkan baris yang gagal tetap di preview untuk dapat dikoreksi langsung di web oleh Admin.
- Siapkan berkas Excel dengan 3 baris data:
- Baris 1 (Valid): Siswa
Rudi, NISN:7770000001, NIK:1111222233334411, Orang Tua:Bambang, HP:0811223344(Valid). - Baris 2 (Gagal - NISN Duplikat): Siswa
Siska, NISN:7770000001(Sama dengan Rudi), NIK:1111222233334412, Orang Tua:Bambang(Duplikat NISN). - Baris 3 (Valid): Siswa
Deni, NISN:7770000003, NIK:1111222233334413, Orang Tua:Gunawan, HP:0855667788(Valid). - Unggah berkas ke halaman
/students/import. - Klik Unggah ke Database.
- Hasil yang Diharapkan:
- Muncul notifikasi peringatan: "2 Berhasil, 1 Gagal".
- Data
Rudi(Baris 1) danDeni(Baris 3) berhasil tersimpan ke database (tidak ikut ter-rollback karena savepoint baris bekerja). - Data
Siska(Baris 2) tetap bertahan di tabel preview web. - Klik baris
Siskadi tabel preview. - Pada panel Edit Data di sebelah kanan layar, koreksi NISN
Siskayang salah menjadi7770000002yang valid. - Klik Simpan Perubahan. Data pada baris preview ter-update.
- Klik Unggah ke Database kembali.
- Hasil yang Diharapkan:
- Sisa 1 data siswa
Siskaberhasil disimpan ke database. - Preview bersih sepenuhnya.
4. Troubleshooting Umum saat UAT¶
- Pesan error: "NIK harus 16 digit"
- Penyebab: Kolom NIK diisi dengan format tidak valid atau terbaca sebagai format angka ilmiah (scientific notation) seperti
1.23E+15. -
Solusi:
- Jika NIK dikosongkan: Wajar — NIK bersifat opsional untuk siswa di bawah 17 tahun.
- Jika NIK diisi: Format ulang kolom NIK di Excel sebagai tipe data Text, tulis ulang 16 digit NIK dengan benar, lalu simpan berkas.
-
Pesan error: "ID Grup Keluarga tidak valid"
- Penyebab: Kolom ID Grup Keluarga diisi dengan kode sembarang seperti
FAM001atauGROUP-A. -
Solusi: Isi dengan Nomor Kartu Keluarga (KK) yang valid (16 digit), contoh:
3171012345678901. -
Pesan error: "NISN sudah terdaftar di sistem untuk..."
- Penyebab: NISN tersebut sudah digunakan oleh siswa lain di database sekolah.
-
Solusi: Ganti NISN di spreadsheet dengan NISN siswa yang benar dan belum pernah terdaftar.
-
Pesan error: "Hubungan '...' tidak dikenal"
- Penyebab: Mengisi kolom Hubungan Orang Tua dengan teks bebas seperti
Bapak,Simbah, atauOrang tua. - Solusi: Pastikan hanya mengisi dengan pilihan yang dikenali sistem:
Ayah,Ibu,Wali,Kakek,Nenek,Paman, atauBibi.