PHPackages                             hitech/indonesia-laravel - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. hitech/indonesia-laravel

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

hitech/indonesia-laravel
========================

Indonesia Laravel - Data terbaru daerah-daerah di indonesia termasuk 38 provinsi.

v1.0.8(10mo ago)692.9k—0%12MITPHPPHP &gt;=8.1

Since Jun 19Pushed 10mo agoCompare

[ Source](https://github.com/dhank77/indonesia-laravel)[ Packagist](https://packagist.org/packages/hitech/indonesia-laravel)[ RSS](/packages/hitech-indonesia-laravel/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (6)Versions (10)Used By (0)

🇮🇩 Indonesia Laravel
====================

[](#-indonesia-laravel)

[![Indonesia Laravel](https://camo.githubusercontent.com/294072fff8202e72dde0e983e3f344019a4528ebb61cce601439bac9c0ff1df2/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f496e646f6e657369612d4c61726176656c2d7265643f7374796c653d666f722d7468652d6261646765266c6f676f3d6c61726176656c)](https://camo.githubusercontent.com/294072fff8202e72dde0e983e3f344019a4528ebb61cce601439bac9c0ff1df2/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f496e646f6e657369612d4c61726176656c2d7265643f7374796c653d666f722d7468652d6261646765266c6f676f3d6c61726176656c)[![PHP Version](https://camo.githubusercontent.com/eb897516964204ea2fe0b98ebd737cd5cc94f106e7bb1be933fd9eeed54daba6/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d253545382e312d626c75653f7374796c653d666f722d7468652d6261646765266c6f676f3d706870)](https://camo.githubusercontent.com/eb897516964204ea2fe0b98ebd737cd5cc94f106e7bb1be933fd9eeed54daba6/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d253545382e312d626c75653f7374796c653d666f722d7468652d6261646765266c6f676f3d706870)[![Laravel](https://camo.githubusercontent.com/3076765b294d5b1fe95cd1c207a532e7408bad449b757585b40013d028d9b4a5/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d25354531322e31392d6f72616e67653f7374796c653d666f722d7468652d6261646765266c6f676f3d6c61726176656c)](https://camo.githubusercontent.com/3076765b294d5b1fe95cd1c207a532e7408bad449b757585b40013d028d9b4a5/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d25354531322e31392d6f72616e67653f7374796c653d666f722d7468652d6261646765266c6f676f3d6c61726176656c)[![License](https://camo.githubusercontent.com/153acf9dff19deb8abfc598c53bac50a4ceae0f5c83a552711060d3d78d2c057/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d677265656e3f7374796c653d666f722d7468652d6261646765)](https://camo.githubusercontent.com/153acf9dff19deb8abfc598c53bac50a4ceae0f5c83a552711060d3d78d2c057/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d677265656e3f7374796c653d666f722d7468652d6261646765)

**Package Laravel untuk data wilayah Indonesia terlengkap dan terbaru**

*Data terbaru 2025 sesuai Kepmendagri No. 300.2.2-2138 Tahun 2025, data daerah-daerah di Indonesia termasuk 38 provinsi, kabupaten/kota, kecamatan, dan desa/kelurahan*

✨ Fitur Utama
-------------

[](#-fitur-utama)

- 🗺️ **Data Lengkap**: 38 Provinsi, 514+ Kabupaten/Kota, 7000+ Kecamatan, 83000+ Desa/Kelurahan
- 🌐 **Multi-Language**: Mendukung Bahasa Indonesia (ID) dan English (EN)
- 🔍 **Pencarian Cerdas**: Fitur search yang powerful untuk semua level wilayah
- 📄 **Pagination**: Built-in pagination untuk performa optimal
- 🔗 **Relasi Eloquent**: Relationship yang lengkap antar model
- ⚙️ **Konfigurasi Fleksibel**: Customizable table prefix dan pattern
- 🚀 **Easy Setup**: Instalasi dan setup yang mudah dengan Artisan command

📦 Instalasi
-----------

[](#-instalasi)

### 1. Install via Composer

[](#1-install-via-composer)

```
composer require hitech/indonesia-laravel
```

### 2. Publish Konfigurasi dan Migration

[](#2-publish-konfigurasi-dan-migration)

```
# Publish semua file
php artisan vendor:publish --provider="Hitech\IndonesiaLaravel\Providers\IndonesiaLaravelServiceProvider"

# Atau publish secara terpisah
php artisan vendor:publish --tag=config
php artisan vendor:publish --tag=migrations
```

### 3. Jalankan Migration

[](#3-jalankan-migration)

```
php artisan migrate
```

### 4. Seed Database

[](#4-seed-database)

```
php artisan indonesia:seed
```

⚙️ Konfigurasi
--------------

[](#️-konfigurasi)

Setelah publish, edit file `config/indonesia.php`:

```
return [
    // Prefix untuk nama tabel
    'table_prefix' => 'indonesia_',

    // Pattern bahasa: 'ID' untuk Indonesia, 'EN' untuk English
    'pattern' => 'ID',

    // Enable/disable setiap modul
    'data_location' => [
        'province' => true,
        'city' => true,
        'district' => true,
        'village' => true,

        // Filter berdasarkan wilayah induk (opsional)
        'only' => [
            'type' => '', // Bisa: province, city, district, villages
            'code' => '', // Kode wilayah sesuai tipe di atas bisa lihat kodenya disini (https://kodewilayah.id)
        ],
    ],
];
```

🚀 Penggunaan
------------

[](#-penggunaan)

### Service Class (Recommended)

[](#service-class-recommended)

```
use Hitech\IndonesiaLaravel\Services\IndonesiaService;

$indonesia = new IndonesiaService();

// Pencarian di semua wilayah
$results = $indonesia->search('Jakarta')->all();

// Mendapatkan semua provinsi
$provinces = $indonesia->allProvinces();

// Pencarian provinsi dengan pagination
$provinces = $indonesia->search('Jawa')->paginateProvinces(10);

// Mendapatkan provinsi dengan relasi
$province = $indonesia->findProvince(1, ['cities', 'villages']);

// Mendapatkan kota berdasarkan provinsi
$cities = $indonesia->findCitiesByProvince(1);

// Mendapatkan kecamatan berdasarkan kota
$districts = $indonesia->findDistrictsByCity(1);

// Mendapatkan desa berdasarkan kecamatan
$villages = $indonesia->findVillagesByDistrict(1);
```

### Direct Model Usage

[](#direct-model-usage)

```
use Hitech\IndonesiaLaravel\Models\Province;
use Hitech\IndonesiaLaravel\Models\City;
use Hitech\IndonesiaLaravel\Models\District;
use Hitech\IndonesiaLaravel\Models\Village;

// Mendapatkan semua provinsi
$provinces = Province::all();

// Pencarian provinsi
$provinces = Province::search('Jawa')->get();

// Provinsi dengan kota-kotanya
$province = Province::with('cities')->find(1);

// Kota dengan kecamatan dan desa
$city = City::with('districts.villages')->find(1);
```

### Contoh Relasi

[](#contoh-relasi)

```
// Mendapatkan provinsi dari sebuah desa
$village = Village::with('district.city.province')->find(1);
$provinceName = $village->district->city->province->name;

// Mendapatkan semua desa dalam sebuah provinsi
$province = Province::with('cities.districts.villages')->find(1);
foreach ($province->cities as $city) {
    foreach ($city->districts as $district) {
        foreach ($district->villages as $village) {
            echo $village->name;
        }
    }
}
```

📊 Struktur Database
-------------------

[](#-struktur-database)

### Tabel yang Dibuat

[](#tabel-yang-dibuat)

- `indonesia_provinces` - Data provinsi
- `indonesia_cities` - Data kabupaten/kota
- `indonesia_districts` - Data kecamatan
- `indonesia_villages` - Data desa/kelurahan

### Kolom Dinamis Berdasarkan Pattern

[](#kolom-dinamis-berdasarkan-pattern)

**Pattern 'ID' (Bahasa Indonesia):**

- `kode_provinsi`, `nama_provinsi`
- `kode_kabupaten`, `nama_kabupaten`
- `kode_kecamatan`, `nama_kecamatan`
- `kode_desa`, `nama_desa`

**Pattern 'EN' (English):**

- `province_code`, `province_name`
- `city_code`, `city_name`
- `district_code`, `district_name`
- `village_code`, `village_name`

🔍 Fitur Pencarian
-----------------

[](#-fitur-pencarian)

```
$indonesia = new IndonesiaService();

// Pencarian di semua level wilayah
$results = $indonesia->search('Bandung')->all();

// Pencarian spesifik per level
$provinces = $indonesia->search('Jawa')->allProvinces();
$cities = $indonesia->search('Jakarta')->allCities();
$districts = $indonesia->search('Kemang')->allDistricts();
$villages = $indonesia->search('Cipete')->allVillages();
```

📄 Pagination
------------

[](#-pagination)

```
$indonesia = new IndonesiaService();

// Pagination dengan pencarian
$provinces = $indonesia->search('Jawa')->paginateProvinces(15);
$cities = $indonesia->search('Jakarta')->paginateCities(20);
$districts = $indonesia->paginateDistricts(25);
$villages = $indonesia->paginateVillages(30);
```

🛠️ Artisan Commands
-------------------

[](#️-artisan-commands)

```
# Seed database dengan data Indonesia
php artisan indonesia:seed

# Publish konfigurasi
php artisan vendor:publish --tag=config

# Publish migrations
php artisan vendor:publish --tag=migrations
```

✅ Menjalankan Test
------------------

[](#-menjalankan-test)

Package ini menggunakan **PHPUnit** bersama **Orchestra Testbench** agar bisa diuji seperti dalam konteks aplikasi Laravel.

### Siapkan konfigurasi test di `phpunit.xml`

[](#siapkan-konfigurasi-test-di-phpunitxml)

```

```

### Jalankan test dengan PHPUnit

[](#jalankan-test-dengan-phpunit)

```
vendor/bin/phpunit
```

Atau jika sudah install global PHPUnit:

```
phpunit
```

📋 Requirements
--------------

[](#-requirements)

- PHP ^8.1
- Laravel ^12.19
- Illuminate Support ^12.19
- Illuminate Console ^12.19
- Illuminate Database ^12.19

🤝 Contributing
--------------

[](#-contributing)

Kontribusi sangat diterima! Silakan:

1. Fork repository ini
2. Buat branch fitur baru (`git checkout -b feature/amazing-feature`)
3. Commit perubahan (`git commit -m 'Add amazing feature'`)
4. Push ke branch (`git push origin feature/amazing-feature`)
5. Buat Pull Request

📝 License
---------

[](#-license)

Project ini menggunakan [MIT License](LICENSE).

👨‍💻 Author
----------

[](#‍-author)

**dhank77**

- Email:

**SyahrulBhudiF**

- Github:

---

📌 **Sumber Data**
-----------------

[](#-sumber-data)

- **Wilayah**
    - Data wilayah Indonesia 2025 berasal dari [Yonatan Yusak Lestari](https://github.com/yonatanyl) bisa lihat di [repo ini](https://github.com/yonatanyl/KODE-WILAYAH-KEPMENDAGRI-2025) yang bersumber langsung dari Kepmendagri 2025.
    - Data wilayah Indonesia sebelumnya (&lt; 2025) berasal dari github/api yang saya sudah lupa untuk cantumkan jika merasa itu data anda dengan senang hati kontak saya di [linkedin](https://www.linkedin.com/in/m-hamdani-ilham-latjoro/) atau [email](mailto:d41113512@gmail.com) ataupun buat issue di repo ini.
- **Kode Pos**
    - Kodepos.sql datanya dari [w3appdev](https://github.com/w3appdev) bisa lihat di [repo ini](https://github.com/w3appdev/kodepos), dengan sumber utama dari [nomor.net](https://nomor.net).

---

🙏 Acknowledgments
-----------------

[](#-acknowledgments)

- Laravel Community
- Semua kontributor yang telah membantu

---

**Dibuat dengan ❤️ untuk Indonesia**

[⭐ Star this repo](https://github.com/hitech/indonesia-laravel) | [🐛 Report Bug](https://github.com/hitech/indonesia-laravel/issues) | [💡 Request Feature](https://github.com/hitech/indonesia-laravel/issues)

###  Health Score

41

—

FairBetter than 89% of packages

Maintenance55

Moderate activity, may be stable

Popularity35

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 80.8% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~3 days

Total

9

Last Release

304d ago

PHP version history (2 changes)v1.0.0PHP ^8.1

v1.0.3PHP &gt;=8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/d5596d9388521953b63f36b1092e5b5ee61609c4a198a6271efbdd89ee97dbf6?d=identicon)[dhank77](/maintainers/dhank77)

---

Top Contributors

[![dhank77](https://avatars.githubusercontent.com/u/24799686?v=4)](https://github.com/dhank77 "dhank77 (21 commits)")[![SyahrulBhudiF](https://avatars.githubusercontent.com/u/113455742?v=4)](https://github.com/SyahrulBhudiF "SyahrulBhudiF (5 commits)")

---

Tags

indonesian-regions-databaselaravel

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/hitech-indonesia-laravel/health.svg)

```
[![Health](https://phpackages.com/badges/hitech-indonesia-laravel/health.svg)](https://phpackages.com/packages/hitech-indonesia-laravel)
```

###  Alternatives

[barryvdh/laravel-ide-helper

Laravel IDE Helper, generates correct PHPDocs for all Facade classes, to improve auto-completion.

14.9k123.0M687](/packages/barryvdh-laravel-ide-helper)[orchestra/canvas

Code Generators for Laravel Applications and Packages

21017.2M158](/packages/orchestra-canvas)[fumeapp/modeltyper

Generate TypeScript interfaces from Laravel Models

196277.9k](/packages/fumeapp-modeltyper)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

255.2k](/packages/aedart-athenaeum)[flarum/core

Delightfully simple forum software.

211.3M1.9k](/packages/flarum-core)[zonneplan/laravel-module-loader

Module loader for Laravel

24118.4k](/packages/zonneplan-laravel-module-loader)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
