Kamus KBBI VI adalah kamus Bahasa Indonesia gratis tanpa iklan yang saya desain, bangun, rilis, dan terus pelihara secara independen. Aplikasi ini menggabungkan interface React Native modern dengan data pipeline yang saya bangun dari nol untuk menyajikan entri lebih kaya, termasuk definisi, contoh penggunaan, kata turunan, dan peribahasa.
![]()
Kenapa Saya Membuatnya
Aplikasi kamus resmi dapat digunakan, tetapi interface-nya terasa lama dan belum menyajikan detail yang saya harapkan dari sebuah referensi bahasa. Context penting seperti contoh dan peribahasa sulit ditemukan atau tidak hadir dalam pengalaman utamanya.
Saya melihat keterbatasan tersebut sebagai masalah produk sekaligus engineering. Interface yang lebih baik saja belum cukup; saya perlu lebih dahulu membangun dataset lengkap dan queryable untuk mendukungnya.
Peran Saya
Ini adalah solo hobby project. Saya memegang product direction, UI design, implementasi mobile, data acquisition pipeline, search behavior, optimasi Android, rilis Play Store, dan ongoing maintenance. Saya juga memilih menjaga aplikasi tetap gratis, tanpa iklan maupun analytics SDK.
Membangun Dataset dari A sampai Z
Bagian tersulit dikerjakan sebelum mobile interface dapat mencari apa pun. Saya lebih dahulu menyusun daftar kosakata Bahasa Indonesia secara alfabetis dari A sampai Z. Setelah itu, saya membangun automasi Python untuk meminta dan mem-parse halaman detail setiap kata dari website KBBI resmi.
Pipeline mengubah setiap entri menjadi structured JSON dan mengelompokkan output berdasarkan huruf awal serta kata. Pendekatan ini mempertahankan field yang lebih kaya seperti makna, contoh penggunaan, kata turunan, kategori, dan peribahasa, bukan mengurangi entri menjadi satu definisi saja.
Corpus hasil generasi dipublikasikan dalam repository KBBI Harvester CDN yang open-source. Konten kamus tetap diatribusikan kepada otoritas Bahasa Indonesia; aplikasi dan pipeline ini merupakan interface independen serta tidak resmi terhadap sumber tersebut.
Lightweight Data Delivery
Alih-alih menanam seluruh corpus ke setiap rilis aplikasi, masing-masing entri JSON dikirim melalui jsDelivr dari dataset GitHub publik. Word list mendukung discovery, sedangkan detail entri hanya diambil setelah pengguna memilih kata.
Pemisahan ini menjaga ukuran application package tetap lebih kecil dan memungkinkan open corpus berkembang secara independen dari mobile binary. Trade-off-nya jelas: pencarian detail membutuhkan koneksi jaringan untuk mencapai CDN.
Pengalaman Pencarian
Aplikasi menggabungkan filter langsung dengan fuzzy matching. Hasil exact dan menyerupai prefix tetap mudah ditemukan, sedangkan approximate matching membantu pengguna ketika ejaannya belum lengkap atau sedikit keliru.
Saya sengaja menjaga search behavior tetap sederhana dan predictable. Alih-alih menggunakan angka performa yang tidak terukur, desainnya berfokus pada pengurangan candidate set secara cepat dan hanya memuat JSON detail milik kata yang dipilih.
Arsitektur dan Optimasi Mobile
Client dibangun menggunakan React Native CLI dan TypeScript. Hermes digunakan sebagai JavaScript runtime. Pada Android, ProGuard dan R8 menghapus unused code dan mengoptimalkan release build untuk mengurangi ukuran aplikasi.
Project tidak menggunakan advertising atau analytics SDK. Search terms dan history tidak disimpan secara lokal. Network traffic terbatas pada pengambilan data kamus publik yang dibutuhkan untuk pengalaman lookup.
Tanggung Jawab Teknologi
| Teknologi | Fungsi |
|---|---|
| Python | Mengotomatisasi word discovery dari A sampai Z, melakukan scraping setiap halaman detail KBBI resmi, parsing konten, dan menghasilkan structured JSON. |
| KBBI Harvester CDN | Menyimpan open corpus hasil generasi secara terpisah dari mobile client, dikelompokkan berdasarkan huruf awal dan kata. |
| jsDelivr | Mengirim setiap file JSON kamus dari corpus GitHub publik tanpa membutuhkan custom backend. |
| Fuzzy matching | Menemukan kandidat terdekat ketika query belum lengkap atau sedikit salah eja, sambil mempertahankan exact filtering yang sederhana. |
| React Native CLI | Menjadi native Android application foundation untuk pencarian, discovery, dan tampilan detail kamus. |
| TypeScript | Memberikan type safety pada UI components, search behavior, dan struktur data kamus. |
| Hermes | Menjadi JavaScript runtime untuk Android client. |
| ProGuard dan R8 | Menghapus unused code dan mengoptimalkan Android release binary agar ukuran aplikasi lebih kecil. |
Open Source dan Maintenance
Source mobile tersedia di repository aplikasi KBBI, sementara corpus kamus hasil generasi berada secara terpisah di repository harvester. Pemisahan tanggung jawab client dan data menjaga kedua project lebih mudah diperiksa serta dipelihara.
Aplikasi diluncurkan pada 11 Desember 2022 dan masih aktif dipelihara.
Impact
Google Play mencatat lebih dari 10.000 download. Pengguna juga menyampaikan bahwa aplikasi membantu mereka mengakses informasi kata Bahasa Indonesia yang lebih kaya melalui pengalaman yang lebih bersih.
Kenapa Ini Penting
Kamus KBBI VI mewakili lebih dari sebuah mobile UI. Saya membangun data acquisition pipeline, menyusun dan mendistribusikan corpus, merancang fuzzy discovery, mengoptimalkan Android binary, serta mengoperasikan produk hasilnya selama beberapa tahun.