Database SQLite berisi data wilayah administratif Indonesia berdasarkan BPS (Badan Pusat Statistik) yang lengkap:
✅ Provinsi
✅ Kabupaten/Kota
✅ Kecamatan
✅ Desa/Kelurahan
✅ Kode Pos
Data ini berguna untuk aplikasi web, mobile, dan API yang membutuhkan referensi wilayah Indonesia secara hierarki.
- Data resmi dan lengkap wilayah Indonesia
- Format SQLite yang ringan, cepat, dan portable
- Open source, bebas digunakan untuk keperluan komersial & non-komersial
- Mudah diintegrasikan dengan Laravel, CodeIgniter, Node.js, atau framework lain
- Relasi antar tabel memudahkan query data secara bertingkat
Database records.sqlite berisi tabel:
citiescountriespostal_codesprovincessqlite_sequencesub_districtstranslationsvillages
Relasi antar tabel:
cities.city_province_code→provinces.province_codesub_districts.sub_district_city_code→cities.city_codevillages.village_sub_district_code→sub_districts.sub_district_codepostal_codesberisi kode pos untuk berbagai wilayah
📦 Tersedia Docker Image
🔗 Docker Hub - maftuhichsan/sqlite-wilayah-indonesia
Cara Pull dan Jalankan (Docker Compose)
- Tambahkan ke docker-compose.yml:
version: '3.8'
services:
sqlite-wilayah:å
image: maftuh23/sqlite-wilayah-indonesia:latest
container_name: sqlite-wilayah
volumes:
- ./data:/data # Simpan database di folder ./data
restart: unless-stopped- Jalankan perintah:
docker-compose up -d- Akses file database SQLite di folder ./data/records.sqlite atau sesuai mount volume yang Anda set.
Cara Pull Manual (Tanpa Compose):
docker pull maftuh23/sqlite-wilayah-indonesia:latest
docker run -d --name sqlite-wilayah -v $(pwd)/data:/data maftuh23/sqlite-wilayah-indonesia:latest📦 Instalasi via Composer
Paket ini tersedia di Packagist:
🔗 Packagist - maftuhichsan/sqlite-wilayah-indonesia
Cara Install
Jalankan perintah Composer:
composer require maftuhichsan/sqlite-wilayah-indonesia
Setelah itu, Anda bisa menggunakan file database yang ada di dalam vendor path:
vendor/maftuhichsan/sqlite-wilayah-indonesia/database/records.sqlite
⸻
✨ Contoh Penggunaan di PHP (PDO)
$db = new PDO(__DIR__.'/vendor/maftuhichsan/sqlite-wilayah-indonesia/database/records.sqlite');
// Ambil semua provinsi
$stmt = $db->query("SELECT * FROM provinces");
$provinces = $stmt->fetchAll(PDO::FETCH_ASSOC);
print_r($provinces);⸻
📦 Instalasi via NPM
Paket ini tersedia di NPM:
🔗 NPM - sqlite-wilayah-indonesia
Cara Install
Jalankan perintah package manager NPM:
npm install sqlite-wilayah-indonesia
⸻
✨ Contoh Penggunaan di Node.js
// Contoh menggunakan sqlite3
const sqlite3 = require('sqlite3').verbose();
const path = require('path');
// Arahkan ke file SQLite di node_modules
const dbPath = path.join(
__dirname,
'node_modules',
'sqlite-wilayah-indonesia',
'database',
'records.sqlite'
);
const db = new sqlite3.Database(dbPath);
// Ambil semua provinsi
db.all("SELECT * FROM provinces", [], (err, rows) => {
if (err) {
throw err;
}
console.log(rows);
});
db.close();⸻
Download file records.sqlite dari repository ini, lalu simpan di project Anda.
Contoh query SQL dasar:
-- Ambil semua provinsi
SELECT * FROM provinces;
-- Ambil kabupaten/kota berdasarkan ID provinsi
SELECT * FROM cities WHERE city_province_code = '31';
-- Ambil kecamatan berdasarkan ID kabupaten/kota
SELECT * FROM sub_districts WHERE sub_district_city_code = '3171';
-- Ambil desa/kelurahan berdasarkan ID kecamatan
SELECT * FROM villages WHERE village_sub_district_code = '3171020';
URL : https://api.kirimin.id
Mengembalikan daftar provinsi.
Contoh: /api/province
Mengembalikan daftar kota.
Contoh: /api/city/33
Mengembalikan daftar Kecamatan.
Contoh: /api/sub_district/3301
Mengembalikan daftar Kelurahan/Desa.
Contoh: /api/village/3372020