PHPackages                             dimasahmad/dapodik-sdk - 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. dimasahmad/dapodik-sdk

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

dimasahmad/dapodik-sdk
======================

Unofficial Dapodik SDK

v0.1.0-alpha(6y ago)4147MITPHPPHP ^7.4

Since Apr 6Pushed 4y ago1 watchersCompare

[ Source](https://github.com/dimasahmad/dapodik-sdk)[ Packagist](https://packagist.org/packages/dimasahmad/dapodik-sdk)[ Docs](https://github.com/dimasahmad/dapodik-sdk)[ RSS](/packages/dimasahmad-dapodik-sdk/feed)WikiDiscussions master Synced today

READMEChangelog (1)Dependencies (1)Versions (2)Used By (0)

Dapodik SDK
===========

[](#dapodik-sdk)

**⚰️ DEPRECATED**Project ini telah dihentikan dan tidak akan mendapatkan support dan update apapun di kemudian hari.

***Unofficial*** Dapodik SDK untuk mengakses API yang tersedia dalam aplikasi Dapodik.

Developer dapat mengakses secara langsung API Dapodik menggunakan client HTTP dan JSON jika mereka menginginkannya. Jika Anda ingin langsung mengakses data API Dapodik, SDK ini memberikan Anda beberapa kemudahan:

- *Less code*: Anda tidak perlu dipusingkan dengan *HTTP logic* untuk memulai
- SDK ini menyediakan kumpulan object yang dapat Anda gunakan untuk mengakses data tanpa perlu bekerja langsung dengan JSON, dan dengan penamaan yang lebih *predictable* serta konsisten
- Lapisan tambahan penanganan *error*, tipe data yang lebih ketat, dan *default values* cerdas untuk membatu *debugging* aplikasi Anda

Semua model yang tersedia dibuat berdasarkan hasil analisis manual data Dapodik sebuah sekolah negeri. *(Semoga pengembang aplikasi Dapodik dapat menerbitkan dokumentasi atau bahkan spesifikasi OpenAPI atau standar metadata API lainnya agar akses API menjadi lebih mudah bagi developer serta semua model dapat digenerate secara otomatis.)*

Terdapat dua *endpoint* yang tersedia dalam SDK ini:

1. WebService
2. REST  (baru tersedia otentikasinya saja, model belum dibuat)

***Library* ini masih dalam pengembangan ekstensif dan akan menghadirkan *breaking changes* pada versi-versi berikutnya.**

Installation
------------

[](#installation)

Library ini dapat dipasang menggunakan Composer:

```
composer require dimasahmad/dapodik-sdk
```

PHP &gt;=7.4 harus terpasang untuk menjalankan library ini. Tidak ada rencana untuk mendukung versi sebelumnya.

Memulai
-------

[](#memulai)

### WebService Endpoint

[](#webservice-endpoint)

Sebelum Anda dapat mengakses *endpoint* WebService, Anda harus mendaftarkan aplikasi Anda melalui halaman Pengaturan -&gt; WebService di dalam aplikasi Dapodik sekolah Anda. Pastikan setting IP sesuai dengan komputer yang akan melakukan koneksi dengan server Dapodik.

```
$dapodik = new \DimasAhmad\Dapodik\SDK\Auth\WebService();
$dapodik->setAccessToken("accessToken"); // Token yang didapatkan saat registrasi aplikasi
$dapodik->setNpsn("12345678"); // NPSN server Dapodik yang akan diakses

$sekolah = new \DimasAhmad\Dapodik\SDK\Model\WebService\Sekolah($dapodik);

echo $sekolah->getNama();
```

### Rest Endpoint

[](#rest-endpoint)

Gunakan akun operator sebagai parameter otentikasi.

```
$dapodik = new \DimasAhmad\Dapodik\SDK\Auth\Rest();
$dapodik->setUsername("user@example.com");
$dapodik->setPassword("password");

$dapodik->login();
```

Implementasi model untuk *Rest Endpoint* masih dalam proses pengembangan (analisis manual memakan waktu dan usaha yang sangat besar 😩).

Anda dapat melakukan request menggunakan *method* yang tersedia melalui Rest-&gt;client-&gt;request($method, $uri), dan proses sendiri response JSON yang didapatkan.

```
$response = $dapodik->client->request("GET", "/rest/Sekolah");
$sekolah = json_decode($response->getBody()->__toString())->rows[0];

echo $sekolah->nama;
```

Pengembangan
------------

[](#pengembangan)

### Debugging

[](#debugging)

Anda dapat menggunakan library ini dengan *proxy* seperti [Fiddler](http://www.telerik.com/fiddler) atau [Charles Proxy](https://www.charlesproxy.com/) untuk *debugging request* dan *response* ketika mereka melewati jaringan. Gunakan `setProxyPort` pada objek Auth seperti berikut:

```
$dapodik->setProxyPort("localhost:8888");
```

Kemudian buka *client* *proxy* Anda untuk melihat *request* dan *response* yang dikirim menggunakan *library* ini.

[![Screenshot of Fiddler /WebService/getPesertaDidik](https://github.com/dimasahmad/dapodik-sdk/raw/master/docs/images/fiddler.png)](https://github.com/dimasahmad/dapodik-sdk/blob/master/docs/images/fiddler.png)

Ini akan sangat membantu ketika *library* ini tidak memberikan hasil yang Anda harapkan untuk menentukan apakah terdapat *bug* pada API atau SDK ini. Oleh karena itu, Anda mungkin diminta untuk memberikan informasi ini ketika mencoba melakukan triase masalah yang Anda ajukan.

### Tests

[](#tests)

*Unit testing* belum diterapkan, namun akan menjadi prioritas tinggi dalam *milestone* pengembangan versi selanjutnya.

Selain *unit testing*, *functional testing* juga akan dibuat.

Dokumentasi
-----------

[](#dokumentasi)

- [Wiki](https://github.com/dimasahmad/dapodik-sdk/wiki)
- [Examples](https://github.com/dimasahmad/dapodik-sdk/wiki/Examples)

TODO
----

[](#todo)

- WebService Endpoint (/WebService)
    - Otentikasi menggunakan *bearer token*
    - Pemetaan model dengan setiap *property*
        - /getSekolah
        - /getGtk
        - /getPesertaDidik
        - /getPengguna
        - /getRombonganBelajar
- Rest Endpoint (/rest)
    - Otentikasi menggunakan form login dan cookies
    - Pemetaan model untuk setiap *API call*
- Model Enum untuk data referensi (mis: jenis kelamin, agama, status sekolah, mata pelajaran, dsb.) agar aplikasi mengetahui kumpulan nilai data yang tersedia pada sebuah property
- Dokumentasi untuk setiap method yang tersedia
- Unit testing
- Functional testing
- Continuous integration
- Implementasi *proxy* untuk memudahkan *debug request* dan *response* menggunakan aplikasi *HTTP debugging* seperti Fiddler atau Charles Proxy

Kontribusi
----------

[](#kontribusi)

Saya menerima kontribusi untuk library ini. [CONTRIBUTING.md](CONTRIBUTING.md) akan membantu sebelum Anda mulai berkontribusi.

Lisensi
-------

[](#lisensi)

Copyright (c) 2020 Dimas Ahmad Eka Putra. All Rights Reserved.

Library ini menggunakan lisensi MIT. Lihat file [LICENCE](LICENSE) untuk detail lebih lanjut.

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity42

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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

Unknown

Total

1

Last Release

2226d ago

### Community

Maintainers

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

---

Top Contributors

[![putradimas](https://avatars.githubusercontent.com/u/7010096?v=4)](https://github.com/putradimas "putradimas (2 commits)")

### Embed Badge

![Health badge](/badges/dimasahmad-dapodik-sdk/health.svg)

```
[![Health](https://phpackages.com/badges/dimasahmad-dapodik-sdk/health.svg)](https://phpackages.com/packages/dimasahmad-dapodik-sdk)
```

###  Alternatives

[shlinkio/shlink

A self-hosted and PHP-based URL shortener application with CLI and REST interfaces

4.8k4.3k](/packages/shlinkio-shlink)[ralphjsmit/laravel-helpers

A package containing handy helpers for your Laravel-application.

13704.6k2](/packages/ralphjsmit-laravel-helpers)[dhlparcel/magento2-plugin

DHL Parcel plugin for Magento 2

11180.5k2](/packages/dhlparcel-magento2-plugin)[aedart/athenaeum

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

255.2k](/packages/aedart-athenaeum)

PHPackages © 2026

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