aswadwk/indonesiaregion

Library Region indonesia, this is update from lib azishapidin/indoregion

Maintainers

Package info

github.com/aswadwk/indonesiaregion

pkg:composer/aswadwk/indonesiaregion

Transparency log

Statistics

Installs: 94

Dependents: 0

Suggesters: 0

Stars: 1

Open Issues: 0

v1.1.1 2022-11-29 10:14 UTC

This package is auto-updated.

Last update: 2026-07-31 15:27:01 UTC


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.php
  • database/migrations/ → 4 file migration pembuat tabel
  • database/seeders/IndoRegionSeeder.php beserta 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

Lisensi

MIT — lihat LICENSE.