Skip to content

About

Dataset wilayah administrasi Indonesia (Provinsi, Kab/Kota, Kecamatan, Kelurahan/Desa) dengan Static CDN API gratis, CSV, dan SQL Dumps.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Valtera Indonesia Regions

Dataset wilayah administrasi Indonesia (Provinsi, Kabupaten/Kota, Kecamatan, Kelurahan/Desa) yang telah disanitasi, dinormalisasi, dan dioptimasi untuk konsumsi publik.

Tersedia langsung dari GitHub dalam bentuk Static CDN JSON API (hemat bandwidth untuk cascading dropdown frontend), Relational CSV, dan SQL Dumps siap import.

CI License: MIT jsDelivr Hits Data Integrity Records Formats Stars Last Commit AI Ready


Ringkasan Data

Entitas Jumlah Format Kode Contoh Kode Contoh Nama
Provinsi 37 2 digit 32 Jawa Barat
Kabupaten / Kota 514 4 digit 3201 Kab. Bogor
Kecamatan 7.272 6 digit 320101 Cibinong
Kelurahan / Desa 83.763 10 digit 3201011001 Cirimekar (Kode Pos: 16916)

Catatan Data: Dataset ini merupakan data resmi Valtera yang telah dinormalisasi ke struktur relasional berindeks, dilengkapi pemetaan Kode Pos (PT Pos Indonesia) pada tingkat kelurahan/desa.


1. Penggunaan via CDN Gratis (Frontend / Mobile)

Dataset ini dapat langsung di-fetch melalui CDN gratis (jsDelivr) tanpa perlu server backend. Karena jsDelivr melayani file statis, request harus mengarah ke file .json langsung (bukan ke folder induk /dist/api).

Daftar Endpoint Lengkap

Data URL Endpoint CDN Ukuran
Provinsi https://cdn.jsdelivr.net/gh/danikz/valtera-indonesia-regions@latest/dist/api/provinces.json ~2.1 KB
Kab/Kota https://cdn.jsdelivr.net/gh/danikz/valtera-indonesia-regions@latest/dist/api/regencies/{kode_provinsi}.json
(Contoh Jawa Barat: .../regencies/32.json)
~1.5 KB
Kecamatan https://cdn.jsdelivr.net/gh/danikz/valtera-indonesia-regions@latest/dist/api/districts/{kode_kabko}.json
(Contoh Kab. Bogor: .../districts/3201.json)
~2.5 KB
Kelurahan/Desa https://cdn.jsdelivr.net/gh/danikz/valtera-indonesia-regions@latest/dist/api/villages/{kode_kecamatan}.json
(Contoh Cibinong: .../villages/320101.json)
~2.0 KB

Contoh Pemakaian (JavaScript / Fetch)

const BASE_URL = 'https://cdn.jsdelivr.net/gh/danikz/valtera-indonesia-regions@latest/dist/api';

// 1. Ambil daftar provinsi
const provinces = await fetch(`${BASE_URL}/provinces.json`).then(r => r.json());

// 2. Ambil kab/kota setelah provinsi dipilih (contoh: Jawa Barat = 32)
const regencies = await fetch(`${BASE_URL}/regencies/32.json`).then(r => r.json());

// 3. Ambil kecamatan setelah kab/kota dipilih (contoh: Kab. Bogor = 3201)
const districts = await fetch(`${BASE_URL}/districts/3201.json`).then(r => r.json());

// 4. Ambil desa/kelurahan (contoh: Cibinong = 320101)
const villages = await fetch(`${BASE_URL}/villages/320101.json`).then(r => r.json());

2. Database Dumps (SQL)

Dumps SQL telah dioptimasi dengan batch insert (500 baris per query) serta foreign key dan indeks relasional.

File tersedia di folder dist/sql/:

Cara Import

# MySQL
mysql -u username -p database_name < dist/sql/mysql.sql

# PostgreSQL
psql -U username -d database_name -f dist/sql/postgresql.sql

# SQLite
sqlite3 regions.db < dist/sql/sqlite.sql

3. File CSV Ternormalisasi

Jika membutuhkan format CSV tabel terpisah per entitas untuk database seeder (Laravel, Django, Prisma, Go) atau analisis data:

Tersedia juga file kompresi tunggal seluruh data untuk kebutuhan offline:


Struktur Database

erDiagram
    PROVINCES ||--o{ REGENCIES : contains
    REGENCIES ||--o{ DISTRICTS : contains
    DISTRICTS ||--o{ VILLAGES : contains

    PROVINCES {
        char(2) code PK "Contoh: '32'"
        varchar(100) name "Contoh: 'Jawa Barat'"
    }
    REGENCIES {
        char(4) code PK "Contoh: '3201'"
        char(2) province_code FK
        varchar(100) name "Contoh: 'Kab. Bogor'"
    }
    DISTRICTS {
        char(6) code PK "Contoh: '320101'"
        char(4) regency_code FK
        varchar(100) name "Contoh: 'Cibinong'"
    }
    VILLAGES {
        char(10) code PK "Contoh: '3201011001'"
        char(6) district_code FK
        varchar(100) name "Contoh: 'Cirimekar'"
        char(5) postal_code "Contoh: '16916'"
    }
Loading

🤖 Panduan untuk AI Coding Assistant (Cursor, Copilot, Claude, ChatGPT)

Repositori ini telah dilengkapi file standar llms.txt agar asisten coding AI dapat langsung membaca spesifikasi, skema relasi, dan pemetaan endpoint CDN secara tepat tanpa halusinasi.

Copy-Paste Prompt untuk AI Anda:

Jika Anda ingin AI (Cursor Composer, Claude Code, GitHub Copilot, ChatGPT) membuatkan kode integrasi, cukup salin prompt berikut:

Gunakan dataset wilayah Indonesia dari repositori https://github.com/danikz/valtera-indonesia-regions (spesifikasi mesin: https://raw.githubusercontent.com/danikz/valtera-indonesia-regions/main/llms.txt).

Tolong buatkan komponen cascading dropdown wilayah bertingkat (Provinsi -> Kab/Kota -> Kecamatan -> Kelurahan/Desa) menggunakan [React / Vue / Flutter / HTML & Vanilla JS].

Aturan implementasi:
1. Fetch data langsung dari CDN publik jsDelivr tanpa perlu backend server:
   - Provinsi: https://cdn.jsdelivr.net/gh/danikz/valtera-indonesia-regions@latest/dist/api/provinces.json
   - Kab/Kota: https://cdn.jsdelivr.net/gh/danikz/valtera-indonesia-regions@latest/dist/api/regencies/{province_code}.json
   - Kecamatan: https://cdn.jsdelivr.net/gh/danikz/valtera-indonesia-regions@latest/dist/api/districts/{regency_code}.json
   - Kelurahan/Desa: https://cdn.jsdelivr.net/gh/danikz/valtera-indonesia-regions@latest/dist/api/villages/{district_code}.json
2. Terapkan reset state bertingkat saat parent dropdown berubah nilainya.

Development & Build Pipeline

Jika ingin memperbarui master data di data/kode_wilayah.csv dan membangun ulang seluruh artefak:

# Menjalankan build generator (JSON CDN, CSV, SQL, Monolith)
python scripts/build.py

# Menjalankan validasi integritas relasi & format data
python scripts/validate.py

Lisensi

Dilisensikan di bawah MIT License. Bebas digunakan untuk proyek komersial maupun non-komersial.

About

Dataset wilayah administrasi Indonesia (Provinsi, Kab/Kota, Kecamatan, Kelurahan/Desa) dengan Static CDN API gratis, CSV, dan SQL Dumps.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages