{
"api": {
"name": "API KBBI 2024",
"source": "https://kbbi.kemdikbud.go.id",
"method": "HTML Parsing"
},
"technology": {
"lang": "PHP 8.3.8",
"framework": "CodeIgniter 4.3.8",
"library": [
"CURL",
"DOMDocument",
"DOMXPath"
]
},
"author": {
"name": "Kang Cahya",
"blog": "https://kang-cahya.com",
"github": "https://github.com/dyazincahya"
}
}
https://x-labs.my.id/api/kbbi/search/<PARAM>
https://x-labs.my.id/api/kbbi?search=<PARAM>
- PHP 8.3.8
- Codeigniter 4.3.8 atau lebih baru
- CURL
- DOMDocument
- DOMXPath
- Salin atau unduh kode model (Model) dengan nama KBBIModel.php
- Salin atau unduh kode kontroler (Controller) dengan nama ApiKBBI.php
- Tambahkan baris router berikut pada file
\app\Config\Routes.php
// KBBI Router : \Config\Routes.php
$routes->get('/api/kbbi', 'ApiKBBI::index');
$routes->get('/api/kbbi/search/(:any)', 'ApiKBBI::search/$1');
- /api/kbbi
- /api/kbbi?search=
KATA_KUNCI
- /api/kbbi/search/
KATA_KUNCI
{
"success": true,
"status": 200,
"message": "Results found.",
"data": [
{
"lema": "ba.gai.ma.na bentuk tidak baku: begimana, gimana",
"arti": [
{
"deskripsi": "pron kata tanya untuk menanyakan cara, perbuatan (lazimnya diikuti kata cara): -- caranya membeli buku dari luar negeri?"
},
{
"deskripsi": "pron kata tanya untuk menanyakan akibat suatu tindakan: -- kalau dia lari nanti?"
},
{
"deskripsi": "pron kata tanya untuk meminta pendapat dari kawan bicara (diikuti kata kalau): -- kalau kita pergi ke Puncak?"
},
{
"deskripsi": "pron kata tanya untuk menanyakan penilaian atas suatu gagasan: -- pendapatmu?"
}
],
"tesaurusLink": "http://tesaurus.kemdikbud.go.id/tematis/lema/bagaimana"
}
]
}
{
"success": true,
"status": 200,
"message": "Results found.",
"data": [
{
"lema": "babi » bagai babi kelaparan",
"arti": [
{
"deskripsi": "mengamuk dan bertindak tanpa perhitungan"
}
],
"tesaurusLink": "http://tesaurus.kemdikbud.go.id/tematis/lema/bagai babi kelaparan"
}
]
}
Anda dapat melalukan beberapa optimasi pada server hosting agar API ini dapat berjalan dengan lebih optimal. diantaranya sebagai berikut:
memory_limit
: Ubah ke nilai yang lebih besar, misalnya 256M atau 512M.max_execution_time
: Atur ke nilai yang lebih tinggi, misalnya 120 detik atau lebih, sesuai kebutuhan.- Aktifkan
OPcache
, pastikan versi PHP yang Anda gunakan mendukung OPcache (biasanya versi 7.0 ke atas) - Aktifkan ekstensi PHP
dom
atausimplexml
Apabila tidak ingin menggunakan API, Anda juga dapat mengimpor data kata dan peribahasa ke dalam basis data pribadi. Anda dapat mengunduh basis datanya di sini: KBBI-SQL-Database. Tersedia untuk MySQL, SQLite dan PostgreSQL. Juga tersedia untuk format data CSV, JSON, Markdown, PHP Array, XML, DbUnit, HTML