aswadwk / indonesiaregion
Library Region indonesia, this is update from lib azishapidin/indoregion
v1.1.1
2022-11-29 10:14 UTC
Requires
- parsecsv/php-parsecsv: ^1.1
README
Library data wilayah administrasi Indonesia untuk Laravel. Fork dari azishapidin/indoregion dengan data terbaru sesuai Kepmendagri dan dukungan Laravel modern.
Fitur
- 38 provinsi (termasuk 4 provinsi pemekaran Papua 2022: Papua Selatan, Papua Tengah, Papua Pegunungan, Papua Barat Daya)
- 514 kabupaten/kota, 7.285 kecamatan, 83.762 desa/kelurahan
- Kode wilayah mengikuti sistem kodefikasi terbaru Kemendagri (2-4-6-10 digit)
- Support Laravel 10, 11, dan 12 dengan PHP ^8.2
- Seeder idempotent (aman dijalankan berulang)
- Model & trait siap pakai (
Province,City,District,Village)
Persyaratan
- PHP ^8.2
- Laravel 10, 11, atau 12 (illuminate/support)
Instalasi
composer require aswadwk/indonesiaregion
Penggunaan
1. Publish model, migration, dan seeder
php artisan indoregion:publish
Perintah ini menyalin ke direktori aplikasi Anda:
app/Models/→Province.php,City.php,District.php,Village.phpdatabase/migrations/→ 4 file migration pembuat tabeldatabase/seeders/→IndoRegionSeeder.phpbeserta seeder per level
2. Jalankan migration
php artisan migrate
3. Seed data wilayah
php artisan db:seed --class="Database\Seeders\IndoRegionSeeder"
Seeder idempotent — aman dijalankan berulang kali (menggunakan upsert).
Model & Relasi
use App\Models\Province; $provinces = Province::all(); // 38 provinsi $province = Province::find('93'); // PAPUA SELATAN $province->regencies; // hasMany $province->districts; // hasManyThrough
use App\Models\District; $district = District::find('110101'); // BAKONGAN $district->isProvince('11'); // true $district->isRegency('1101'); // true $district->villages; // hasMany
| Model | Trait | Method pembantu |
|---|---|---|
Province |
ProvinceTrait |
districts(), hasDistrictName(), hasDistrictId() |
City |
RegencyTrait |
villages(), hasVillageName(), hasVillageId() |
District |
DistrictTrait |
isProvince(), isRegency(), province() |
Village |
VillageTrait |
isProvince(), isRegency(), isDistrict(), regency(), province() |
Data Wilayah
Data diperbarui mengikuti Keputusan Menteri Dalam Negeri No. 300.2.2-2138 Tahun 2025 (dan pembaruannya), termasuk:
- Pemekaran 4 provinsi Papua (2022) — total 38 provinsi
- Perubahan kode wilayah: format kode kecamatan kini 6 digit (sebelumnya 7) dan desa/kelurahan 10 digit dengan pola
xx.xx.xx.xxxx - Perbaikan nama wilayah sesuai ketentuan terbaru
Sumber: Kode dan Data Wilayah Administrasi Pemerintahan (data per 13 Februari 2026).
Untuk memperbarui data, jalankan:
python3 scripts/update_region_data.py
Pengujian
composer install vendor/bin/phpunit
Changelog
Lihat CHANGELOG.md.
Kredit
- azishapidin/indoregion — package asli
- cahyadsn/wilayah — sumber data wilayah
Lisensi
MIT — lihat LICENSE.