Cara Kerja DigiSport
Satu orang, satu identitas olahraga, dipakai lintas cabang olahraga, event, dan organisasi. Halaman ini menjelaskan bagaimana DigiSport mengerjakannya: apa yang dicatat, siapa yang memutuskan, dan aturan apa yang dijaga sistem sehingga tidak bergantung pada kedisiplinan orang.
- Nama
- DigiSport, Layanan Olahraga Nasional
- Pemilik
- KONI Pusat. Struktur data dan kebutuhannya ditetapkan KONI
- Fungsi inti
- Catatan induk insan olahraga Indonesia: atlet, pelatih, wasit, ofisial, pengurus, dan nomor kewenangannya
- Bentuk
- Dasbor operator (web) dan aplikasi anggota (Android/web, mobile-first)
- Tiga nomor
- NION Nomor Induk Olahraga Nasional · NIPO Nomor Induk Profesi Olahraga · NORG Nomor Organisasi
Masalah yang dijawab
Data insan olahraga di Indonesia tersebar: satu atlet tercatat di klub, di Pengprov, di panitia PON, dan di induk cabornya, dengan ejaan nama dan tanggal lahir yang tidak selalu sama. Tidak ada satu nomor yang mengikuti orang itu ke mana pun ia bergerak, dan tidak ada cara memastikan orang yang mengaku pelatih berlisensi memang pelatih berlisensi.
DigiSport menjawabnya dengan tiga prinsip yang ditetapkan KONI, dan seluruh rancangan di halaman ini turunan dari ketiganya.
Identitas terpisah dari akun
Orang dicatat sebagai manusia, bukan sebagai pengguna aplikasi. Seorang atlet usia sekolah bisa tercatat, diberi nomor, dan meraih medali tanpa pernah punya akun.
NION bukan NIPO
NION menjawab "orang ini siapa", terbit otomatis dan gratis. NIPO menjawab "orang ini berwenang apa", terbit per peran, setelah diperiksa.
Premium adalah layanan, bukan identitas
Membayar tidak membuat seseorang lebih sah. Premium menambah kenyamanan: verifikasi prioritas, penyimpanan dokumen, sertifikat digital, statistik prestasi.
Bagian 2Tiga nomor
Bentuknya sama, artinya berbeda. Awalannya ditetapkan KONI.
| Nomor | Bentuk | Untuk | Terbit | Biaya |
|---|---|---|---|---|
| NION | NION-XXXXXXXXXX-C | Setiap orang. Satu orang satu NION, seumur hidup | Otomatis begitu orangnya punya NIK. Tidak ada tombol, tidak ada antrean | Gratis |
| NIPO | NIPO-XXXXXXXXXX-C | Satu per peran: atlet, pelatih, wasit, dan seterusnya. Satu orang boleh punya beberapa | Setelah diperiksa dan disetujui. Hanya hidup selama penugasannya hidup | Berbayar (biaya penerbitan, terpisah dari Premium) |
| NORG | NORG-XXXXXXXXXX-C | Organisasi: KONI, induk cabor, Pengprov, Pengcab, klub, sekolah | Otomatis saat organisasi dibuat | Gratis |
Kenapa sepuluh angka acak, bukan nomor urut
Nomor urut membocorkan dua hal yang bukan urusan siapa pun yang melihat kartu: berapa banyak orang yang sudah terdaftar, dan kira-kira kapan seseorang mendaftar. Sepuluh angkanya diambil acak oleh sistem, bukan dari urutan, dan keunikannya dijaga database.
Digit terakhir: penjaga salah ketik
C di ujung mewakili digit periksa: satu angka yang dihitung dari sepuluh angka sebelumnya. Kalau petugas salah mengetik satu angka, atau menukar dua angka bersebelahan (09 jadi 90, kesalahan paling lazim saat nomor dibacakan lewat telepon), nomornya langsung ketahuan tidak sah tanpa perlu mengecek ke database.
Bagian 3Perjalanan seseorang
Dari tercatat sampai berwenang, dan apa yang terjadi saat ia pindah klub.
Yang dijaga sistem di sepanjang jalur ini
- Satu manusia, satu catatan. NIK yang sudah dipakai ditolak, bahkan kalau catatan pemiliknya sudah dihapus. Menghapus lalu mendaftar ulang tidak membuka nomor kedua.
- NIPO hanya terbit di atas penugasan yang benar-benar sedang dipegang: orangnya aktif, NION-nya aktif, perannya berlaku, dan masa penugasannya mencakup hari ini.
- Satu NIPO hidup per peran. Yang dicabut atau kedaluwarsa membebaskan tempatnya untuk perpanjangan; yang aktif tidak.
- Atlet tidak bisa aktif di dua klub sekaligus pada rentang waktu yang bertindih. Pindah klub berarti penugasan lama ditutup dulu.
- Mengubah nama, tanggal lahir, atau jenis kelamin orang yang sudah punya NIPO atau prestasi wajib disertai alasan tertulis, dan verifikasi yang sudah disetujui ditandai perlu diperiksa ulang.
- Semua atlet wajib punya klub. Kalau belum ada, klubnya diadakan, bisa berupa klub, sekolah, atau bentuk lain.
Bagian 4Peran: olahraga dan sistem
Dua jenis peran yang sengaja dipisah, karena menjawab dua pertanyaan yang berbeda.
Peran olahraga
Lima belas peran: Atlet, Pelatih, Ofisial, Tenaga Medis, Wasit, Juri, Pengawas Pertandingan, Manajer Tim, Pendamping, Mekanik, Fisioterapis, Pengurus, Penyelenggara, Media (wartawan), dan Anggota. Atlet bersifat eksklusif: satu orang tidak bisa aktif di dua klub pada waktu yang sama. Peran Anggota tidak memerlukan NIPO, karena NION sudah menjawabnya.
Peran sistem
Tujuh peran yang menentukan siapa boleh masuk dasbor dan membuka modul apa: Administrator Sistem, Admin Nasional, Operator, Admin Provinsi, Admin Organisasi, Verifikator, Pembaca. Setiap modul punya dua tingkat hak, lihat dan kelola. Dua hal dijaga keras:
- Operator tidak bisa memberi peran kepada dirinya sendiri. Hak atas modul akun sengaja tidak diberikan ke peran operator, karena itu jalan tercepat keluar dari pembatasan apa pun.
- Dua peran kunci, Administrator Sistem dan Admin Nasional, tidak bisa diberikan lewat aplikasi sama sekali. Kalau ada celah di aplikasi, kerusakannya paling jauh sampai Admin Provinsi.
Bagian 5Organisasi: dua garis yang sengaja dipisah
KONI punya wilayah, induk cabor punya cabang olahraga. Keduanya bukan atasan-bawahan, dan sistem mencatatnya sebagai dua garis yang berbeda.
| Tingkat | Jalur KONI | Jalur cabang olahraga |
|---|---|---|
| Nasional | KONI Pusat | Induk cabor nasional (PB/PP), lebih dari 60 federasi, masing-masing anggota KONI Pusat |
| Provinsi | 38 KONI Provinsi | Pengprov cabor |
| Kabupaten/Kota | 514 KONI Kabupaten/Kota | Pengcab cabor |
| Klub | tidak ada | Klub, sekolah, atau bentuk lain yang memiliki perangkat organisasi |
Dua hal di luar cakupan DigiSport: NPC (Komite Paralimpiade Nasional, olahraga disabilitas), yang memiliki jalur organisasi sendiri di luar KONI, dan olahraga profesional, baik event, atlet, maupun timnya. Jenis organisasi tetap bisa ditambah tanpa mengubah bentuk sistem.
Satu organisasi boleh mengurus beberapa cabor, dengan tepat satu ditandai utama. Master wilayah terisi penuh sampai tingkat kelurahan: 38 provinsi, 514 kabupaten/kota, 7.285 kecamatan, 83.762 kelurahan/desa, mengikuti acuan resmi Kemendagri, dan pemekaran wilayah dicatat lewat penunjuk induk sebelumnya, bukan dengan menimpa baris lama.
Bagian 6Verifikasi NIPO bertahap
Prinsipnya satu: setiap tahap hanya memverifikasi hal yang benar-benar di bawah kewenangannya. Klub tidak tahu apakah seseorang terdaftar ganda di kabupaten sebelah; Pengprov tidak tahu siapa yang benar-benar berlatih tiap Selasa.
Pengajuan NIPO masuk dalam status menunggu, lalu berjalan melewati tahap-tahap organisasi yang berwenang. Setiap persetujuan tercatat atas nama orang yang memutuskan, dan persetujuan yang sudah diberikan tidak bisa dibatalkan; yang bisa dilakukan adalah pencabutan yang tercatat pula.
| Tahap | Yang menjadi kewenangannya |
|---|---|
| Klub / Sekolah | Bahwa orang ini anggotanya, bahwa orang di foto memang orangnya, dan bahwa ia menjalankan peran yang diajukan di sana |
| Pengcab | Bahwa klub pengaju sah dan domisili orang itu masuk wilayahnya |
| Pengprov | Bahwa orang itu tidak terdaftar di dua kabupaten sekaligus, dokumennya lengkap dan berlaku, dan mutasi antar-daerahnya beres |
| KONI Kab/Kota, KONI Provinsi | Mengesahkan sisi wilayah setelah organisasi cabor di tingkat yang sama bertindak |
| PB / PP | Bahwa lisensi, sertifikat, atau penunjukannya sah menurut standar federasi. Hanya federasi yang tahu ini |
| KONI Pusat | Persetujuan akhir, bukan pemeriksaan ulang. Sistem sendiri yang memastikan semua tahap yang berlaku sudah selesai, lalu NIPO terbit |
Yang diperiksa manusia, yang diperiksa Dukcapil
Dukcapil hanya bisa menjawab satu hal: bahwa NIK itu ada, dan nama, tanggal lahir, serta jenis kelaminnya cocok dengan catatan kependudukan. Semua yang lain, kemiripan wajah, keanggotaan klub, keabsahan lisensi, domisili sebenarnya, dan tidak terdaftar ganda, tidak bisa dijawab Dukcapil dan memang harus diperiksa manusia di tahap yang tepat. Pemeriksaan data dasar dilakukan oleh tahap yang berwenang lewat dokumen; pencocokan otomatis ke Dukcapil berdiri sebagai lapisan tersendiri di depan tahap pertama, terpisah dari tahapan verifikasi manusia.
Empat dokumen wajib
KTP, Bukti Peran, Bukti Domisili, dan Surat Keterangan Mutasi. Dua yang terakhir sengaja dipisah: yang satu menyatakan tinggal di mana, yang satu menyatakan pindah dari mana ke mana. Peran tertentu juga wajib mengunggah sertifikasi, dengan tingkatan berjenjang: kecamatan, kabupaten/kota, provinsi, multi-provinsi, nasional, regional, kontinental, dunia.
Riwayat dan kinerja organisasi
Setiap kejadian, termasuk tenggat yang lewat, tercatat di riwayat persetujuan. Dari situ lahir laporan per organisasi: berapa kali menyetujui, berapa rata-rata lamanya, berapa kali terlewat. Angka "berapa kali terlewat" per Pengcab memberi KONI daerah gambaran Pengcab mana yang perlu didorong.
Bagian 7Event, kontingen, prestasi
Program event tersusun tiga lapis, kontingen adalah delegasi untuk satu event, dan satu medali adalah satu baris.
| Hal | Aturannya |
|---|---|
| Program event | Event dibuat sebagai draf dengan program tiga lapis: cabor, disiplin, nomor pertandingan. Begitu event diaktifkan, programnya terkunci selamanya. Layar memperingatkan sebelum itu terjadi |
| Kontingen | Delegasi untuk satu event, bukan organisasi permanen. Event dan lingkupnya beku sejak lahir, jadi panen medali satu provinsi tidak bisa dipindahkan ke provinsi lain. Satu orang tidak bisa terdaftar di dua kontingen untuk peran yang sama di satu event |
| Prestasi | Satu penghargaan satu baris, berapa pun peraihnya; medali emas beregu tidak terhitung sebanyak jumlah pemainnya di klasemen. Perunggu boleh di peringkat 3 atau 4 untuk cabor berperunggu ganda seperti judo dan taekwondo |
| Setelah event berakhir | Medali hanya bisa menyusut, tidak bisa bertambah. Medali baru ditolak, tapi pembatalan medali tetap boleh kapan saja, karena diskualifikasi doping bisa datang belakangan |
| Mengubah prestasi | Tidak ada jalur sunting. Yang ada: batalkan lalu catat ulang, dan pembatalannya ikut membatalkan daftar peraihnya. Jadi tidak ada medali yang "diedit" diam-diam |
Bagian 8Dokumen dan data pribadi
NIK adalah data pribadi warga negara. Sistem memperlakukannya sebagai sesuatu yang dibuka, bukan dibaca.
- NIK disimpan terenkripsi dan tidak pernah tampil di daftar, di panel orang, maupun di aplikasi anggota. Membukanya adalah tindakan tersendiri yang tercatat di audit dengan nama pembukanya. Mengoreksi NIK adalah tindakan lain lagi, wajib disertai alasan.
- Mencari orang berdasarkan NIK tidak pernah menaruh NIK di alamat URL, jadi NIK tidak mendarat di log akses maupun riwayat browser.
- Kunci enkripsinya dijaga. Sidik jari kunci itu direkam sekali; kalau kunci diganti diam-diam, sistem menolak menyala.
- Dokumen tidak pernah disajikan sebagai file statis. Setiap pengambilan lewat pintu yang memeriksa siapa yang meminta, selalu sebagai unduhan lampiran, dan tercatat. Jenis file dibatasi: PDF, JPEG, PNG, WebP.
- Isi dokumen beku begitu keluar dari status diunggah. Yang boleh berubah cuma statusnya, dan statusnya berjalan satu arah: tidak ada dokumen terverifikasi yang bisa kembali ke keadaan yang isinya masih bisa disunting.
- Dokumen milik orang lain tidak bisa dilampirkan ke berkas verifikasi seseorang. Ini dicegah secara struktural di database, bukan diperiksa aplikasi.
- Aplikasi anggota tidak menampilkan NIK pemiliknya sendiri, dan tidak menawarkan unduh dokumen identitas ke ponsel, karena itu menciptakan salinan yang tidak terkelola.
Bagian 9Jejak yang tidak bisa dihapus
Setiap tindakan tercatat dengan nama pelakunya, dan catatan itu tidak bisa diubah bahkan oleh pemilik database.
- Hanya bisa bertambah. Baris audit tidak bisa diubah dan tidak bisa dihapus, dan larangan itu berlaku bahkan untuk akun pemilik database, dan hal ini diuji langsung dengan akun itu.
- Nama pelakunya ditentukan database, bukan dikirim aplikasi. Aplikasi tidak bisa menandatangani jejak audit dengan nama orang lain, karena nama pelaku selalu diambil dari sesi yang sedang masuk, apa pun yang dikirim aplikasi.
- Tiga puluh jenis tindakan tercatat, termasuk membuka NIK, mencari NIK, mengoreksi NIK, dan mencetak dokumen. Penerbitan otomatis pun meninggalkan jejaknya sendiri dengan catatan bahwa ia otomatis.
- Sesi masuk juga bukti audit. Baris sesi tidak bisa diubah maupun dihapus; pencabutan tidak bisa dibatalkan. Orang yang dihapus langsung kehilangan aksesnya pada permintaan berikutnya, tanpa menunggu sesinya habis.
- Percobaan masuk dibatasi dengan tiga hitungan sekaligus: 5 kegagalan per pasangan akun dan alamat IP, 20 per IP, 50 per akun, dalam 15 menit. Yang ketat adalah pasangan akun dan IP, supaya penyerang mengunci dirinya sendiri, bukan korbannya. Hitungannya diambil dari jejak audit, yang tidak hilang saat sistem restart.
Bagian 10Dua aplikasi
Dasbor untuk yang mengelola data orang lain, aplikasi untuk yang melihat datanya sendiri. Batas di antara keduanya adalah batas keamanan, bukan sekadar menu.
| Dasbor operator | Aplikasi anggota | |
|---|---|---|
| Siapa | Akun yang memegang peran sistem | Setiap akun yang sah. Operator pun anggota, karena ia juga manusia dengan NION-nya sendiri |
| Bentuk | Web, 11 modul: Identitas, Organisasi dan Olahraga, Data Pendukung, Akun dan Keamanan, Verifikasi, Premium, Event dan Prestasi, Audit, Konfigurasi, Notifikasi, dan Penjelajah Data | Android dan web, mobile-first: beranda dengan kartu NION dan daftar NIPO, profil, dokumen, notifikasi |
| Bisa apa | Mengelola data orang lain sesuai hak modulnya. Menu yang bukan haknya disembunyikan, dan server tetap menolak kalau alamatnya dibuka langsung | Melihat datanya sendiri saja. Tidak ada alamat yang bisa diisi nomor orang lain; pemilik datanya selalu ditentukan dari sesi yang sedang masuk |
| Masuk | Dengan email atau nomor HP, bukan nama pengguna. Layar masuk tidak membocorkan email mana yang terdaftar. Sesi tidak tersimpan di perangkat: menutup aplikasi berarti masuk lagi, sengaja, karena sistem ini memuat NIK | |
Aplikasi anggota dirancang mobile-first dan bisa dipasang seperti aplikasi (PWA). Kontak dibuktikan lewat kode OTP ke nomor HP atau email, dan pemberitahuan sampai lewat aplikasi, email, SMS, atau WhatsApp: saat pengajuan masuk, saat tenggat tinggal sehari, dan saat keputusan keluar.
Bagian 11Di balik layar
Satu keputusan arsitektur yang paling menentukan: aturan bisnis hidup di database, bukan di aplikasi.
Kenapa aturan ditaruh di database
Kalau aturan "satu orang satu NION" hidup di aplikasi, aturan itu cuma berlaku untuk orang yang masuk lewat aplikasi. Skrip impor, perbaikan darurat lewat SQL, atau aplikasi lain yang dibangun belakangan bisa melanggarnya tanpa sadar. Di DigiSport, 90 constraint dan 166 trigger (aturan pembatas dan pemeriksa otomatis) menegakkan aturan di dalam database PostgreSQL, jadi aturan berlaku untuk semua cara masuk, termasuk cara yang tidak terpikir sekarang. Aturan-aturan ini diuji langsung di database, bukan lewat aplikasi.
| Lapisan | Teknologi |
|---|---|
| Database | PostgreSQL 17. Struktur data ditetapkan KONI |
| API | Node.js (NestJS). Semua pesan penolakan berbahasa Indonesia dan tidak menampilkan istilah teknis database |
| Dasbor operator | React |
| Aplikasi anggota | Flutter, Android dan web |
| Deployment | Docker, di belakang Traefik dengan TLS |
Bagian 12Premium
Layanan berbayar tahunan. Bukan identitas, bukan kewenangan.
Semua orang memakai fitur dasar gratis: mendaftar, NION, profil, ikut event. Premium menambah: verifikasi prioritas, penyimpanan dokumen, sertifikat digital, statistik dan analitik prestasi. Paket dan harganya ditetapkan KONI.
- Langganan tidak bisa aktif tanpa pembayaran yang berhasil, dan itu dijaga database, bukan layar.
- Referensi pembayaran tidak bisa dipakai dua kali, apa pun huruf besar-kecil dan spasinya, jadi callback dari payment gateway yang terkirim dua kali tidak tercatat sebagai dua pembayaran.
- Pengembalian dana membatalkan langganannya, kecuali masih ada pembayaran lain yang menopang.
- Pembayaran lewat QRIS dan transfer bank, dengan referensi dari penyedia pembayaran yang tercatat di sistem.
Bagian 13Glosarium
- NION
- Nomor Induk Olahraga Nasional, nomor pendaftaran berawalan NION-. Gratis, otomatis, satu seumur hidup. Menjawab "orang ini siapa".
- NIPO
- Nomor Induk Profesi Olahraga, berawalan NIPO-. Satu per peran, terbit setelah diperiksa. Menjawab "orang ini berwenang apa".
- NORG
- Nomor Organisasi, berawalan NORG-. Untuk KONI, induk cabor, Pengprov, Pengcab, klub, sekolah.
- Orang
- Catatan manusia. Ada tanpa perlu punya akun.
- Akun
- Untuk masuk ke sistem. Satu orang paling banyak satu akun.
- Penugasan
- Peran olahraga yang dipegang seseorang di sebuah organisasi atau event, dengan masa berlaku. Dasar penerbitan NIPO.
- Peran sistem
- Peran yang melekat ke akun dan menentukan modul dasbor mana yang boleh dibuka.
- Kurator
- Orang yang ditunjuk memverifikasi atas nama sebuah organisasi. Boleh lebih dari satu per organisasi.
- Pembinaan
- Garis tegak: KONI Pusat membina KONI Provinsi; PB membina Pengprov.
- Keanggotaan
- Garis mendatar: induk cabor adalah anggota KONI di tingkat yang sama.
- Kontingen
- Delegasi untuk satu event, bukan organisasi permanen.
- Prestasi
- Satu baris per medali atau peringkat, berapa pun peraihnya.
- Eskalasi
- Perpindahan pengajuan ke tahap yang lebih tinggi karena tahap sebelumnya tidak ada atau kehabisan waktu. Bukan persetujuan.
- Digit periksa
- Satu angka terakhir di setiap nomor yang membuat salah ketik dan pertukaran angka langsung ketahuan.
- Jejak audit
- Catatan setiap tindakan beserta pelakunya, yang hanya bisa bertambah.
- Level Free dan Level Premium
- Fitur dasar gratis untuk semua; Premium layanan berbayar tahunan yang tidak mengubah identitas maupun kewenangan.
Halaman ini merangkum spesifikasi sistem DigiSport untuk pembaca yang bukan pengembang. Rincian teknisnya ada di dokumen spesifikasi dan kebutuhan sistem.