Penyediaan Data Dapodik SMA/SMK

Dalam rangka ketersediaan data dalam rangka pengalihan wewenang SMA dan SMK ke provinsi, Dinas Pendidikan Provinsi Jawa Timur bekerja sama dengan Pusat Data dan Statistik Pendidikan.

Pola Struktur Dapodik

Individual

Tidak ada variabel/field untuk menyimpan data agregat. Semua nilai agregat diperoleh dari operasi “count” & “sum”

Kodifikasi

kodifikasi dapodik

Topologi Relasional

relasional dapodik

Strong Reference

reference

Skala Nasional

  • Scalable: struktur mampu menampung data nasional.
  • Simetris: struktur basisdata kementerian sama dengan struktur basisdata sekolah.
  • Object approach: primary key merupakan object id, sedapat mungkin single primary key, relasi dependent diminimalkan.

Longitudinal

Data dinamis dibuat multi-valued berdasar periode: data yang lampau tidak hilang. Memungkinkan membaca trend. longitudinal

Distributed Design

Referensi tidak boleh dihapus, yang tidak dipakai di-expired-kan. distributed

Kendali Sinkronisasi

Sinkronisasi didasarkan atas selisih waktu “Last update” dengan “Last sync”. sinkron

Kendali Validasi

Setiap tabel yang mendapat input dari sekolah, ada log validasinya. Satu record dapat mendapat lebih dari satu issue. validasi

Query

Jumlah Guru

SELECT dbo.sekolah.kode_wilayah, dbo.sekolah.sekolah_id, Sum( CASE WHEN dbo.ptk.jenis_ptk_id IN (3, 4, 5, 6, 12, 13, 14) THEN 1 ELSE 0 END ) AS JML_GURU FROM dbo.sekolah INNER JOIN ref.Tabel_Kab ON ref.Tabel_Kab.kode_kab = SUBSTRING(dbo.sekolah.kode_wilayah, 1, 4) INNER JOIN ref.Tabel_Kec ON ref.Tabel_Kec.kode_kab = dbo.sekolah.kode_wilayah FULL OUTER JOIN dbo.ptk ON dbo.ptk.entry_sekolah_id = dbo.sekolah.sekolah_id WHERE (dbo.sekolah.Soft_delete = 0) AND dbo.ptk.Soft_delete = 0 GROUP BY dbo.sekolah.npsn, dbo.sekolah.kode_wilayah, ref.Tabel_Kec.nama, ref.Tabel_Kab.nama, dbo.sekolah.sekolah_id, dbo.sekolah.nama

Jumlah Siswa

SELECT dbo.sekolah.npsn, dbo.sekolah.kode_wilayah, ref.Tabel_Kec.nama AS Kec, ref.Tabel_Kab.nama AS Kab, ref.bentuk_pendidikan.nama AS Jenjang, dbo.sekolah.sekolah_id, dbo.sekolah.nama, COUNT(dbo.peserta_didik.peserta_didik_id) AS JML_SISWA FROM dbo.sekolah INNER JOIN ref.Tabel_Kab ON ref.Tabel_Kab.kode_kab = SUBSTRING(dbo.sekolah.kode_wilayah, 1, 4) INNER JOIN ref.Tabel_Kec ON ref.Tabel_Kec.kode_kab = dbo.sekolah.kode_wilayah INNER JOIN ref.bentuk_pendidikan ON dbo.sekolah.bentuk_pendidikan_id = ref.bentuk_pendidikan.bentuk_pendidikan_id LEFT JOIN dbo.ptk ON dbo.ptk.entry_sekolah_id = dbo.sekolah.sekolah_id LEFT JOIN dbo.rombongan_belajar ON dbo.rombongan_belajar.ptk_id = dbo.ptk.ptk_id AND dbo.rombongan_belajar.sekolah_id = dbo.sekolah.sekolah_id LEFT JOIN dbo.anggota_rombel ON dbo.anggota_rombel.rombongan_belajar_id = dbo.rombongan_belajar.rombongan_belajar_id LEFT JOIN dbo.peserta_didik ON dbo.peserta_didik.sekolah_id = dbo.sekolah.sekolah_id AND dbo.anggota_rombel.peserta_didik_id = dbo.peserta_didik.peserta_didik_id WHERE (dbo.sekolah.Soft_delete = 0) AND dbo.ptk.Soft_delete = 0 AND dbo.rombongan_belajar.Soft_delete = 0 AND dbo.rombongan_belajar.semester_id IN ('20142') AND dbo.anggota_rombel.Soft_delete = 0 AND dbo.peserta_didik.Soft_delete = 0 GROUP BY dbo.sekolah.npsn, dbo.sekolah.kode_wilayah, ref.Tabel_Kec.nama, ref.Tabel_Kab.nama, ref.bentuk_pendidikan.nama, dbo.sekolah.sekolah_id, dbo.sekolah.nama

PTK

SELECT dbo.sekolah.nama, dbo.sekolah.bentuk_pendidikan_id, dbo.sekolah.alamat_jalan, dbo.sekolah.kode_wilayah, dbo.sekolah.status_sekolah, dbo.ptk.nama AS Expr1, dbo.ptk.jenis_kelamin, dbo.ptk.tempat_lahir, dbo.ptk.tanggal_lahir, dbo.ptk.nuptk, dbo.ptk.status_kepegawaian_id, dbo.ptk.jenis_ptk_id, dbo.ptk.alamat_jalan AS Expr2, dbo.ptk.ptk_id FROM dbo.sekolah INNER JOIN dbo.ptk ON dbo.ptk.entry_sekolah_id = dbo.sekolah.sekolah_id WHERE (dbo.sekolah.Soft_delete = 0) AND (dbo.sekolah.bentuk_pendidikan_id = 13) OR (dbo.sekolah.bentuk_pendidikan_id = 14) OR (dbo.sekolah.bentuk_pendidikan_id = 15) OR (dbo.sekolah.bentuk_pendidikan_id = 29) AND (dbo.sekolah.kode_wilayah LIKE '05%')

Sekolah Aktif

SELECT dbo.sekolah.npsn, dbo.sekolah.kode_wilayah, ref.Tabel_Kec.nama AS Kec, ref.Tabel_Kab.nama AS Kab, ref.bentuk_pendidikan.nama AS Jenjang, dbo.sekolah.sekolah_id, dbo.sekolah.nama FROM dbo.sekolah INNER JOIN ref.Tabel_Kab ON ref.Tabel_Kab.kode_kab = SUBSTRING(dbo.sekolah.kode_wilayah,1,4) INNER JOIN ref.Tabel_Kec ON ref.Tabel_Kec.kode_kab = dbo.sekolah.kode_wilayah INNER JOIN ref.bentuk_pendidikan ON dbo.sekolah.bentuk_pendidikan_id = ref.bentuk_pendidikan.bentuk_pendidikan_id WHERE (dbo.sekolah.kode_wilayah LIKE '05%') AND (dbo.sekolah.Soft_delete = 0)

Artikel terkait

Komentar