π Apa itu FACTA?
FACTA adalah singkatan dari Finding Association in Collection of Text Al-Quran β sebuah aplikasi baca & kaji Al-Quran yang, selain fungsi baca/terjemah/tafsir/audio standar, punya satu fitur inti yang membedakannya: menelusuri hubungan antar-kata dasar (root Arab) di seluruh 6.236 ayat Al-Quran.
Ide inti FACTA bukan hal baru β berakar dari tugas akhir di Jurusan Teknik Informatika (IF), Institut Teknologi Bandung (ITB), diselesaikan sekitar tahun 2004 oleh Hendi Wibowo (NIM 13599039). Versi awal itu ditulis dengan Java (J2SE), antarmuka dibangun dengan JBuilder, model bahasanya sederhana disimpan lewat binary serialization dari sebuah matrix of BitSet, dan korpus teksnya berupa file teks biasa. Yang kamu pakai sekarang adalah hasil rekayasa ulang penuh β arsitektur dan struktur data disesuaikan untuk masa kini, dibangun dengan bantuan AI β tapi dengan sengaja tetap mempertahankan logika, algoritma pencarian, dan visi produk yang sama dari versi 2004 tersebut.
Filosofinya: setiap kata dalam Bahasa Arab Al-Quran berasal dari sebuah akar kata (root) 2-4 huruf. Kata-kata yang berbeda bentuk tapi berbagi akar yang sama biasanya berbagi makna dasar yang sama pula. FACTA membangun graf hubungan "kata dasar mana muncul bersama kata dasar mana, di ayat mana" dari seluruh Al-Quran, lalu menyediakan alat untuk menelusuri graf itu secara interaktif β baik untuk mencari ayat berdasarkan kombinasi makna, maupun untuk sekadar memahami satu kata lebih dalam lewat kata-kata dasar terkait, sinonim, dan antonimnya.
Panduan ini menjelaskan setiap fitur langkah demi langkah, DAN β di bagian akhir β menjelaskan bagaimana semua ini dibangun: dari mana data berasal, bagaimana ia dikurasi, dan algoritma apa yang bekerja di baliknya. Bagian yang lebih teknis ditandai dengan panel "π§ Detail Teknis" yang bisa dibuka kalau kamu penasaran, dan dilipat kalau tidak.
βοΈ Filosofi & Disclaimer
Nama FACTA punya lapisan makna kedua, di luar kepanjangan teknisnya di atas: ia sengaja berakar dari kata "fact" (fakta) β bukan kebetulan.
Kata fact berasal dari bahasa Latin factum ("sesuatu yang telah dilakukan/dikerjakan"), dari kata kerja facere (membuat/melakukan), masuk ke Bahasa Inggris sekitar abad ke-16 dengan arti "kejadian atau kenyataan". Sifatnya empiris, objektif, dan netral β berdasarkan bukti fisik, data yang bisa dilihat, atau kejadian nyata yang terukur. Contoh: "air mendidih pada suhu 100Β°C".
Ini berbeda dari Al-Haq (Ψ§ΩΨΩ) β konsep kebenaran dalam Islam yang sifatnya mutlak, moral, dan ketuhanan, bersumber dari wahyu, keadilan universal, dan hakikat penciptaan. Al-Haq adalah salah satu sifat Allah (Maha Benar), mencakup kebenaran mutlak, keadilan, dan tujuan hidup yang hakiki. Contoh: "kematian adalah sebuah al-haq" β kebenaran mutlak yang pasti terjadi.
FACTA sengaja dinamakan dengan akar kata fact, karena yang dilakukan aplikasi ini murni analisis empiris berbasis teks: menghitung kemunculan kata dasar, memetakan asosiasi, dan menyajikan pola statistik dari korpus Al-Quran. Ini adalah pendekatan berbeda β dan lebih sempit β dari Al-Haq, yang hanya bersumber dari Allah ο·» (wallahu a'lam, dan Allah yang lebih tahu).
β οΈ Disclaimer: Output FACTA (asosiasi kata, insight AI, statistik kemunculan) adalah hasil analisis empiris/statistik semata, bukan tafsir, fatwa, atau kebenaran agama. Ia tidak menggantikan kebenaran yang diyakini umat Islam, dan tidak boleh dijadikan rujukan tunggal untuk keputusan keagamaan. Untuk pemahaman tafsir yang sahih, selalu rujuk ulama dan kitab tafsir yang diakui.
π Bahasa & Tema
FACTA punya lima bahasa antarmuka: Arab, Inggris, Indonesia, Sunda, dan Jawa. Ganti lewat dropdown di toolbar atau di Pengaturan β Bahasa. Perubahan ini langsung memengaruhi seluruh menu/label/tombol di aplikasi.
Ini terpisah dari "Bahasa Terjemahan" (hanya Inggris/Indonesia tersedia) β itu mengatur bahasa teks terjemahan ayat yang ditampilkan saat membaca, bukan bahasa menu. Lihat bagian Hubungan Pengaturan & Menu untuk penjelasan lengkap kenapa keduanya dipisah dan bagaimana keduanya saling memengaruhi tampilan.
Tema terang/gelap bisa diganti lewat ikon π/βοΈ di toolbar atau toggle di Pengaturan β Tampilan β pengaturan ini tersimpan di perangkatmu (cookie), jadi tetap sama di kunjungan berikutnya.
π Mode Jelajah: Surat & Juz
Langkah membaca sebuah surat:
- Dari Beranda, klik salah satu dari 114 kartu surat (atau gunakan menu Juz di sidebar untuk memilih dari 30 juz).
- Halaman surat menampilkan nama Arab, transliterasi, nama terjemahan, jenis (Makkiyah/Madaniyah), jumlah ayat, dan nomor juz.
- Tiap ayat menampilkan (sesuai pengaturan tampilanmu): teks Arab, terjemahan, dan β kalau ayat itu punya kata beraksara tebal yang bisa diklik β chip kata dasar kecil di bawahnya (lihat bagian Info Kata).
- Klik kata Arab mana pun dalam teks ayat untuk membuka popup Info Kata.
Ada juga mode tampilan per-kata (word-by-word) di halaman surat β beralih ke tampilan ini menampilkan tiap kata Arab berikut terjemahannya satu per satu secara berurutan, cocok untuk belajar kosakata sambil membaca.
π Mode Tampilan Bacaan
Ada tiga lapisan pengaturan tampilan bacaan yang independen satu sama lain (semuanya di Pengaturan β Tampilan Bacaan):
- Reading Mode: Penuh vs Halaman β "Penuh" menampilkan semua ayat satu surat sekaligus (scroll panjang); "Halaman" membaginya 20 ayat per halaman dengan navigasi berikutnya/sebelumnya.
- Browse Mode: Slider vs List β mengatur tampilan grid 114 kartu surat/30 kartu juz di halaman Jelajah/Juz: "Slider" = kartu bergeser per halaman dengan panah & titik navigasi; "List" = daftar polos yang di-scroll biasa.
- π Mode Buku β tombol terpisah di halaman surat (bukan cookie reading-mode di atas) yang membuka tampilan seperti buku digital: satu "halaman" berisi sejumlah ayat yang bisa diatur (Auto = sebanyak muat di layar, atau tetap 1/3/5/10 ayat), dengan navigasi flip halaman.
Toggle terpisah untuk menyembunyikan/menampilkan teks Arab, terjemahan, dan warna tajwid juga ada di grup pengaturan yang sama, independen dari tiga mode di atas.
π Audio Murottal & Tafsir
Setiap ayat punya tombol βΆοΈ Play Audio untuk memutar bacaan (murottal). Ada dua qari yang bisa dipilih di Pengaturan β Audio: Mishari Rashid Alafasy dan Abdul Basit Murattal; file audio diambil langsung dari sumber pihak ketiga (everyayah.com), bukan disimpan di server aplikasi.
Tombol π Tafsir membuka penjelasan tafsir untuk ayat itu, kalau tersedia. Catatan jujur: basis data tafsir saat ini masih berupa contoh terbatas (bukan tafsir lengkap 6.236 ayat) β bertambah seiring waktu, bukan dataset final.
π Pencarian Teks
Mode pencarian paling dasar: ketik kata/frasa di kotak pencarian, pilih bahasa yang ingin dicari (Arab dan/atau Indonesia dan/atau Inggris β bisa lebih dari satu sekaligus), lalu tekan Cari. Hasilnya adalah daftar ayat yang teks Arab atau terjemahannya mengandung kata itu, dengan kata yang cocok disorot (highlight kuning/hijau).
Pencarian ini literal berbasis kata (full-text search), bukan pencarian akar kata β mengetik "rezeki" hanya menemukan ayat yang benar-benar memuat kata "rezeki" (atau bentuk dekatnya lewat stemmer ringan untuk ID/EN), bukan seluruh kata turunan akar Ψ±-Ψ²-Ω. Untuk itu, pakai Pencarian Kata Dasar.
π± Pencarian Kata Dasar (Root)
Mode ini menemukan semua bentuk turunan dari sebuah akar Arab 2-4 huruf, di seluruh Al-Quran β bukan cuma satu bentuk kata persis. Cara pakai:
- Buka tab Cari Kata Dasar, lalu ketik akar Arab-nya (mis. Ψ±Ψ²Ω) β kamu bisa pakai keyboard hijaiyah bawaan aplikasi kalau tidak punya keyboard Arab.
- Atau, dari popup Info Kata mana pun, klik tombol π€ Cari Kata Dasar untuk langsung mencari akar kata yang sedang dilihat.
- Hasilnya: semua ayat yang memuat kata berbasis akar itu, dalam bentuk apa pun (kata dasar, jamak, kata kerja lampau/sekarang, dst).
Ini tidak memakai tabel data yang sudah dihitung sebelumnya β pencocokan dilakukan langsung saat itu juga (runtime) lewat pendekatan morfologi ringan. Lihat panel Detail Teknis untuk cara kerjanya.
π§ Detail Teknis
Pencocokan akar-ke-kata pakai pendekatan light stemmer (mirip semangat ISRI/Khoja stemmer untuk Arab), tiga langkah:
- Normalisasi β hapus tanda diakritik (harakat), samakan variasi hamzah (Ψ£ Ψ₯ Ψ’ Ω± β Ψ§), dan Ψ© β Ω.
- Lucuti imbuhan (klitik) β coba lepas kombinasi awalan (Ψ§ΩΨ ΩΨ ΩΨ Ψ¨Ψ ΩΨ Ω...) dan akhiran (ΩΩΨ ΩΩΨ Ψ§ΨͺΨ ΩΩ Ψ ΩΨ§...) dari kata secara iteratif. Karena imbuhan pendek seperti "Ω" bisa ambigu (bagian akar atau imbuhan?), semua kemungkinan residu disimpan sebagai kandidat β bukan cuma satu tebakan "terbaik".
- Cocokkan sebagai subsequence β untuk tiap kandidat residu, cek apakah huruf-huruf akar muncul berurutan di dalamnya (boleh ada huruf sisipan di antaranya, tidak harus berdampingan). Ini penting karena pola pembentukan kata Arab menyisipkan huruf tambahan (Ψ§ Ω Ω Ψͺ Ω Ω Ψ³) di antara huruf akar β misalnya "Ω ΩΨͺΩΨ¨" (Ω -Ω-Ψͺ-Ω-Ψ¨) tetap cocok dengan akar Ω-Ψͺ-Ψ¨ karena ΩΨ ΨͺΨ Ψ¨ muncul berurutan meski disisipi Ω dan Ω.
Ini pendekatan heuristik, bukan analisis morfologi yang diverifikasi ahli bahasa β bisa saja ada kata yang secara kebetulan cocok pola tapi sebenarnya bukan turunan akar itu (positif palsu), atau sebaliknya. Pencarian ini juga dipakai untuk kata dasar Bahasa Indonesia/Inggris dengan stemmer yang jauh lebih sederhana (pencocokan awalan/akhiran umum).
π€ Info Kata
Klik kata Arab mana pun yang bergaris bawah/disorot dalam teks ayat untuk membuka popup Info Kata. Popup ini punya beberapa bagian yang bisa dibuka/ditutup (accordion):
- Kata Turunan β bentuk-bentuk kata lain di Al-Quran yang berasal dari akar yang sama, tiap chip bisa diklik untuk mencari bentuk kata itu persis.
- Sinonim & Antonim β akar kata lain yang maknanya mirip atau berlawanan, hasil kurasi manual (lihat bagian Sinonim & Antonim di bawah untuk metodologinya).
- Kata Terkait β akar-akar lain yang berhubungan secara tematik tapi bukan sinonim/antonim ketat.
- Muncul Bersama β fitur paling dalam, dijelaskan di bagian tersendiri berikut ini.
Kalau satu kata bisa berasal dari lebih dari satu akar yang masuk akal (ambigu), popup hanya menampilkan akar yang paling relevan (bukan menumpuk semua kemungkinan) β dipilih lewat skor kecocokan, diprioritaskan akar hasil kurasi manual di atas hasil impor otomatis, lalu frekuensi kemunculan.
π³ "Muncul Bersama" (Kemunculan Bersama)
Ini fitur paling khas FACTA. Konsepnya: untuk sebuah akar kata (mis. Ψ±Ψ²Ω β "rezeki"), tampilkan semua akar kata lain yang pernah muncul di ayat yang sama, beserta berapa kali. Dari situ kamu bisa drill-down β pilih salah satu akar hasil, dan sistem mencari akar-akar lain yang muncul bersama KEDUA akar itu sekaligus (bukan cuma yang pertama), dan seterusnya, makin dalam makin spesifik.
Dua tampilan, bisa ditukar lewat tombol π/π³:
- π Breadcrumb β jejak akar yang sedang ditelusuri di atas, hasil level saat ini sebagai kartu (chip) di bawahnya. Klik jejak breadcrumb untuk mundur ke level sebelumnya.
- π³ Tree β gaya folder/explorer: tiap baris satu akar, klik untuk expand ke anak-anaknya (menjorok ke bawah), klik baris yang sudah terbuka untuk menutupnya kembali. Terjemahan tiap akar tampil langsung di baris (bukan cuma lewat hover).
Di kedua tampilan ada kotak pencarian untuk memfilter cepat akar di level saat ini (ketik Arab atau terjemahan), dan tombol βΆ untuk membuka panel ini di jendela yang lebih besar (berguna kalau daftarnya panjang atau terjemahannya panjang dan ingin dibaca utuh tanpa terpotong) β jendela besar ini tetap tersinkron dengan kartu kecil, drill-down di salah satunya langsung terlihat di yang lain.
Di setiap level ada tombol π Tampilkan Ayat β membuka hasil pencarian berisi SEMUA ayat yang memuat kombinasi akar-akar yang sedang dipilih (dengan setiap kata yang cocok disorot presisi, bukan seluruh akar), dan opsi "Hanya kombinasi ini" untuk mempersempit ke ayat yang PERSIS memuat kombinasi itu saja (tidak ada akar tambahan lain dari daftar yang sedang ditelusuri).
π Pencarian AND (Kombinasi)
Cara pintas kalau kamu sudah tahu kombinasi konsep yang dicari (mis. ayat yang membahas "melahirkan" DAN "hari") tanpa harus drill-down manual lewat Muncul Bersama:
- Buka tab π Cari AND.
- Ketik kata pertama (bahasa apa pun yang didukung) β dropdown menampilkan akar-akar Arab yang cocok beserta artinya, karena satu kata bisa berarti beberapa akar berbeda (mis. "lahir" bisa berarti "tampak/nyata" ATAU "melahirkan" β dua akar berbeda).
- Pilih akar yang dimaksud β jadi chip di area builder.
- Ulangi untuk kata kedua, ketiga, dst.
- Tekan Cari β hasilnya ayat yang memuat SEMUA akar dalam kombinasi itu sekaligus.
Kalau kamu mengetik kata di kotak pencarian teks biasa dan kata itu ternyata cocok dengan β₯2 akar berbeda, aplikasi otomatis menyarankan chip-chip disambiguasi di atas hasil pencarian β klik salah satu langsung membuka builder AND dengan akar itu sudah terisi.
ποΈ Semua Opsi Pengaturan
Halaman Pengaturan (βοΈ) dikelompokkan empat bagian:
- π¨ Tampilan β tema terang/gelap, ukuran font Arab, ukuran font terjemahan.
- π Bahasa β Bahasa UI (5 pilihan) dan Bahasa Terjemahan (2 pilihan) β lihat bagian berikut untuk perbedaannya.
- π Tampilan Bacaan β toggle teks Arab/terjemahan/tajwid, Reading Mode (Penuh/Halaman), Browse Mode (Slider/List), dan pengaturan Mode Buku (ayat per halaman).
- π Audio β pilih qari default.
Semua pengaturan tersimpan sebagai cookie di perangkatmu (bukan akun) β jadi tersimpan per-browser, dan akan hilang kalau kamu membersihkan cookie atau berpindah perangkat/browser.
π Hubungan Pengaturan & Menu
Beberapa pengaturan sengaja independen satu sama lain, dan ini sumber kebingungan paling umum β jadi penting dipahami:
- Bahasa UI β Bahasa Terjemahan. Bahasa UI (5 pilihan, termasuk Sunda & Jawa) mengatur teks menu/tombol/label di seluruh aplikasi, termasuk arti kata dasar & terjemahan root di popup Info Kata. Bahasa Terjemahan (cuma Inggris/Indonesia) khusus mengatur bahasa teks terjemahan ayat Al-Quran yang tampil saat membaca. Kalau Bahasa UI-mu Sunda/Jawa, teks ayat tetap memakai salah satu dari Inggris/Indonesia (karena memang cuma dua itu yang tersedia untuk terjemahan ayat) β bukan bug, dua pengaturan ini memang untuk hal yang berbeda.
- Reading Mode (Penuh/Halaman) mengatur halaman surat biasa, sama sekali tidak memengaruhi π Mode Buku (yang punya pengaturan ayat-per-halaman sendiri) atau Browse Mode (yang mengatur grid kartu surat, bukan isi surat).
- Toggle tampilan (Teks Arab / Terjemahan / Tajwid) berlaku di halaman surat mode biasa maupun Mode Buku β mematikan "Terjemahan" di sini akan menyembunyikannya di kedua tempat.
- Mengganti Bahasa UI lewat dropdown di toolbar dan lewat halaman Pengaturan β Bahasa adalah pengaturan yang persis sama β pakai yang mana saja, hasilnya identik dan langsung berlaku di seluruh menu.
π Sumber Teks & Terjemahan
Teks Arab dan pembagian ayat mengikuti mushaf standar β 6.236 ayat di 114 surat, angka yang sama persis dengan mushaf cetak pada umumnya. Terjemahan Indonesia bersumber dari Kemenag (Kementerian Agama RI), terjemahan Inggris dari Saheeh International β kedua-duanya lengkap 6.236 ayat. Audio murottal disediakan lewat tautan langsung ke everyayah.com (dua qari, lihat bagian Audio & Tafsir). Data tafsir masih berupa contoh terbatas (Ibn Kathir, sebagian kecil ayat), belum lengkap.
πΈοΈ Model Data: Relasi Kata
Inti dari fitur "Muncul Bersama" adalah satu tabel relasi sederhana yang menghubungkan ayat dengan akar kata: untuk tiap kemunculan sebuah akar di sebuah ayat, tersimpan satu baris. Saat ini tabel itu berisi 50.272 baris relasi, menghubungkan 6.236 ayat dengan 1.655 akar kata dasar berbeda β inilah yang dimaksud dengan "6.236 ayat Γ jumlah akar kata" di deskripsi model: bukan perkalian matematis literal, tapi ukuran matriks jarang (sparse matrix) ayat-vs-akar yang mendasari seluruh fitur pencarian relasi di aplikasi ini.
Dari matriks inilah algoritma pembentukan model dan algoritma pencarian kombinasi bekerja β keduanya dijelaskan di bagian tersendiri di bawah.
π₯ Sumber & Kurasi Root Words
Dari 1.655 akar kata yang dipakai aplikasi ini:
- 160 akar adalah kurasi manual awal (label
curateddi database) β akar-akar paling umum, artinya ditulis tangan sejak versi awal aplikasi. - 1.495 akar (label
imported) diimpor dari proyek data terbuka mustafa0x/quran-morphology di GitHub β sebuah fork dari Quranic Arabic Corpus v0.4 (lisensi GPLv3). Proses impor mem-parse 77.429 entri kata dari seluruh Al-Quran, menandai 50.268 di antaranya dengan akar Arab, menghasilkan 1.651 akar unik (1.495 di antaranya baru, sisanya sudah ada di 160 kurasi awal).
Semua 1.655 akar kini sudah 100% punya arti (Indonesia & Inggris) β 1.495 akar hasil impor tadinya tidak punya arti sama sekali (Quranic Arabic Corpus fokus ke analisis morfologi, bukan kamus arti), diisi lewat alat internal "Kata Kurator": sebuah tool berbasis AI yang mengambil konteks nyata tiap akar (kata-kata turunannya + contoh ayat & terjemahan tempat ia muncul) sebagai grounding, lalu menghasilkan draf arti lewat salah satu dari 4 provider AI yang bisa dipilih (Ollama Cloud, OpenRouter, OpenAI, atau Ollama lokal) β hasilnya tetap ditinjau/diedit di tabel sebelum diterapkan ke database.
π§ Detail Teknis
Detail teknis proses impor: setiap kata di corpus sumber tertaut ke sebuah ayat lewat ID ayat yang dihitung deterministik dari offset per surat (bukan disimpan eksplisit di corpus sumber) β diverifikasi 100% cocok dengan data ayat yang sudah ada di database aplikasi ini sebelum proses impor dijalankan. Berkat ini, tabel ayah_root_words yang jadi fondasi seluruh fitur "Muncul Bersama" ternyata sudah ada di skema database sejak awal (nyaris kosong sebelumnya, hanya 7 baris warisan) β tinggal diisi, tidak perlu tabel baru. Kolom source (curated/imported) pada tabel akar kata dipakai di beberapa tempat: sebagai salah satu kriteria tie-break saat mengurutkan hasil pencarian (akar kurasi menang atas impor bila skor kecocokan sama), dan untuk mengecualikan alat "Kata Kurator" dari file deploy publik (tool ini hanya untuk pengelolaan lokal, tidak pernah ikut dideploy ke server produksi).
π Sinonim & Antonim
Berbeda dari data "Muncul Bersama" (dihitung otomatis dari 50.272 baris kemunculan ayat), relasi Sinonim, Antonim, dan Kata Terkait antar-akar adalah hasil kurasi manual murni β saat ini berjumlah 13 pasangan sinonim, 25 pasangan antonim, dan 8 pasangan kata terkait. Jumlahnya sengaja masih kecil: kurasi semantik seperti ini butuh penilaian bahasa yang cermat (dua akar bisa "mirip" secara harfiah tapi sangat berbeda makna kontekstualnya dalam Al-Quran), jadi ditambah bertahap, bukan digenerate massal secara otomatis seperti kata turunan.
βοΈ Algoritma Pembentukan Model
"Model" di sini bukan model machine-learning yang dilatih β melainkan tabel relasi ayatβakar (ayah_root_words) yang dibangun sekali lewat proses impor+kurasi (lihat bagian sebelumnya), lalu dipakai apa adanya oleh algoritma pencarian di runtime. Tidak ada pelatihan ulang, tidak ada bobot yang disesuaikan β murni tabel lookup terstruktur.
π§ Detail Teknis
Fungsi inti: root_co_occurrence($rootIds). Diberi satu set ID akar (bisa 1, bisa lebih β inilah yang membuatnya bisa dipakai untuk drill-down berjenjang, bukan cuma level pertama):
- Cari semua ayat yang memuat SEMUA akar dalam set itu (
GROUP BY ayah_id HAVING COUNT(DISTINCT root_word_id) = k, di mana k = jumlah akar dalam set). - Dari ayat-ayat itu, cari akar-akar LAIN yang muncul di dalamnya (di luar set awal), dihitung berapa kali masing-masing β inilah daftar "kandidat level berikutnya".
- Sekaligus tandai ayat mana yang PERSIS hanya memuat set akar itu (tidak ada akar lain sama sekali) β inilah opsi "Hanya kombinasi ini".
Daftar kandidat di langkah 2 sengaja tidak dibatasi top-N β semua akar yang pernah muncul bersama ditampilkan, bahkan yang cuma sekali, karena daftar ini dimaksudkan lengkap, bukan cuplikan. Dengan hanya 1.655 akar total, ini paling banyak menghasilkan ~1.654 baris bahkan untuk akar tersibuk β query tetap cepat (puluhan milidetik, diuji dengan akar tersibuk di seluruh Quran, Ψ£ΩΩ/"Allah" dengan 2.851 kemunculan, yang menghasilkan 1.127 akar terkait dalam waktu pemrosesan murni ~178,5ms).
π Algoritma Pencarian
Beberapa algoritma pencarian yang berbeda bekerja untuk mode yang berbeda-beda β bukan satu algoritma serba-bisa:
- Pencarian Teks β memakai SQLite FTS5 (full-text search bawaan mesin database), dengan indeks terpisah untuk teks Arab dan tiap bahasa terjemahan, diurutkan berdasar skor
rankbawaan FTS5. - Pencarian Kata Dasar β TIDAK memakai tabel
ayah_root_wordsmaupun FTS5, melainkan pencocokan morfologi ringan langsung saat itu juga (lihat Detail Teknis di bagian Pencarian Kata Dasar). - Muncul Bersama & Pencarian AND β sama-sama memakai
root_co_occurrence()di atas tabelayah_root_words(lihat bagian Algoritma Pembentukan Model) β builder AND secara harfiah memakai ulang mesin yang sama persis dengan mode drill-down "Muncul Bersama", cuma jalan masuknya (UI) yang berbeda. - Pencocokan kata β arti akar (dipakai di popup Info Kata & dropdown builder AND) β algoritma tersendiri yang mencari kata kunci di dalam teks ARTI tiap akar (bukan di kata Arab-nya), dengan skor lebih tinggi kalau kata itu muncul lebih awal dalam definisi.
π§ Detail Teknis
Detail algoritma pencocokan kataβarti (match_roots_by_gloss()), dipakai untuk menjawab "kata X ini artinya salah satu akar apa saja?":
- Pecah teks arti tiap akar (Indonesia DAN Inggris) jadi kata-kata individual.
- Untuk tiap akar, cari posisi PALING AWAL kata kunci itu muncul (posisi 0 = kata pertama dalam definisi) β kalau muncul lebih dari posisi ke-6, akar itu dibuang total dari hasil (bukan cuma diberi skor rendah) karena kemunculan sejauh itu biasanya cuma "numpang lewat" di kalimat penjelasan, bukan makna inti kata tersebut.
- Skor =
7 - posisi(makin awal makin tinggi skor). - Urutkan hasil: skor tertinggi dulu, lalu akar
curatedmenang atasimportedpada skor sama, lalu frekuensi kemunculan di Al-Quran sebagai tie-break terakhir.
Algoritma ini sama persis dipakai di tiga tempat: popup Info Kata (memilih akar paling relevan saat kata ambigu), endpoint pencarian akar untuk builder AND, dan prompt disambiguasi otomatis di atas hasil pencarian teks β bukan tiga implementasi terpisah yang kebetulan mirip.
β οΈ Disclaimer & Keterbatasan
Beberapa batasan penting untuk dipahami saat memakai fitur pencarian akar/kata dasar:
- Pencocokan akar/kata turunan bersifat pendekatan otomatis heuristik, bukan analisis morfologi resmi yang diverifikasi ahli bahasa. Kemungkinan ada positif palsu (kata kebetulan cocok pola tapi bukan turunan akar itu) atau negatif palsu (turunan sah yang tidak terdeteksi pola).
- Arti 1.495 akar hasil impor dihasilkan dengan bantuan AI (lihat Sumber & Kurasi Root Words) β walau ditinjau, tetap mungkin ada ketidaktepatan nuansa dibanding kamus/tafsir akademis.
- Data tafsir sangat terbatas (contoh, bukan lengkap 6.236 ayat).
- Relasi Sinonim/Antonim/Kata Terkait masih sedikit (kurasi manual bertahap, lihat Sinonim & Antonim) β banyak akar belum punya relasi semacam ini sama sekali, bukan berarti benar-benar tidak punya sinonim/antonim di kenyataan.
Aplikasi ini adalah alat bantu eksplorasi & belajar, bukan pengganti rujukan tafsir, kamus, atau ahli bahasa Arab/ilmu Al-Quran yang berkompeten.
π¬ Pertanyaan Umum
Kenapa arti kata di popup Info Kata kadang beda bahasa dari menu?
Cek pengaturan Bahasa UI-mu β arti kata dasar/root SELALU mengikuti Bahasa UI, bukan Bahasa Terjemahan. Lihat Hubungan Pengaturan & Menu.
Kenapa hasil "Cari Kata Dasar" saya menemukan kata yang kelihatannya tidak berhubungan?
Pencocokan akar bersifat pendekatan otomatis (lihat Pencarian Kata Dasar dan Disclaimer) β sesekali ada positif palsu.
Bookmark saya hilang setelah ganti browser/HP.
Bookmark tersimpan sebagai data lokal per-browser (kecuali kamu login dan menyimpannya ke akun, jika fitur itu tersedia) β pindah browser/perangkat tanpa login bisa membuatnya tidak terbawa.
Kenapa daftar tafsir kosong di kebanyakan ayat?
Data tafsir memang masih berupa contoh terbatas, bukan basis data lengkap β lihat Disclaimer & Keterbatasan.
Apa bedanya "Muncul Bersama" dengan "Cari AND"?
Keduanya memakai mesin yang sama persis (root_co_occurrence) β "Muncul Bersama" untuk menjelajah dari SATU kata secara berjenjang, "Cari AND" untuk langsung merakit beberapa kata sekaligus kalau kombinasinya sudah diketahui dari awal. Lihat Algoritma Pencarian.