├── .gitattributes ├── .github └── workflows │ ├── lint.yml │ ├── publish.yml │ └── test.yml ├── .gitignore ├── .pre-commit-config.yaml ├── CNAME ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── requirements-dev.txt ├── requirements.txt ├── setup.cfg ├── setup.py ├── src └── kbbi │ ├── __init__.py │ └── kbbi.py └── tests ├── _mock.py ├── buat_kasus.py ├── conftest.py ├── html ├── Account │ ├── Banned.html │ └── Login.html ├── Beranda │ ├── BatasSehari.html │ └── Error.html ├── auth │ ├── Cari │ │ └── Hasil │ │ │ ├── a.n..html │ │ │ ├── bin.html │ │ │ └── quo vadis?.html │ └── entri │ │ ├── air.html │ │ ├── alam.html │ │ ├── asalamualaikum.html │ │ ├── beruang.html │ │ ├── civitas academica.html │ │ ├── huk.html │ │ ├── idn45.html │ │ ├── kan.html │ │ ├── karbon dioksida.html │ │ ├── keratabasa.html │ │ ├── khayal.html │ │ ├── lah.html │ │ ├── lampir.html │ │ ├── makin.html │ │ ├── me-.html │ │ ├── menjadikan.html │ │ ├── ranah.html │ │ ├── roh.html │ │ ├── sage.html │ │ ├── semakin.html │ │ └── tampak.html ├── entri.html └── nonauth │ ├── Cari │ └── Hasil │ │ ├── a.n..html │ │ ├── bin.html │ │ └── quo vadis?.html │ └── entri │ ├── air.html │ ├── alam.html │ ├── asalamualaikum.html │ ├── beruang.html │ ├── civitas academica.html │ ├── huk.html │ ├── idn45.html │ ├── kan.html │ ├── karbon dioksida.html │ ├── keratabasa.html │ ├── khayal.html │ ├── lah.html │ ├── lampir.html │ ├── makin.html │ ├── me-.html │ ├── menjadikan.html │ ├── ranah.html │ ├── roh.html │ ├── sage.html │ ├── semakin.html │ └── tampak.html ├── kasus ├── auth │ ├── serialisasi │ │ ├── a.n..json │ │ ├── air.json │ │ ├── alam.json │ │ ├── asalamualaikum.json │ │ ├── beruang.json │ │ ├── bin.json │ │ ├── civitas academica.json │ │ ├── huk.json │ │ ├── idn45.json │ │ ├── kan.json │ │ ├── karbon dioksida.json │ │ ├── keratabasa.json │ │ ├── khayal.json │ │ ├── lah.json │ │ ├── lampir.json │ │ ├── makin.json │ │ ├── me-.json │ │ ├── menjadikan.json │ │ ├── quo vadis?.json │ │ ├── ranah.json │ │ ├── roh.json │ │ ├── sage.json │ │ ├── semakin.json │ │ └── tampak.json │ ├── str │ │ ├── a.n..txt │ │ ├── air.txt │ │ ├── alam.txt │ │ ├── asalamualaikum.txt │ │ ├── beruang.txt │ │ ├── bin.txt │ │ ├── civitas academica.txt │ │ ├── huk.txt │ │ ├── idn45.txt │ │ ├── kan.txt │ │ ├── karbon dioksida.txt │ │ ├── keratabasa.txt │ │ ├── khayal.txt │ │ ├── lah.txt │ │ ├── lampir.txt │ │ ├── makin.txt │ │ ├── me-.txt │ │ ├── menjadikan.txt │ │ ├── quo vadis?.txt │ │ ├── ranah.txt │ │ ├── roh.txt │ │ ├── sage.txt │ │ ├── semakin.txt │ │ └── tampak.txt │ └── str_tanpa_contoh │ │ ├── a.n..txt │ │ ├── air.txt │ │ ├── alam.txt │ │ ├── asalamualaikum.txt │ │ ├── beruang.txt │ │ ├── bin.txt │ │ ├── civitas academica.txt │ │ ├── huk.txt │ │ ├── idn45.txt │ │ ├── kan.txt │ │ ├── karbon dioksida.txt │ │ ├── keratabasa.txt │ │ ├── khayal.txt │ │ ├── lah.txt │ │ ├── lampir.txt │ │ ├── makin.txt │ │ ├── me-.txt │ │ ├── menjadikan.txt │ │ ├── quo vadis?.txt │ │ ├── ranah.txt │ │ ├── roh.txt │ │ ├── sage.txt │ │ ├── semakin.txt │ │ └── tampak.txt └── nonauth │ ├── serialisasi │ ├── a.n..json │ ├── air.json │ ├── alam.json │ ├── asalamualaikum.json │ ├── beruang.json │ ├── bin.json │ ├── civitas academica.json │ ├── huk.json │ ├── idn45.json │ ├── kan.json │ ├── karbon dioksida.json │ ├── keratabasa.json │ ├── khayal.json │ ├── lah.json │ ├── lampir.json │ ├── makin.json │ ├── me-.json │ ├── menjadikan.json │ ├── quo vadis?.json │ ├── ranah.json │ ├── roh.json │ ├── sage.json │ ├── semakin.json │ └── tampak.json │ ├── str │ ├── a.n..txt │ ├── air.txt │ ├── alam.txt │ ├── asalamualaikum.txt │ ├── beruang.txt │ ├── bin.txt │ ├── civitas academica.txt │ ├── huk.txt │ ├── idn45.txt │ ├── kan.txt │ ├── karbon dioksida.txt │ ├── keratabasa.txt │ ├── khayal.txt │ ├── lah.txt │ ├── lampir.txt │ ├── makin.txt │ ├── me-.txt │ ├── menjadikan.txt │ ├── quo vadis?.txt │ ├── ranah.txt │ ├── roh.txt │ ├── sage.txt │ ├── semakin.txt │ └── tampak.txt │ └── str_tanpa_contoh │ ├── a.n..txt │ ├── air.txt │ ├── alam.txt │ ├── asalamualaikum.txt │ ├── beruang.txt │ ├── bin.txt │ ├── civitas academica.txt │ ├── huk.txt │ ├── idn45.txt │ ├── kan.txt │ ├── karbon dioksida.txt │ ├── keratabasa.txt │ ├── khayal.txt │ ├── lah.txt │ ├── lampir.txt │ ├── makin.txt │ ├── me-.txt │ ├── menjadikan.txt │ ├── quo vadis?.txt │ ├── ranah.txt │ ├── roh.txt │ ├── sage.txt │ ├── semakin.txt │ └── tampak.txt ├── server.py ├── test_cli.py ├── test_kasus.py └── test_kbbi.py /.gitattributes: -------------------------------------------------------------------------------- 1 | tests/html/** linguist-generated 2 | -------------------------------------------------------------------------------- /.github/workflows/lint.yml: -------------------------------------------------------------------------------- 1 | name: Lint 2 | 3 | on: 4 | push: 5 | branches: [ "**" ] 6 | pull_request: 7 | branches: [ master ] 8 | 9 | jobs: 10 | lint: 11 | 12 | runs-on: ubuntu-latest 13 | strategy: 14 | matrix: 15 | python-version: [3.6] 16 | 17 | steps: 18 | - uses: actions/checkout@v2 19 | - name: Set up Python ${{ matrix.python-version }} 20 | uses: actions/setup-python@v1 21 | with: 22 | python-version: ${{ matrix.python-version }} 23 | - name: Install dependencies 24 | run: | 25 | python -m pip install --upgrade pip 26 | pip install -r requirements-dev.txt 27 | - name: Lint with black 28 | run: | 29 | black . -l 79 --check 30 | - name: Lint with flake8 31 | run: | 32 | flake8 --count --show-source --statistics 33 | - name: Lint with isort 34 | run: | 35 | isort -c -df 36 | -------------------------------------------------------------------------------- /.github/workflows/publish.yml: -------------------------------------------------------------------------------- 1 | name: Publish to PyPI 2 | 3 | on: 4 | push 5 | 6 | jobs: 7 | publish: 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/checkout@master 11 | - name: Set up Python 3.8 12 | uses: actions/setup-python@v1 13 | with: 14 | python-version: 3.8 15 | - name: Build package 16 | run: | 17 | pip install --upgrade setuptools wheel 18 | python setup.py sdist bdist_wheel 19 | - name: Publish package to PyPI 20 | if: startsWith(github.event.ref, 'refs/tags') 21 | uses: pypa/gh-action-pypi-publish@master 22 | with: 23 | password: ${{ secrets.PYPI_PASSWORD }} 24 | -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- 1 | name: Test 2 | 3 | on: 4 | push: 5 | branches: [ "**" ] 6 | pull_request: 7 | branches: [ master ] 8 | 9 | jobs: 10 | pytest: 11 | 12 | runs-on: ubuntu-latest 13 | strategy: 14 | matrix: 15 | python-version: [3.6, 3.7, 3.8] 16 | 17 | steps: 18 | - uses: actions/checkout@v2 19 | - name: Set up Python ${{ matrix.python-version }} 20 | uses: actions/setup-python@v1 21 | with: 22 | python-version: ${{ matrix.python-version }} 23 | - name: Install dependencies 24 | run: | 25 | python -m pip install --upgrade pip 26 | pip install -r requirements.txt 27 | - name: Install package 28 | run: pip install -e . 29 | - name: Starting test server 30 | run: | 31 | tests/server.py tests/html & 32 | - name: Test with pytest 33 | run: | 34 | pip install coverage pytest 35 | coverage run -m pytest 36 | - name: Upload coverage to coveralls.io 37 | if: github.event == 'push' 38 | run: | 39 | pip install coveralls 40 | coveralls --rcfile=setup.cfg 41 | env: 42 | COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} 43 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.cover 2 | .coverage 3 | .coverage.* 4 | coverage.json 5 | coverage.xml 6 | htmlcov/ 7 | .vscode/ 8 | **__pycache__/ 9 | build/ 10 | dist/ 11 | kbbi.egg-info/ 12 | venv/ 13 | -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- 1 | repos: 2 | - repo: https://github.com/psf/black 3 | rev: stable 4 | hooks: 5 | - id: black 6 | args: ["-l 79"] 7 | 8 | - repo: https://gitlab.com/pycqa/flake8 9 | rev: "3.7.9" 10 | hooks: 11 | - id: flake8 12 | 13 | - repo: https://github.com/timothycrosley/isort 14 | rev: "4.3.21-2" 15 | hooks: 16 | - id: isort 17 | -------------------------------------------------------------------------------- /CNAME: -------------------------------------------------------------------------------- 1 | kbbi.laymonage.com -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Berkontribusi 2 | 3 | Apabila Anda ingin berkontribusi, silakan ikuti langkah-langkah berikut. 4 | 5 | 1. [*Fork*][fork] repositori ini. 6 | 2. Klonakan repositori yang sudah Anda *fork* dan masuk ke dalam direktori 7 | repositori yang baru saja terbuat. 8 | 9 | ```bash 10 | $ git clone https://github.com//kbbi-python.git 11 | $ cd kbbi-python 12 | ``` 13 | 14 | (Silakan gunakan SSH jika Anda ingin). 15 | 3. Buat cabang baru untuk pembaruan Anda: 16 | 17 | ```bash 18 | $ git checkout -b pembaruan-saya 19 | ``` 20 | 21 | (Silakan gunakan `git switch -c pembaruan-saya` untuk `git >= 2.23`). 22 | 4. Buat *virtual environment* untuk pengembangan: 23 | 24 | ```bash 25 | $ python3 -m venv venv 26 | ``` 27 | 28 | 5. Aktifkan *virtual environment* tersebut: 29 | 30 | ```bash 31 | $ source venv/bin/activate 32 | ``` 33 | 34 | (Apabila Anda menggunakan Windows, ganti perintah di atas dengan 35 | ```venv\Scripts\activate.bat```). 36 | 37 | 6. Instal paket-paket prasyarat untuk pengembangan: 38 | 39 | ```bash 40 | $ pip install -r requirements-dev.txt 41 | ``` 42 | 43 | 7. Apabila Anda belum menginstal [`pre-commit`][pre-commit], sangat 44 | disarankan (tidak wajib) untuk menginstalnya terlebih dahulu 45 | (`pip install pre-commit`). Apabila Anda sudah, silakan instal *hooks* yang 46 | digunakan di repositori ini: 47 | 48 | ```bash 49 | $ pre-commit install 50 | ``` 51 | 52 | 8. Lakukan pengembangan. Apabila Anda ingin mencoba hasil pengembangan Anda, 53 | instal `kbbi` dari kode sumber terlebih dahulu: 54 | 55 | ```bash 56 | $ pip install -e . 57 | ``` 58 | 59 | (Perintah tersebut cukup dijalankan sekali, `kbbi` yang diimpor atau 60 | dijalankan dengan CLI pada *virtual environment* ini akan otomatis 61 | sesuai dengan pengembangan yang Anda lakukan). 62 | 63 | 9. Jika sudah selesai, silakan simpan perubahan Anda: 64 | 65 | ```bash 66 | $ git add . 67 | $ git commit -m "Memperbaiki fitur yang ada" 68 | ``` 69 | 70 | 10. Apabila Anda sudah menginstal *hooks* `pre-commit`, maka proses *linting* 71 | akan otomatis dijalankan untuk memastikan kode Anda sesuai dengan gaya 72 | penulisan kode yang diharapkan. Jika Anda tidak menginstalnya, silakan 73 | periksa manual: 74 | 75 | ```bash 76 | $ black . -l 79 77 | $ flake8 --exclude="venv/**" 78 | $ isort -rc . -sg "venv/**" 79 | ``` 80 | 81 | 11. Jika terdapat kesalahan gaya penulisan kode, silakan perbaiki terlebih 82 | dahulu (`black` dan `isort` sudah otomatis memperbaiki, tetapi `flake8` 83 | tidak). 84 | 12. Jika gaya penulisan kode sudah baik, jalankan tes untuk memastikan kode 85 | Anda lulus tes. Sebelum menjalankan tes, jalankan *server* untuk tes 86 | terlebih dahulu: 87 | 88 | ```bash 89 | $ cd tests 90 | $ ./server.py 91 | ``` 92 | 93 | Selagi *server* aktif, jalankan tes: 94 | 95 | ```bash 96 | $ pytest 97 | ``` 98 | 99 | 13. Jika kode Anda belum lulus tes, silakan perbaiki terlebih dahulu dan 100 | lakukan `git add` dan `git commit` seperlunya. 101 | 14. Jika Anda ingin menambahkan kasus uji (misal `"civitas academica"`) untuk 102 | mendukung perbaikan Anda, gunakan skrip `buat_kasus.py`: 103 | 104 | ```bash 105 | $ ./buat_kasus.py "civitas academica" 106 | ``` 107 | 108 | Kemudian, tambahkan kasus tersebut ke dalam `list` `laman` yang terdapat 109 | di dalam `buat_kasus.py` dan sertakan deskripsi singkat mengenai kasus 110 | tersebut. Jika sudah selesai, `git add` dan `git commit` semua berkas yang 111 | dihasilkan beserta `buat_kasus.py` yang sudah diperbarui. 112 | 113 | 15. Unggah pembaruan Anda: 114 | 115 | ```bash 116 | $ git push origin pembaruan-saya 117 | ``` 118 | 119 | 16. [Buat Pull Request][pr] baru dari cabang Anda ke cabang `master` repositori 120 | ini. 121 | 122 | [fork]: https://github.com/laymonage/kbbi-python/fork 123 | [pre-commit]: https://pre-commit.com 124 | [pr]: https://github.com/laymonage/kbbi-python/compare 125 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017-2020 sage 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /requirements-dev.txt: -------------------------------------------------------------------------------- 1 | -r requirements.txt 2 | black>=19.10b0,<20.0 3 | flake8>=3.7.9,<4.0 4 | isort>=4.3.21,<5.0 5 | pytest>=5.4.1,<6.0 6 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | appdirs>=1.4.4,<2.0 2 | beautifulsoup4>=4.8.2,<5.0 3 | requests>=2.23.0,<3.0 4 | -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- 1 | [metadata] 2 | name = kbbi 3 | version = 0.4.3 4 | description = A module that scraps a page in the online Indonesian dictionary (KBBI). 5 | long_description = file: README.md 6 | long_description_content_type = text/markdown 7 | url = https://github.com/laymonage/kbbi-python 8 | author = sage 9 | author_email = laymonage@gmail.com 10 | license = MIT 11 | classifiers = 12 | Development Status :: 5 - Production/Stable 13 | Environment :: Console 14 | Intended Audience :: Developers 15 | Intended Audience :: Education 16 | Intended Audience :: End Users/Desktop 17 | License :: OSI Approved :: MIT License 18 | Natural Language :: Indonesian 19 | Operating System :: OS Independent 20 | Programming Language :: Python :: 3 21 | Programming Language :: Python :: 3.6 22 | Programming Language :: Python :: 3.7 23 | Programming Language :: Python :: 3.8 24 | Programming Language :: Python :: 3.9 25 | Programming Language :: Python :: 3 :: Only 26 | Topic :: Software Development :: Libraries :: Python Modules 27 | Topic :: Text Processing :: Linguistic 28 | keywords = kbbi kamus bahasa indonesia indonesian natural language scraper 29 | 30 | [options] 31 | packages = find: 32 | package_dir = =src 33 | install_requires = 34 | appdirs 35 | beautifulsoup4 36 | requests 37 | python_requires = >=3.6 38 | 39 | [options.packages.find] 40 | where = src 41 | 42 | [options.entry_points] 43 | console_scripts = 44 | kbbi=kbbi:main 45 | kbbi-autentikasi=kbbi:autentikasi 46 | 47 | [coverage:run] 48 | branch = True 49 | source = kbbi 50 | 51 | [coverage:report] 52 | show_missing = True 53 | 54 | [flake8] 55 | ignore = E203,W503 56 | 57 | [isort] 58 | known_third_party = appdirs,bs4,pytest,requests 59 | known_first_party = kbbi 60 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | from setuptools import setup 2 | 3 | setup() 4 | -------------------------------------------------------------------------------- /src/kbbi/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | :mod:`kbbi` -- Modul KBBI Python 3 | ================================ 4 | 5 | .. module:: kbbi 6 | :platform: Unix, Windows, Mac 7 | :synopsis: Mengambil sebuah laman untuk kata/frasa dalam KBBI Daring. 8 | .. moduleauthor:: sage 9 | """ 10 | 11 | from .kbbi import * # NOQA 12 | -------------------------------------------------------------------------------- /tests/_mock.py: -------------------------------------------------------------------------------- 1 | from kbbi import KBBI, AutentikasiKBBI, GagalAutentikasi, TidakDitemukan 2 | 3 | 4 | class MockKBBI(KBBI): 5 | host = "http://localhost:8000" 6 | _host = KBBI.host 7 | 8 | def __init__(self, kueri, auth=None, lokasi=None): 9 | self._auth = auth 10 | self._lokasi = lokasi 11 | self.lokasi = lokasi 12 | super().__init__(kueri, auth) 13 | 14 | def _cek_autentikasi(self, laman): 15 | super()._cek_autentikasi(laman) 16 | self._kembalikan_host_lokasi() 17 | 18 | def _kembalikan_host_lokasi(self): 19 | self.host = self._host 20 | self.lokasi = self._lokasi 21 | 22 | @classmethod 23 | def _init_aman(cls, kueri, auth=None, lokasi=None): 24 | try: 25 | return cls(kueri, auth, lokasi) 26 | except TidakDitemukan as e: 27 | e.objek._kembalikan_host_lokasi() 28 | return e.objek 29 | 30 | def _init_lokasi(self): 31 | if self.lokasi is not None: 32 | return 33 | super()._init_lokasi() 34 | auth = "auth" if self._auth is not None else "nonauth" 35 | self._lokasi = self.lokasi 36 | self.lokasi = f"{auth}/{self.lokasi}.html".replace("?frasa=", "/") 37 | 38 | 39 | class MockAutentikasiKBBI(AutentikasiKBBI): 40 | host = "http://localhost:8000" 41 | lokasi = "Account/Login.html" 42 | buat_galat = False 43 | paksa_sukses = False 44 | 45 | def _autentikasi(self, posel, sandi, token, buat_galat=False): 46 | try: 47 | super()._autentikasi(posel, sandi, token) 48 | except GagalAutentikasi as e: 49 | if self.buat_galat or buat_galat: 50 | raise e from e 51 | if not self.paksa_sukses: 52 | return 53 | self.sesi.cookies.set(".AspNet.ApplicationCookie", "mockcookie") 54 | -------------------------------------------------------------------------------- /tests/buat_kasus.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import json 3 | import os 4 | import pathlib 5 | import sys 6 | 7 | import requests 8 | 9 | from _mock import MockAutentikasiKBBI, MockKBBI 10 | from kbbi import KBBI, AutentikasiKBBI 11 | 12 | DIR_INI = pathlib.Path(__file__).resolve(strict=True).parent 13 | DIR_KASUS = DIR_INI / "kasus" 14 | 15 | laman = [ 16 | "a.n.", # entri mengandung titik 17 | "air", # bentuk tidak baku mengandung nomor 18 | "alam", # ada 3 entri, 2 etimologi, entri kedua berupa prakategorial 19 | "asalamualaikum", # etimologi tanpa kelas 20 | "beruang", # ada makna dengan kelas kata kiasan (hijau) 21 | "bin", # kasus khusus 22 | "civitas academica", # judul entri bercetak miring 23 | "karbon dioksida", # terdapat info (rumus kimia) 24 | "khayal", # makna pernah gagal diproses 25 | "keratabasa", # terdapat string bercetak miring pada salah satu submakna 26 | "kan", # banyak entri singkat, bercampur dengan imbuhan 27 | "lah", # jika terautentikasi terdapat kelas dan makna berupa pranala 28 | "lampir", # satu entri prakategorial 29 | "makin", # terdapat bentuk tidak baku 30 | "me-", # terdapat entri berupa "lihat", terdapat varian 31 | "menjadikan", # contoh dengan ~ (bukan --) untuk menggantikan entri 32 | "quo vadis?", # terdapat ? dan judul entri bercetak miring 33 | "ranah", # terdapat contoh berwarna cokelat 34 | "roh", # contoh sederhana untuk etimologi, terdapat kiasan 35 | "sage", # terdapat info (bahasa latin) 36 | "semakin", # terdapat entri tanpa makna dan entri lain berupa rujukan 37 | "tampak", # terdapat rujukan dengan nomor 38 | "huk", # saran entri lain yang mirip apabila entri tidak dapat ditemukan 39 | "idn45", # tidak ditemukan dan tidak ada saran entri lain yang mirip 40 | ] 41 | 42 | 43 | def _buat(semua, func, direktori, ekstensi): 44 | for auth, objs in semua.items(): 45 | path = DIR_KASUS / auth / direktori 46 | path.mkdir(parents=True, exist_ok=True) 47 | for obj in objs: 48 | berkas = path / f"{obj.nama}.{ekstensi}" 49 | berkas.write_text(f"{func(obj)}\n") 50 | 51 | 52 | def buat_str(semua, direktori="str", **kwargs): 53 | _buat(semua, lambda obj: obj.__str__(**kwargs), direktori, "txt") 54 | 55 | 56 | def buat_str_tanpa_contoh(semua): 57 | buat_str(semua, "str_tanpa_contoh", contoh=False) 58 | 59 | 60 | def buat_serialisasi(semua): 61 | _buat( 62 | semua, 63 | lambda obj: json.dumps(obj.serialisasi(), indent=2), 64 | "serialisasi", 65 | "json", 66 | ) 67 | 68 | 69 | jenis = [buat_str, buat_str_tanpa_contoh, buat_serialisasi] 70 | 71 | 72 | class PengunduhKBBI: 73 | root = DIR_INI 74 | host = KBBI.host 75 | _init_lokasi = KBBI._init_lokasi 76 | 77 | def __init__(self, nama, sesi=None, direktori="html"): 78 | self.nama = nama 79 | self.auth = bool(sesi) 80 | self.sesi = sesi or requests.Session() 81 | self.root /= direktori 82 | self._init_lokasi() 83 | self._path() 84 | 85 | @classmethod 86 | def _unduh(cls, klien, lokasi, path): 87 | path.parent.mkdir(parents=True, exist_ok=True) 88 | path.write_bytes(klien.get(f"{cls.host}/{lokasi}").content) 89 | 90 | @classmethod 91 | def unduh_laman(cls, laman=None, sesi=None, direktori="html"): 92 | path = laman.split("/") 93 | tujuan = cls.root / direktori 94 | for p in path[:-1]: 95 | tujuan /= p 96 | tujuan /= f"{path[-1]}.html" 97 | cls._unduh(sesi or requests, laman, tujuan) 98 | 99 | @classmethod 100 | def unduh_laman_umum(cls, sesi=None, direktori="html"): 101 | for laman in {"Account/Login", "Beranda/Error", "Beranda/BatasSehari"}: 102 | cls.unduh_laman(laman, sesi, direktori) 103 | 104 | def _path(self): 105 | direktori = self.root / ("auth" if self.auth else "nonauth") 106 | if self.lokasi.startswith("entri/"): 107 | direktori = direktori / "entri" 108 | else: 109 | direktori = direktori / "Cari" / "Hasil" 110 | self.path = direktori / f"{self.nama}.html" 111 | 112 | def unduh(self): 113 | self._unduh(self.sesi, self.lokasi, self.path) 114 | 115 | 116 | def unduh_html(daftar): 117 | auth = AutentikasiKBBI(os.getenv("KBBI_POSEL"), os.getenv("KBBI_SANDI")) 118 | total = len(daftar) 119 | for i, laman in enumerate(daftar, 1): 120 | print(f'({i}/{total}) Mengambil "{laman}"...') 121 | PengunduhKBBI(laman).unduh() 122 | PengunduhKBBI(laman, auth.sesi).unduh() 123 | 124 | 125 | def buat_semua_objek(daftar): 126 | auth = MockAutentikasiKBBI("foo", "bar") 127 | semua = {"auth": [], "nonauth": []} 128 | for laman in daftar: 129 | semua["auth"].append(MockKBBI._init_aman(laman, auth)) 130 | semua["nonauth"].append(MockKBBI._init_aman(laman)) 131 | return semua 132 | 133 | 134 | def buat_semua_kasus(semua, jenis): 135 | for buat in jenis: 136 | buat(semua) 137 | 138 | 139 | def main(daftar=None): 140 | if not daftar: 141 | daftar = laman 142 | unduh_html(daftar) 143 | semua = buat_semua_objek(daftar) 144 | buat_semua_kasus(semua, jenis) 145 | return 0 146 | 147 | 148 | if __name__ == "__main__": 149 | args = sys.argv[1:] 150 | if args == ["--init"]: 151 | PengunduhKBBI.unduh_laman_umum() 152 | sys.exit(0) 153 | try: 154 | sys.exit(main(args)) 155 | except KeyboardInterrupt: 156 | print("\nKeluar...") 157 | -------------------------------------------------------------------------------- /tests/conftest.py: -------------------------------------------------------------------------------- 1 | import json 2 | import pathlib 3 | 4 | import pytest 5 | 6 | import kbbi 7 | from _mock import MockAutentikasiKBBI, MockKBBI 8 | 9 | 10 | @pytest.fixture 11 | def autentikasi(): 12 | return MockAutentikasiKBBI("foo", "bar") 13 | 14 | 15 | @pytest.fixture(scope="session") 16 | def laman(): 17 | return dict() 18 | 19 | 20 | @pytest.fixture(scope="session") 21 | def laman_terautentikasi(): 22 | return dict() 23 | 24 | 25 | @pytest.fixture 26 | def ekspektasi_str(request): 27 | path = request.param 28 | with path.open("r") as berkas: 29 | yield berkas.read().strip() 30 | 31 | 32 | @pytest.fixture 33 | def ekspektasi_serialisasi(request): 34 | path = request.param 35 | with path.open("r") as berkas: 36 | return json.load(berkas) 37 | 38 | 39 | def ambil_atau_simpan(dct, key, func): 40 | try: 41 | return dct[key] 42 | except KeyError: 43 | dct[key] = func(key) 44 | return dct[key] 45 | 46 | 47 | @pytest.fixture 48 | def aktual_objek(request, laman): 49 | kueri = request.param 50 | return ambil_atau_simpan(laman, kueri, lambda a: MockKBBI._init_aman(a)) 51 | 52 | 53 | @pytest.fixture 54 | def aktual_objek_terautentikasi(request, autentikasi, laman_terautentikasi): 55 | kueri = request.param 56 | return ambil_atau_simpan( 57 | laman_terautentikasi, 58 | kueri, 59 | lambda a: MockKBBI._init_aman(a, autentikasi), 60 | ) 61 | 62 | 63 | @pytest.fixture 64 | def lokasi(request): 65 | tujuan = request.param.split("/") 66 | hasil = pathlib.Path(__file__).parent 67 | for direktori in tujuan: 68 | hasil /= direktori 69 | return hasil 70 | 71 | 72 | @pytest.fixture 73 | def kbbi_mock(monkeypatch, request, autentikasi): 74 | if isinstance(request.param, (list, tuple)): 75 | _auth, lokasi = request.param 76 | else: 77 | _auth = request.param 78 | lokasi = None 79 | if _auth: 80 | _auth = autentikasi 81 | 82 | ___init__ = MockKBBI.__init__ 83 | 84 | def __init__(self, kueri, auth=None): 85 | ___init__(self, kueri, auth=_auth, lokasi=lokasi) 86 | 87 | monkeypatch.setattr(MockKBBI, "__init__", __init__) 88 | monkeypatch.setattr(kbbi.kbbi, "KBBI", MockKBBI) 89 | 90 | 91 | @pytest.fixture 92 | def autentikasi_gagal(request, monkeypatch): 93 | monkeypatch.setattr(MockAutentikasiKBBI, "buat_galat", True) 94 | monkeypatch.setattr(kbbi.kbbi, "AutentikasiKBBI", MockAutentikasiKBBI) 95 | 96 | 97 | @pytest.fixture 98 | def autentikasi_sukses(request, monkeypatch): 99 | monkeypatch.setattr(MockAutentikasiKBBI, "paksa_sukses", True) 100 | monkeypatch.setattr(kbbi.kbbi, "AutentikasiKBBI", MockAutentikasiKBBI) 101 | 102 | 103 | @pytest.fixture 104 | def lokasi_kuki(): 105 | return pathlib.Path("kukifix.json") 106 | 107 | 108 | @pytest.fixture 109 | def mock_lokasi_kuki(lokasi_kuki, monkeypatch): 110 | monkeypatch.setattr(kbbi.AutentikasiKBBI, "lokasi_kuki", lokasi_kuki) 111 | return lokasi_kuki 112 | 113 | 114 | @pytest.fixture 115 | def kuki(mock_lokasi_kuki): 116 | mock_lokasi_kuki.write_text('{".AspNet.ApplicationCookie": "kuki enak"}') 117 | return mock_lokasi_kuki 118 | 119 | 120 | @pytest.fixture 121 | def tanpa_kuki(lokasi_kuki): 122 | if lokasi_kuki.exists(): 123 | lokasi_kuki.unlink() 124 | return lokasi_kuki 125 | -------------------------------------------------------------------------------- /tests/html/Account/Login.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Masuk - KBBI Daring 9 | 10 | 11 | 12 | 13 | 14 | 15 | 43 |
44 | 45 | 46 | 47 |

Masuk

48 |
49 |
50 |
51 |

Gunakan akun lokal untuk masuk

52 |
53 |
54 | 55 |
56 | 57 | 58 |
59 |
60 |
61 | 62 |
63 | 64 | 65 |
66 |
67 |
68 |
69 | 70 |
71 |
72 |
73 | 74 | 75 |
76 |
77 |
78 |
79 | 80 |

81 | Lupa kata sandi? 82 |

83 |

84 | Daftar sebagai pengguna baru 85 |

86 |
87 |
88 | 89 |
90 | 91 | 92 |
93 | 98 | 99 |
100 | 101 | 102 | 103 | 104 | 105 | 106 | 113 | 114 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | -------------------------------------------------------------------------------- /tests/html/Beranda/BatasSehari.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Batas Sehari - KBBI Daring 9 | 10 | 11 | 12 | 13 | 14 | 15 | 43 |
44 | 45 | 46 | 47 |

Batas Sehari

48 |

Pencarian Anda telah mencapai batas maksimum dalam sehari

49 |
50 |

51 | Pencarian Anda telah mencapai batas maksimum yang diberikan bagi pengguna tidak terdaftar dalam sehari. 52 | Anda dapat melakukan pencarian kembali sebagai pengguna tidak terdaftar esok hari. 53 |

54 |

55 | Untuk melakukan pencarian lebih lanjut dalam KBBI Daring pada hari ini, silakan masuk menggunakan akun resmi Anda yang terdaftar dalam situs KBBI Daring. 56 |

57 |

58 | Jika Anda belum memiliki akun yang resmi terdaftar dalam situs KBBI Daring, silakan mendaftar melalui 59 | tautan ini. 60 |

61 |
62 | 67 | 68 |
69 | 70 | 71 | 72 | 73 | 74 | 75 | 82 | 83 | 119 | 120 | 121 | 122 | 123 | -------------------------------------------------------------------------------- /tests/html/Beranda/Error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Terjadi Kesalahan - KBBI Daring 9 | 10 | 11 | 12 | 13 | 14 | 15 | 43 |
44 | 45 | 46 | 47 |

Terjadi Kesalahan

48 |

Terjadi suatu kesalahan pada waktu permintaan Anda sedang diproses

49 |

« Kembali ke pencarian

50 | 51 | 52 | 53 |
54 | 59 | 60 |
61 | 62 | 63 | 64 | 65 | 66 | 67 | 74 | 75 | 111 | 112 | 113 | 114 | 115 | -------------------------------------------------------------------------------- /tests/html/nonauth/Cari/Hasil/a.n..html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Hasil Pencarian - KBBI Daring 9 | 10 | 11 | 12 | 13 | 14 | 15 | 43 |
44 | 45 | 46 | 47 | 48 | 49 |
50 | 51 |
52 |

53 | 54 | Informasi: Temukan bantuan menggunakan KBBI Daring di sini. 55 |

56 |
57 |
58 | 59 |
60 |
61 |
62 |
63 | 64 | 65 | 66 | 67 |
68 |
69 |
70 |

71 | 87 |
88 | 89 |
90 |

a.n.

⇢ Tesaurus

  • n sing atas nama

91 |

Pesan Redaksi

92 |

Anda baru saja melakukan pencarian tanpa memakai akun yang terdaftar dalam laman KBBI Daring.

93 |

Jika Anda belum memiliki akun yang terdaftar, silakan mendaftar melalui tautan ini.

94 |

Mendaftar dalam laman KBBI Daring akan

95 |
    96 |
  • memudahkan pencarian Anda melalui fitur yang hanya tersedia bagi pengguna terdaftar serta
  • 97 |
  • memberikan Anda hak berpartisipasi dalam pengayaan kosakata bahasa Indonesia dengan memberikan usulan kata/makna baru atau perbaikan pada KBBI.
  • 98 |
99 | 100 |
101 | 106 | 107 |
108 | 109 | 110 | 111 | 112 | 113 | 114 | 121 | 122 | 158 | 159 | 160 | 161 | 162 | -------------------------------------------------------------------------------- /tests/html/nonauth/entri/lampir.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Hasil Pencarian - KBBI Daring 9 | 10 | 11 | 12 | 13 | 14 | 15 | 43 |
44 | 45 | 46 | 47 | 48 | 49 |
50 | 51 |
52 |

53 | 54 | Informasi: Temukan bantuan menggunakan KBBI Daring di sini. 55 |

56 |
57 |
58 | 59 |
60 |
61 |
62 |
63 | 64 | 65 | 66 | 67 |
68 |
69 |
70 |

71 | 87 |
88 | 89 |
90 |

lam.pir

⇢ Tesaurus

prakategorial cari: lampiran, melampiri, melampirkan, terlampir
91 |

Pesan Redaksi

92 |

Anda baru saja melakukan pencarian tanpa memakai akun yang terdaftar dalam laman KBBI Daring.

93 |

Jika Anda belum memiliki akun yang terdaftar, silakan mendaftar melalui tautan ini.

94 |

Mendaftar dalam laman KBBI Daring akan

95 |
    96 |
  • memudahkan pencarian Anda melalui fitur yang hanya tersedia bagi pengguna terdaftar serta
  • 97 |
  • memberikan Anda hak berpartisipasi dalam pengayaan kosakata bahasa Indonesia dengan memberikan usulan kata/makna baru atau perbaikan pada KBBI.
  • 98 |
99 | 100 |
101 | 106 | 107 |
108 | 109 | 110 | 111 | 112 | 113 | 114 | 121 | 122 | 158 | 159 | 160 | 161 | 162 | -------------------------------------------------------------------------------- /tests/kasus/auth/serialisasi/a.n..json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/Cari/Hasil?frasa=a.n.", 3 | "entri": [ 4 | { 5 | "nama": "a.n.", 6 | "nomor": "", 7 | "kata_dasar": [], 8 | "pelafalan": "", 9 | "bentuk_tidak_baku": [], 10 | "varian": [], 11 | "makna": [ 12 | { 13 | "kelas": [ 14 | { 15 | "kode": "n", 16 | "nama": "Nomina", 17 | "deskripsi": "kata benda" 18 | }, 19 | { 20 | "kode": "sing", 21 | "nama": "singkatan", 22 | "deskripsi": "" 23 | } 24 | ], 25 | "submakna": [ 26 | "atas nama" 27 | ], 28 | "info": "", 29 | "contoh": [] 30 | } 31 | ], 32 | "etimologi": null, 33 | "kata_turunan": [], 34 | "gabungan_kata": [], 35 | "peribahasa": [], 36 | "idiom": [] 37 | } 38 | ] 39 | } 40 | -------------------------------------------------------------------------------- /tests/kasus/auth/serialisasi/alam.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/alam", 3 | "entri": [ 4 | { 5 | "nama": "alam", 6 | "nomor": "1", 7 | "kata_dasar": [], 8 | "pelafalan": "", 9 | "bentuk_tidak_baku": [], 10 | "varian": [], 11 | "makna": [ 12 | { 13 | "kelas": [ 14 | { 15 | "kode": "n", 16 | "nama": "Nomina", 17 | "deskripsi": "kata benda" 18 | } 19 | ], 20 | "submakna": [ 21 | "segala yang ada di langit dan di bumi (seperti bumi, bintang, kekuatan)" 22 | ], 23 | "info": "", 24 | "contoh": [ 25 | "-- sekeliling" 26 | ] 27 | }, 28 | { 29 | "kelas": [ 30 | { 31 | "kode": "n", 32 | "nama": "Nomina", 33 | "deskripsi": "kata benda" 34 | } 35 | ], 36 | "submakna": [ 37 | "lingkungan kehidupan" 38 | ], 39 | "info": "", 40 | "contoh": [] 41 | }, 42 | { 43 | "kelas": [ 44 | { 45 | "kode": "n", 46 | "nama": "Nomina", 47 | "deskripsi": "kata benda" 48 | } 49 | ], 50 | "submakna": [ 51 | "segala sesuatu yang termasuk dalam satu lingkungan (golongan dan sebagainya) dan dianggap sebagai satu keutuhan" 52 | ], 53 | "info": "", 54 | "contoh": [ 55 | "-- pikiran", 56 | "-- tumbuh-tumbuhan" 57 | ] 58 | }, 59 | { 60 | "kelas": [ 61 | { 62 | "kode": "n", 63 | "nama": "Nomina", 64 | "deskripsi": "kata benda" 65 | } 66 | ], 67 | "submakna": [ 68 | "segala daya (gaya, kekuatan, dan sebagainya) yang menyebabkan terjadinya dan seakan-akan mengatur segala sesuatu yang ada di dunia ini" 69 | ], 70 | "info": "", 71 | "contoh": [ 72 | "hukum --", 73 | "ilmu --" 74 | ] 75 | }, 76 | { 77 | "kelas": [ 78 | { 79 | "kode": "n", 80 | "nama": "Nomina", 81 | "deskripsi": "kata benda" 82 | } 83 | ], 84 | "submakna": [ 85 | "yang bukan buatan manusia" 86 | ], 87 | "info": "", 88 | "contoh": [ 89 | "karet --" 90 | ] 91 | }, 92 | { 93 | "kelas": [ 94 | { 95 | "kode": "n", 96 | "nama": "Nomina", 97 | "deskripsi": "kata benda" 98 | } 99 | ], 100 | "submakna": [ 101 | "dunia" 102 | ], 103 | "info": "", 104 | "contoh": [ 105 | "-- semesta", 106 | "syah --" 107 | ] 108 | }, 109 | { 110 | "kelas": [ 111 | { 112 | "kode": "n", 113 | "nama": "Nomina", 114 | "deskripsi": "kata benda" 115 | } 116 | ], 117 | "submakna": [ 118 | "kerajaan", 119 | "daerah", 120 | "negeri" 121 | ], 122 | "info": "", 123 | "contoh": [ 124 | "-- Minangkabau" 125 | ] 126 | } 127 | ], 128 | "etimologi": { 129 | "kelas": [ 130 | "n", 131 | "sg", 132 | "m" 133 | ], 134 | "bahasa": "Arab", 135 | "asal_kata": "\u0639\u064e\u0627\u0644\u064e\u0645\u064c", 136 | "pelafalan": "\u2018\u0101lam", 137 | "arti": [ 138 | "manusia", 139 | "seluruh makhluk" 140 | ] 141 | }, 142 | "kata_turunan": [ 143 | "beralam", 144 | "kealaman" 145 | ], 146 | "gabungan_kata": [ 147 | "alam akhirat", 148 | "alam arwah", 149 | "alam astral", 150 | "alam baka", 151 | "alam barzakh", 152 | "alam besar", 153 | "alam fana", 154 | "alam gaib", 155 | "alam kabir", 156 | "alam kecil", 157 | "alam kekal", 158 | "alam kelanggengan", 159 | "alam kubur", 160 | "alam malakut", 161 | "alam misal", 162 | "alam nabati", 163 | "alam pikiran", 164 | "alam rahim", 165 | "alam raya", 166 | "alam sagir", 167 | "alam samar", 168 | "alam semesta", 169 | "alam semesta datar", 170 | "alam semesta terbuka", 171 | "alam semesta tertutup" 172 | ], 173 | "peribahasa": [], 174 | "idiom": [] 175 | }, 176 | { 177 | "nama": "alam", 178 | "nomor": "2", 179 | "kata_dasar": [], 180 | "pelafalan": "", 181 | "bentuk_tidak_baku": [], 182 | "varian": [], 183 | "makna": [ 184 | { 185 | "kelas": [ 186 | { 187 | "kode": "prakategorial", 188 | "nama": "prakategorial", 189 | "deskripsi": "kata tidak dipakai dalam bentuk dasarnya" 190 | } 191 | ], 192 | "submakna": [ 193 | "cari: berpengalaman, mengalami, pengalam, pengalaman" 194 | ], 195 | "info": "", 196 | "contoh": [] 197 | } 198 | ], 199 | "etimologi": { 200 | "kelas": [ 201 | "n", 202 | "sg", 203 | "m" 204 | ], 205 | "bahasa": "Arab", 206 | "asal_kata": "\u0639\u064e\u0644\u064e\u0645\u064c", 207 | "pelafalan": "\u2018alam", 208 | "arti": [ 209 | "gunung", 210 | "tanda", 211 | "lukisan pada baju", 212 | "plang jalan", 213 | "bendera pasukan perang" 214 | ] 215 | }, 216 | "kata_turunan": [ 217 | "berpengalaman", 218 | "mengalami", 219 | "pengalam", 220 | "pengalaman" 221 | ], 222 | "gabungan_kata": [], 223 | "peribahasa": [], 224 | "idiom": [] 225 | }, 226 | { 227 | "nama": "alam", 228 | "nomor": "3", 229 | "kata_dasar": [], 230 | "pelafalan": "", 231 | "bentuk_tidak_baku": [], 232 | "varian": [], 233 | "makna": [ 234 | { 235 | "kelas": [ 236 | { 237 | "kode": "n", 238 | "nama": "Nomina", 239 | "deskripsi": "kata benda" 240 | } 241 | ], 242 | "submakna": [ 243 | "bendera (panji-panji) sebagai tanda (pada pasukan dan sebagainya)" 244 | ], 245 | "info": "", 246 | "contoh": [] 247 | } 248 | ], 249 | "etimologi": null, 250 | "kata_turunan": [], 251 | "gabungan_kata": [], 252 | "peribahasa": [], 253 | "idiom": [ 254 | "negeri (alam) yang baka", 255 | "pergi ke alam baka" 256 | ] 257 | } 258 | ] 259 | } 260 | -------------------------------------------------------------------------------- /tests/kasus/auth/serialisasi/asalamualaikum.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/asalamualaikum", 3 | "entri": [ 4 | { 5 | "nama": "asa.la.mu.a.la.i.kum", 6 | "nomor": "", 7 | "kata_dasar": [], 8 | "pelafalan": "", 9 | "bentuk_tidak_baku": [], 10 | "varian": [], 11 | "makna": [ 12 | { 13 | "kelas": [ 14 | { 15 | "kode": "n", 16 | "nama": "Nomina", 17 | "deskripsi": "kata benda" 18 | } 19 | ], 20 | "submakna": [ 21 | "keselamatan (kesejahteraan, kedamaian) untukmu (biasanya diucapkan pada awal dan akhir pidato, saat bertemu dengan seseorang, dan sebagainya)" 22 | ], 23 | "info": "", 24 | "contoh": [] 25 | } 26 | ], 27 | "etimologi": { 28 | "kelas": [], 29 | "bahasa": "Arab", 30 | "asal_kata": "\u0627\u0644\u0633\u0651\u064e\u0644\u064e\u0627\u0645\u064f \u0639\u064e\u0644\u064e\u064a\u0652\u0643\u064f\u0645\u0652", 31 | "pelafalan": "al-sal\u0101m \u2018alaikum", 32 | "arti": [ 33 | "semoga kedamaian menyertai Anda semua" 34 | ] 35 | }, 36 | "kata_turunan": [], 37 | "gabungan_kata": [], 38 | "peribahasa": [], 39 | "idiom": [] 40 | } 41 | ] 42 | } 43 | -------------------------------------------------------------------------------- /tests/kasus/auth/serialisasi/beruang.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/beruang", 3 | "entri": [ 4 | { 5 | "nama": "ber.u.ang", 6 | "nomor": "", 7 | "kata_dasar": [ 8 | "uang" 9 | ], 10 | "pelafalan": "", 11 | "bentuk_tidak_baku": [], 12 | "varian": [], 13 | "makna": [ 14 | { 15 | "kelas": [ 16 | { 17 | "kode": "v", 18 | "nama": "Verba", 19 | "deskripsi": "kata kerja" 20 | } 21 | ], 22 | "submakna": [ 23 | "mempunyai uang" 24 | ], 25 | "info": "", 26 | "contoh": [ 27 | "sepeser pun saya tidak ~" 28 | ] 29 | }, 30 | { 31 | "kelas": [ 32 | { 33 | "kode": "a", 34 | "nama": "Adjektiva", 35 | "deskripsi": "kata yang menjelaskan nomina atau pronomina" 36 | }, 37 | { 38 | "kode": "ki", 39 | "nama": "kiasan", 40 | "deskripsi": "" 41 | } 42 | ], 43 | "submakna": [ 44 | "kaya" 45 | ], 46 | "info": "", 47 | "contoh": [ 48 | "orang yang dapat menikmati makanan semahal itu hanyalah orang yang ~" 49 | ] 50 | } 51 | ], 52 | "etimologi": null, 53 | "kata_turunan": [], 54 | "gabungan_kata": [], 55 | "peribahasa": [], 56 | "idiom": [] 57 | }, 58 | { 59 | "nama": "be.ru.ang", 60 | "nomor": "", 61 | "kata_dasar": [], 62 | "pelafalan": "/b\u00earuang/", 63 | "bentuk_tidak_baku": [], 64 | "varian": [], 65 | "makna": [ 66 | { 67 | "kelas": [ 68 | { 69 | "kode": "n", 70 | "nama": "Nomina", 71 | "deskripsi": "kata benda" 72 | } 73 | ], 74 | "submakna": [ 75 | "binatang buas jenis Ursus, berbulu tebal, dapat berdiri di atas kedua kaki belakangnya, bercakar, dan bermoncong panjang (banyak macamnya, seperti -- bukit, -- damar, -- putih)" 76 | ], 77 | "info": "", 78 | "contoh": [] 79 | } 80 | ], 81 | "etimologi": null, 82 | "kata_turunan": [], 83 | "gabungan_kata": [ 84 | "beruang es", 85 | "beruang kutub" 86 | ], 87 | "peribahasa": [ 88 | "hilang rona karena penyakit, hilang bangsa tidak beruang" 89 | ], 90 | "idiom": [] 91 | } 92 | ] 93 | } 94 | -------------------------------------------------------------------------------- /tests/kasus/auth/serialisasi/bin.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/Cari/Hasil?frasa=bin", 3 | "entri": [ 4 | { 5 | "nama": "bin", 6 | "nomor": "", 7 | "kata_dasar": [], 8 | "pelafalan": "", 9 | "bentuk_tidak_baku": [], 10 | "varian": [], 11 | "makna": [ 12 | { 13 | "kelas": [ 14 | { 15 | "kode": "n", 16 | "nama": "Nomina", 17 | "deskripsi": "kata benda" 18 | }, 19 | { 20 | "kode": "Ar", 21 | "nama": "Arab", 22 | "deskripsi": "-" 23 | } 24 | ], 25 | "submakna": [ 26 | "kata untuk menyatakan anak laki-laki dari seseorang (biasa dipakai untuk keterangan antara nama seseorang dan nama ayah)", 27 | "anak laki-laki dari" 28 | ], 29 | "info": "", 30 | "contoh": [ 31 | "Amat -- Soleh Amat anak dari Soleh" 32 | ] 33 | }, 34 | { 35 | "kelas": [ 36 | { 37 | "kode": "p", 38 | "nama": "Partikel", 39 | "deskripsi": "kelas kata yang meliputi kata depan, kata sambung, kata seru, kata sandang, ucapan salam" 40 | }, 41 | { 42 | "kode": "cak", 43 | "nama": "Cakapan", 44 | "deskripsi": "menandai kata yang digunakan dalam ragam takbaku" 45 | }, 46 | { 47 | "kode": "Ar", 48 | "nama": "Arab", 49 | "deskripsi": "-" 50 | } 51 | ], 52 | "submakna": [ 53 | "kata untuk menguatkan atau mengungkapkan dengan perkataan lain" 54 | ], 55 | "info": "", 56 | "contoh": [ 57 | "aneh -- ajaib" 58 | ] 59 | } 60 | ], 61 | "etimologi": { 62 | "kelas": [ 63 | "n", 64 | "sg", 65 | "m" 66 | ], 67 | "bahasa": "Arab", 68 | "asal_kata": "\u0627\u0650\u0628\u0652\u0646\u064c", 69 | "pelafalan": "ibn", 70 | "arti": [ 71 | "anak lelaki" 72 | ] 73 | }, 74 | "kata_turunan": [], 75 | "gabungan_kata": [], 76 | "peribahasa": [], 77 | "idiom": [] 78 | }, 79 | { 80 | "nama": "BIN", 81 | "nomor": "", 82 | "kata_dasar": [], 83 | "pelafalan": "", 84 | "bentuk_tidak_baku": [], 85 | "varian": [], 86 | "makna": [ 87 | { 88 | "kelas": [ 89 | { 90 | "kode": "n", 91 | "nama": "Nomina", 92 | "deskripsi": "kata benda" 93 | }, 94 | { 95 | "kode": "sing", 96 | "nama": "singkatan", 97 | "deskripsi": "" 98 | } 99 | ], 100 | "submakna": [ 101 | "Badan Intelijen Negara (lembaga pemerintah nonkementerian Indonesia yang bertugas di bidang intelijen)" 102 | ], 103 | "info": "", 104 | "contoh": [] 105 | } 106 | ], 107 | "etimologi": null, 108 | "kata_turunan": [], 109 | "gabungan_kata": [], 110 | "peribahasa": [], 111 | "idiom": [] 112 | } 113 | ] 114 | } 115 | -------------------------------------------------------------------------------- /tests/kasus/auth/serialisasi/civitas academica.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/civitas%20academica", 3 | "entri": [ 4 | { 5 | "nama": "civitas academica", 6 | "nomor": "", 7 | "kata_dasar": [], 8 | "pelafalan": "", 9 | "bentuk_tidak_baku": [], 10 | "varian": [], 11 | "makna": [ 12 | { 13 | "kelas": [ 14 | { 15 | "kode": "ukp", 16 | "nama": "Ungkapan", 17 | "deskripsi": "" 18 | }, 19 | { 20 | "kode": "Lt", 21 | "nama": "Latin", 22 | "deskripsi": "-" 23 | } 24 | ], 25 | "submakna": [ 26 | "kelompok (warga) masyarakat akademik yang terdiri atas dosen dan mahasiswa dengan perwakilannya yang terbentuk melalui senat masing-masing" 27 | ], 28 | "info": "", 29 | "contoh": [] 30 | } 31 | ], 32 | "etimologi": null, 33 | "kata_turunan": [], 34 | "gabungan_kata": [], 35 | "peribahasa": [], 36 | "idiom": [] 37 | } 38 | ] 39 | } 40 | -------------------------------------------------------------------------------- /tests/kasus/auth/serialisasi/huk.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/huk", 3 | "entri": [], 4 | "saran_entri": [ 5 | "auk", 6 | "buk (1)", 7 | "buk (2)", 8 | "cuk", 9 | "duk", 10 | "hak (1)", 11 | "hak (2)", 12 | "hak (3)", 13 | "hak (4)", 14 | "huh", 15 | "hun", 16 | "hus", 17 | "Hut", 18 | "kuk (1)", 19 | "kuk (2)", 20 | "luk", 21 | "muk", 22 | "suk", 23 | "tuk (1)", 24 | "yuk (1)", 25 | "yuk (2)", 26 | "DUK", 27 | "HUT", 28 | "KUK", 29 | "UK", 30 | "hub (2)", 31 | "Hud", 32 | "tuk (2)", 33 | "guk" 34 | ] 35 | } 36 | -------------------------------------------------------------------------------- /tests/kasus/auth/serialisasi/idn45.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/idn45", 3 | "entri": [], 4 | "saran_entri": [] 5 | } 6 | -------------------------------------------------------------------------------- /tests/kasus/auth/serialisasi/kan.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/kan", 3 | "entri": [ 4 | { 5 | "nama": "kan", 6 | "nomor": "1", 7 | "kata_dasar": [], 8 | "pelafalan": "", 9 | "bentuk_tidak_baku": [], 10 | "varian": [], 11 | "makna": [ 12 | { 13 | "kelas": [ 14 | { 15 | "kode": "n", 16 | "nama": "Nomina", 17 | "deskripsi": "kata benda" 18 | }, 19 | { 20 | "kode": "ark", 21 | "nama": "Arkais", 22 | "deskripsi": "menandai kata yang tidak lazim" 23 | } 24 | ], 25 | "submakna": [ 26 | "langkan (pada perahu)" 27 | ], 28 | "info": "", 29 | "contoh": [] 30 | } 31 | ], 32 | "etimologi": null, 33 | "kata_turunan": [], 34 | "gabungan_kata": [], 35 | "peribahasa": [], 36 | "idiom": [] 37 | }, 38 | { 39 | "nama": "kan", 40 | "nomor": "2", 41 | "kata_dasar": [], 42 | "pelafalan": "", 43 | "bentuk_tidak_baku": [], 44 | "varian": [], 45 | "makna": [ 46 | { 47 | "kelas": [ 48 | { 49 | "kode": "adv", 50 | "nama": "Adverbia", 51 | "deskripsi": "kata yang menjelaskan verba, adjektiva, adverbia lain, atau kalimat" 52 | }, 53 | { 54 | "kode": "kp", 55 | "nama": "kependekan", 56 | "deskripsi": "" 57 | } 58 | ], 59 | "submakna": [ 60 | "bukan" 61 | ], 62 | "info": "", 63 | "contoh": [] 64 | } 65 | ], 66 | "etimologi": null, 67 | "kata_turunan": [], 68 | "gabungan_kata": [], 69 | "peribahasa": [], 70 | "idiom": [] 71 | }, 72 | { 73 | "nama": "kan", 74 | "nomor": "3", 75 | "kata_dasar": [], 76 | "pelafalan": "", 77 | "bentuk_tidak_baku": [], 78 | "varian": [], 79 | "makna": [ 80 | { 81 | "kelas": [ 82 | { 83 | "kode": "adv", 84 | "nama": "Adverbia", 85 | "deskripsi": "kata yang menjelaskan verba, adjektiva, adverbia lain, atau kalimat" 86 | }, 87 | { 88 | "kode": "kp", 89 | "nama": "kependekan", 90 | "deskripsi": "" 91 | } 92 | ], 93 | "submakna": [ 94 | "akan" 95 | ], 96 | "info": "", 97 | "contoh": [] 98 | } 99 | ], 100 | "etimologi": null, 101 | "kata_turunan": [], 102 | "gabungan_kata": [], 103 | "peribahasa": [], 104 | "idiom": [] 105 | }, 106 | { 107 | "nama": "kan", 108 | "nomor": "4", 109 | "kata_dasar": [], 110 | "pelafalan": "", 111 | "bentuk_tidak_baku": [], 112 | "varian": [], 113 | "makna": [ 114 | { 115 | "kelas": [ 116 | { 117 | "kode": "n", 118 | "nama": "Nomina", 119 | "deskripsi": "kata benda" 120 | } 121 | ], 122 | "submakna": [ 123 | "tempat memasak air teh", 124 | "morong", 125 | "teko" 126 | ], 127 | "info": "", 128 | "contoh": [] 129 | } 130 | ], 131 | "etimologi": null, 132 | "kata_turunan": [], 133 | "gabungan_kata": [], 134 | "peribahasa": [], 135 | "idiom": [] 136 | }, 137 | { 138 | "nama": "-kan", 139 | "nomor": "5", 140 | "kata_dasar": [], 141 | "pelafalan": "", 142 | "bentuk_tidak_baku": [], 143 | "varian": [], 144 | "makna": [ 145 | { 146 | "kelas": [ 147 | { 148 | "kode": "sufiks pembentuk verba", 149 | "nama": "-", 150 | "deskripsi": "-" 151 | } 152 | ], 153 | "submakna": [ 154 | "menjadikan" 155 | ], 156 | "info": "", 157 | "contoh": [ 158 | "jalankan", 159 | "datangkan", 160 | "hitamkan" 161 | ] 162 | }, 163 | { 164 | "kelas": [ 165 | { 166 | "kode": "sufiks pembentuk verba", 167 | "nama": "-", 168 | "deskripsi": "-" 169 | } 170 | ], 171 | "submakna": [ 172 | "sungguh-sungguh" 173 | ], 174 | "info": "", 175 | "contoh": [ 176 | "dengarkan", 177 | "camkan" 178 | ] 179 | }, 180 | { 181 | "kelas": [ 182 | { 183 | "kode": "sufiks pembentuk verba", 184 | "nama": "-", 185 | "deskripsi": "-" 186 | } 187 | ], 188 | "submakna": [ 189 | "untuk", 190 | "kepada orang lain" 191 | ], 192 | "info": "", 193 | "contoh": [ 194 | "sewakan", 195 | "bacakan" 196 | ] 197 | } 198 | ], 199 | "etimologi": null, 200 | "kata_turunan": [], 201 | "gabungan_kata": [], 202 | "peribahasa": [ 203 | "tak kan lari gunung dikejar, hilang kabut tampaklah dia" 204 | ], 205 | "idiom": [] 206 | } 207 | ] 208 | } 209 | -------------------------------------------------------------------------------- /tests/kasus/auth/serialisasi/karbon dioksida.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/karbon%20dioksida", 3 | "entri": [ 4 | { 5 | "nama": "karbon dioksida", 6 | "nomor": "", 7 | "kata_dasar": [ 8 | "karbon" 9 | ], 10 | "pelafalan": "", 11 | "bentuk_tidak_baku": [], 12 | "varian": [], 13 | "makna": [ 14 | { 15 | "kelas": [ 16 | { 17 | "kode": "Kim", 18 | "nama": "Kimia", 19 | "deskripsi": "-" 20 | } 21 | ], 22 | "submakna": [ 23 | "senyawa karbon dengan oksigen yang berupa gas tanpa warna, lebih berat dari udara, tidak terbakar, dan larut dalam air (digunakan dalam alat pemadam kebakaran)" 24 | ], 25 | "info": "\u3008CO2\u3009", 26 | "contoh": [] 27 | } 28 | ], 29 | "etimologi": null, 30 | "kata_turunan": [], 31 | "gabungan_kata": [], 32 | "peribahasa": [], 33 | "idiom": [] 34 | } 35 | ] 36 | } 37 | -------------------------------------------------------------------------------- /tests/kasus/auth/serialisasi/keratabasa.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/keratabasa", 3 | "entri": [ 4 | { 5 | "nama": "ke.ra.ta.ba.sa", 6 | "nomor": "", 7 | "kata_dasar": [], 8 | "pelafalan": "/k\u00e9ratabasa/", 9 | "bentuk_tidak_baku": [], 10 | "varian": [], 11 | "makna": [ 12 | { 13 | "kelas": [ 14 | { 15 | "kode": "n", 16 | "nama": "Nomina", 17 | "deskripsi": "kata benda" 18 | } 19 | ], 20 | "submakna": [ 21 | "perihal menerangkan arti kata dengan memperlakukannya sebagai singkatan, biasanya untuk lelucon (misalnya kata benci ditafsirkan sebagai \u2018benar-benar cinta\u2019)", 22 | "etimologi rakyat" 23 | ], 24 | "info": "", 25 | "contoh": [] 26 | } 27 | ], 28 | "etimologi": null, 29 | "kata_turunan": [], 30 | "gabungan_kata": [], 31 | "peribahasa": [], 32 | "idiom": [] 33 | } 34 | ] 35 | } 36 | -------------------------------------------------------------------------------- /tests/kasus/auth/serialisasi/khayal.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/khayal", 3 | "entri": [ 4 | { 5 | "nama": "kha.yal", 6 | "nomor": "", 7 | "kata_dasar": [], 8 | "pelafalan": "", 9 | "bentuk_tidak_baku": [ 10 | "kayal" 11 | ], 12 | "varian": [], 13 | "makna": [ 14 | { 15 | "kelas": [ 16 | { 17 | "kode": "n", 18 | "nama": "Nomina", 19 | "deskripsi": "kata benda" 20 | } 21 | ], 22 | "submakna": [ 23 | "lukisan (gambar) dalam angan-angan", 24 | "fantasi" 25 | ], 26 | "info": "", 27 | "contoh": [ 28 | "apa yang diceritakan itu -- belaka" 29 | ] 30 | }, 31 | { 32 | "kelas": [ 33 | { 34 | "kode": "n", 35 | "nama": "Nomina", 36 | "deskripsi": "kata benda" 37 | } 38 | ], 39 | "submakna": [ 40 | "yang diangan-angankan seperti benar-benar ada" 41 | ], 42 | "info": "", 43 | "contoh": [ 44 | "cerita --" 45 | ] 46 | } 47 | ], 48 | "etimologi": { 49 | "kelas": [ 50 | "n", 51 | "sg", 52 | "m" 53 | ], 54 | "bahasa": "Arab", 55 | "asal_kata": "\u062e\u064e\u064a\u064e\u0627\u0644\u064c", 56 | "pelafalan": "khay\u0101l", 57 | "arti": [ 58 | "bayang-bayang" 59 | ] 60 | }, 61 | "kata_turunan": [ 62 | "berkhayal", 63 | "khayalan", 64 | "mengkhayal", 65 | "mengkhayalkan", 66 | "pengkhayal", 67 | "pengkhayalan", 68 | "terkhayal" 69 | ], 70 | "gabungan_kata": [], 71 | "peribahasa": [], 72 | "idiom": [] 73 | } 74 | ] 75 | } 76 | -------------------------------------------------------------------------------- /tests/kasus/auth/serialisasi/lah.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/lah", 3 | "entri": [ 4 | { 5 | "nama": "-lah", 6 | "nomor": "1", 7 | "kata_dasar": [], 8 | "pelafalan": "", 9 | "bentuk_tidak_baku": [], 10 | "varian": [], 11 | "makna": [ 12 | { 13 | "kelas": [ 14 | { 15 | "kode": "bentuk terikat", 16 | "nama": "-", 17 | "deskripsi": "-" 18 | } 19 | ], 20 | "submakna": [ 21 | "yang digunakan untuk menekankan makna kata yang di depannya" 22 | ], 23 | "info": "", 24 | "contoh": [] 25 | } 26 | ], 27 | "etimologi": null, 28 | "kata_turunan": [], 29 | "gabungan_kata": [], 30 | "peribahasa": [], 31 | "idiom": [] 32 | }, 33 | { 34 | "nama": "lah", 35 | "nomor": "2", 36 | "kata_dasar": [], 37 | "pelafalan": "", 38 | "bentuk_tidak_baku": [], 39 | "varian": [], 40 | "makna": [ 41 | { 42 | "kelas": [ 43 | { 44 | "kode": "adv", 45 | "nama": "Adverbia", 46 | "deskripsi": "kata yang menjelaskan verba, adjektiva, adverbia lain, atau kalimat" 47 | }, 48 | { 49 | "kode": "kp", 50 | "nama": "kependekan", 51 | "deskripsi": "" 52 | } 53 | ], 54 | "submakna": [ 55 | "telah" 56 | ], 57 | "info": "", 58 | "contoh": [ 59 | "hari -- larut senja" 60 | ] 61 | } 62 | ], 63 | "etimologi": null, 64 | "kata_turunan": [], 65 | "gabungan_kata": [], 66 | "peribahasa": [], 67 | "idiom": [] 68 | }, 69 | { 70 | "nama": "lah", 71 | "nomor": "3", 72 | "kata_dasar": [], 73 | "pelafalan": "", 74 | "bentuk_tidak_baku": [], 75 | "varian": [], 76 | "makna": [ 77 | { 78 | "kelas": [ 79 | { 80 | "kode": "p", 81 | "nama": "Partikel", 82 | "deskripsi": "kelas kata yang meliputi kata depan, kata sambung, kata seru, kata sandang, ucapan salam" 83 | }, 84 | { 85 | "kode": "cak", 86 | "nama": "Cakapan", 87 | "deskripsi": "menandai kata yang digunakan dalam ragam takbaku" 88 | } 89 | ], 90 | "submakna": [ 91 | "kata seru untuk memberi tekanan atau menyungguhkan" 92 | ], 93 | "info": "", 94 | "contoh": [ 95 | "\u201c--, itu orangnya\u201d, katanya sambil menunjuk seseorang yang baru datang" 96 | ] 97 | } 98 | ], 99 | "etimologi": null, 100 | "kata_turunan": [], 101 | "gabungan_kata": [], 102 | "peribahasa": [ 103 | "mensiang yang baru dicari, kampil \u2018lah sudah dahulu" 104 | ], 105 | "idiom": [] 106 | } 107 | ] 108 | } 109 | -------------------------------------------------------------------------------- /tests/kasus/auth/serialisasi/lampir.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/lampir", 3 | "entri": [ 4 | { 5 | "nama": "lam.pir", 6 | "nomor": "", 7 | "kata_dasar": [], 8 | "pelafalan": "", 9 | "bentuk_tidak_baku": [], 10 | "varian": [], 11 | "makna": [ 12 | { 13 | "kelas": [ 14 | { 15 | "kode": "prakategorial", 16 | "nama": "prakategorial", 17 | "deskripsi": "kata tidak dipakai dalam bentuk dasarnya" 18 | } 19 | ], 20 | "submakna": [ 21 | "cari: lampiran, melampiri, melampirkan, terlampir" 22 | ], 23 | "info": "", 24 | "contoh": [] 25 | } 26 | ], 27 | "etimologi": null, 28 | "kata_turunan": [ 29 | "lampiran", 30 | "melampiri", 31 | "melampirkan", 32 | "terlampir" 33 | ], 34 | "gabungan_kata": [], 35 | "peribahasa": [], 36 | "idiom": [] 37 | } 38 | ] 39 | } 40 | -------------------------------------------------------------------------------- /tests/kasus/auth/serialisasi/makin.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/makin", 3 | "entri": [ 4 | { 5 | "nama": "ma.kin", 6 | "nomor": "", 7 | "kata_dasar": [], 8 | "pelafalan": "", 9 | "bentuk_tidak_baku": [ 10 | "mangkin", 11 | "semakin" 12 | ], 13 | "varian": [], 14 | "makna": [ 15 | { 16 | "kelas": [ 17 | { 18 | "kode": "adv", 19 | "nama": "Adverbia", 20 | "deskripsi": "kata yang menjelaskan verba, adjektiva, adverbia lain, atau kalimat" 21 | } 22 | ], 23 | "submakna": [ 24 | "kian bertambah" 25 | ], 26 | "info": "", 27 | "contoh": [ 28 | "tangisnya -- menjadi-jadi", 29 | "pesawat itu terbang -- tinggi" 30 | ] 31 | }, 32 | { 33 | "kelas": [ 34 | { 35 | "kode": "p", 36 | "nama": "Partikel", 37 | "deskripsi": "kelas kata yang meliputi kata depan, kata sambung, kata seru, kata sandang, ucapan salam" 38 | }, 39 | { 40 | "kode": "kl", 41 | "nama": "Klasik", 42 | "deskripsi": "menandai kata yang digunakan dalam kesusastraan Melayu Klasik" 43 | } 44 | ], 45 | "submakna": [ 46 | "lebih-lebih", 47 | "apalagi" 48 | ], 49 | "info": "", 50 | "contoh": [ 51 | "segala gembala gajah semuanya kasih akan Laksamana Khoja Hassan, -- kepada gembala Kepenjang itu jangan dikata lagi" 52 | ] 53 | } 54 | ], 55 | "etimologi": null, 56 | "kata_turunan": [ 57 | "semakin" 58 | ], 59 | "gabungan_kata": [], 60 | "peribahasa": [ 61 | "ilmu padi, makin berisi makin runduk", 62 | "jika pisau tiada berbaja, makin dikikir bertambah tumpul", 63 | "lagi murah, lagi menawar (makin murah, makin menawar)" 64 | ], 65 | "idiom": [] 66 | } 67 | ] 68 | } 69 | -------------------------------------------------------------------------------- /tests/kasus/auth/serialisasi/me-.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/me-", 3 | "entri": [ 4 | { 5 | "nama": "me-", 6 | "nomor": "", 7 | "kata_dasar": [], 8 | "pelafalan": "/m\u00ea-/", 9 | "bentuk_tidak_baku": [], 10 | "varian": [], 11 | "makna": [ 12 | { 13 | "kelas": [], 14 | "submakna": [ 15 | "\u2192 meng-" 16 | ], 17 | "info": "", 18 | "contoh": [] 19 | } 20 | ], 21 | "etimologi": null, 22 | "kata_turunan": [], 23 | "gabungan_kata": [], 24 | "peribahasa": [], 25 | "idiom": [] 26 | }, 27 | { 28 | "nama": "meng-", 29 | "nomor": "", 30 | "kata_dasar": [], 31 | "pelafalan": "/m\u00eang-/", 32 | "bentuk_tidak_baku": [], 33 | "varian": [ 34 | "me-", 35 | "mem-", 36 | "men-", 37 | "menge-", 38 | "meny-" 39 | ], 40 | "makna": [ 41 | { 42 | "kelas": [ 43 | { 44 | "kode": "prefiks pembentuk verba", 45 | "nama": "-", 46 | "deskripsi": "-" 47 | } 48 | ], 49 | "submakna": [ 50 | "menjadi" 51 | ], 52 | "info": "", 53 | "contoh": [ 54 | "mencair", 55 | "menguning", 56 | "mengkristal" 57 | ] 58 | }, 59 | { 60 | "kelas": [ 61 | { 62 | "kode": "prefiks pembentuk verba", 63 | "nama": "-", 64 | "deskripsi": "-" 65 | } 66 | ], 67 | "submakna": [ 68 | "berfungsi sebagai atau menyerupai" 69 | ], 70 | "info": "", 71 | "contoh": [ 72 | "menyupir", 73 | "menggunung" 74 | ] 75 | }, 76 | { 77 | "kelas": [ 78 | { 79 | "kode": "prefiks pembentuk verba", 80 | "nama": "-", 81 | "deskripsi": "-" 82 | } 83 | ], 84 | "submakna": [ 85 | "makan atau minum" 86 | ], 87 | "info": "", 88 | "contoh": [ 89 | "menyatai", 90 | "mengopi", 91 | "mengeteh" 92 | ] 93 | }, 94 | { 95 | "kelas": [ 96 | { 97 | "kode": "prefiks pembentuk verba", 98 | "nama": "-", 99 | "deskripsi": "-" 100 | } 101 | ], 102 | "submakna": [ 103 | "menuju" 104 | ], 105 | "info": "", 106 | "contoh": [ 107 | "mengutara", 108 | "melaut", 109 | "menepi" 110 | ] 111 | }, 112 | { 113 | "kelas": [ 114 | { 115 | "kode": "prefiks pembentuk verba", 116 | "nama": "-", 117 | "deskripsi": "-" 118 | } 119 | ], 120 | "submakna": [ 121 | "mencari atau mengumpulkan" 122 | ], 123 | "info": "", 124 | "contoh": [ 125 | "mendamar", 126 | "merumput" 127 | ] 128 | }, 129 | { 130 | "kelas": [ 131 | { 132 | "kode": "prefiks pembentuk verba", 133 | "nama": "-", 134 | "deskripsi": "-" 135 | } 136 | ], 137 | "submakna": [ 138 | "mengeluarkan bunyi" 139 | ], 140 | "info": "", 141 | "contoh": [ 142 | "mengeong", 143 | "mengaum", 144 | "mencicit" 145 | ] 146 | }, 147 | { 148 | "kelas": [ 149 | { 150 | "kode": "prefiks pembentuk verba", 151 | "nama": "-", 152 | "deskripsi": "-" 153 | } 154 | ], 155 | "submakna": [ 156 | "menimbulkan kesan seperti seseorang atau sesuatu yang" 157 | ], 158 | "info": "", 159 | "contoh": [ 160 | "membisu", 161 | "membatu", 162 | "merendah hati" 163 | ] 164 | }, 165 | { 166 | "kelas": [ 167 | { 168 | "kode": "prefiks pembentuk verba", 169 | "nama": "-", 170 | "deskripsi": "-" 171 | } 172 | ], 173 | "submakna": [ 174 | "dasar verba" 175 | ], 176 | "info": "", 177 | "contoh": [ 178 | "membaca", 179 | "menulis", 180 | "membajak" 181 | ] 182 | }, 183 | { 184 | "kelas": [ 185 | { 186 | "kode": "prefiks pembentuk verba", 187 | "nama": "-", 188 | "deskripsi": "-" 189 | } 190 | ], 191 | "submakna": [ 192 | "membuat", 193 | "menghasilkan" 194 | ], 195 | "info": "", 196 | "contoh": [ 197 | "menyambal", 198 | "menggulai", 199 | "membatik" 200 | ] 201 | }, 202 | { 203 | "kelas": [ 204 | { 205 | "kode": "prefiks pembentuk verba", 206 | "nama": "-", 207 | "deskripsi": "-" 208 | } 209 | ], 210 | "submakna": [ 211 | "menyatakan" 212 | ], 213 | "info": "", 214 | "contoh": [ 215 | "mengaku" 216 | ] 217 | } 218 | ], 219 | "etimologi": null, 220 | "kata_turunan": [], 221 | "gabungan_kata": [], 222 | "peribahasa": [], 223 | "idiom": [] 224 | } 225 | ] 226 | } 227 | -------------------------------------------------------------------------------- /tests/kasus/auth/serialisasi/menjadikan.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/menjadikan", 3 | "entri": [ 4 | { 5 | "nama": "men.ja.di.kan", 6 | "nomor": "", 7 | "kata_dasar": [ 8 | "jadi (1)" 9 | ], 10 | "pelafalan": "", 11 | "bentuk_tidak_baku": [], 12 | "varian": [], 13 | "makna": [ 14 | { 15 | "kelas": [ 16 | { 17 | "kode": "v", 18 | "nama": "Verba", 19 | "deskripsi": "kata kerja" 20 | } 21 | ], 22 | "submakna": [ 23 | "membuat sebagai", 24 | "merupakan" 25 | ], 26 | "info": "", 27 | "contoh": [ 28 | "ia ~ sakit adiknya sebagai alasan untuk tidak pergi kuliah" 29 | ] 30 | }, 31 | { 32 | "kelas": [ 33 | { 34 | "kode": "v", 35 | "nama": "Verba", 36 | "deskripsi": "kata kerja" 37 | } 38 | ], 39 | "submakna": [ 40 | "menyebabkan" 41 | ], 42 | "info": "", 43 | "contoh": [ 44 | "hal itu akan ~ orang lain marah-marah" 45 | ] 46 | }, 47 | { 48 | "kelas": [ 49 | { 50 | "kode": "v", 51 | "nama": "Verba", 52 | "deskripsi": "kata kerja" 53 | } 54 | ], 55 | "submakna": [ 56 | "mengangkat (memilih) sebagai" 57 | ], 58 | "info": "", 59 | "contoh": [ 60 | "rakyat telah ~ dia kepala desa" 61 | ] 62 | }, 63 | { 64 | "kelas": [ 65 | { 66 | "kode": "v", 67 | "nama": "Verba", 68 | "deskripsi": "kata kerja" 69 | } 70 | ], 71 | "submakna": [ 72 | "melaksanakan (rencana, janji, dan sebagainya)" 73 | ], 74 | "info": "", 75 | "contoh": [ 76 | "ia ~ penawarannya untuk membeli rumah itu" 77 | ] 78 | }, 79 | { 80 | "kelas": [ 81 | { 82 | "kode": "v", 83 | "nama": "Verba", 84 | "deskripsi": "kata kerja" 85 | } 86 | ], 87 | "submakna": [ 88 | "menciptakan", 89 | "mengadakan" 90 | ], 91 | "info": "", 92 | "contoh": [ 93 | "Tuhan yang ~ langit dan bumi beserta isinya" 94 | ] 95 | } 96 | ], 97 | "etimologi": null, 98 | "kata_turunan": [], 99 | "gabungan_kata": [ 100 | "menjadikan hati" 101 | ], 102 | "peribahasa": [], 103 | "idiom": [] 104 | } 105 | ] 106 | } 107 | -------------------------------------------------------------------------------- /tests/kasus/auth/serialisasi/quo vadis?.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/Cari/Hasil?frasa=quo%20vadis%3F", 3 | "entri": [ 4 | { 5 | "nama": "quo vadis?", 6 | "nomor": "", 7 | "kata_dasar": [], 8 | "pelafalan": "", 9 | "bentuk_tidak_baku": [], 10 | "varian": [], 11 | "makna": [ 12 | { 13 | "kelas": [ 14 | { 15 | "kode": "ukp", 16 | "nama": "Ungkapan", 17 | "deskripsi": "" 18 | }, 19 | { 20 | "kode": "Lt", 21 | "nama": "Latin", 22 | "deskripsi": "-" 23 | } 24 | ], 25 | "submakna": [ 26 | "hendak pergi ke mana? (dipakai untuk mengingatkan seseorang agar memperbaiki dirinya)" 27 | ], 28 | "info": "", 29 | "contoh": [] 30 | } 31 | ], 32 | "etimologi": null, 33 | "kata_turunan": [], 34 | "gabungan_kata": [], 35 | "peribahasa": [], 36 | "idiom": [] 37 | } 38 | ] 39 | } 40 | -------------------------------------------------------------------------------- /tests/kasus/auth/serialisasi/ranah.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/ranah", 3 | "entri": [ 4 | { 5 | "nama": "ra.nah", 6 | "nomor": "", 7 | "kata_dasar": [], 8 | "pelafalan": "", 9 | "bentuk_tidak_baku": [], 10 | "varian": [], 11 | "makna": [ 12 | { 13 | "kelas": [ 14 | { 15 | "kode": "n", 16 | "nama": "Nomina", 17 | "deskripsi": "kata benda" 18 | } 19 | ], 20 | "submakna": [ 21 | "tanah rata", 22 | "dataran rendah", 23 | "lembah" 24 | ], 25 | "info": "", 26 | "contoh": [] 27 | }, 28 | { 29 | "kelas": [ 30 | { 31 | "kode": "n", 32 | "nama": "Nomina", 33 | "deskripsi": "kata benda" 34 | } 35 | ], 36 | "submakna": [ 37 | "tanah yang berpaya-paya" 38 | ], 39 | "info": "", 40 | "contoh": [] 41 | }, 42 | { 43 | "kelas": [ 44 | { 45 | "kode": "n", 46 | "nama": "Nomina", 47 | "deskripsi": "kata benda" 48 | } 49 | ], 50 | "submakna": [ 51 | "elemen atau unsur yang dibatasi", 52 | "bidang disiplin" 53 | ], 54 | "info": "", 55 | "contoh": [] 56 | }, 57 | { 58 | "kelas": [ 59 | { 60 | "kode": "n", 61 | "nama": "Nomina", 62 | "deskripsi": "kata benda" 63 | }, 64 | { 65 | "kode": "Ling", 66 | "nama": "Linguistik", 67 | "deskripsi": "-" 68 | } 69 | ], 70 | "submakna": [ 71 | "lingkungan yang memungkinkan terjadinya percakapan, merupakan kombinasi antara partisipan, topik, dan tempat (misalnya keluarga, pendidikan, tempat kerja, keagamaan, dan sebagainya)" 72 | ], 73 | "info": "", 74 | "contoh": [] 75 | }, 76 | { 77 | "kelas": [ 78 | { 79 | "kode": "n", 80 | "nama": "Nomina", 81 | "deskripsi": "kata benda" 82 | }, 83 | { 84 | "kode": "Psi", 85 | "nama": "Psikologi", 86 | "deskripsi": "-" 87 | } 88 | ], 89 | "submakna": [ 90 | "bagian (satuan) perilaku manusia" 91 | ], 92 | "info": "", 93 | "contoh": [ 94 | "-- afektif berbagai perilaku yang berkaitan dengan perasaan", 95 | "-- kognitif perilaku yang menjadi kegiatan kognisi atau pikiran" 96 | ] 97 | } 98 | ], 99 | "etimologi": null, 100 | "kata_turunan": [], 101 | "gabungan_kata": [ 102 | "ranah afektif", 103 | "ranah eminen", 104 | "ranah frekuensi", 105 | "ranah kognitif", 106 | "ranah politik", 107 | "ranah psikomotor" 108 | ], 109 | "peribahasa": [], 110 | "idiom": [] 111 | } 112 | ] 113 | } 114 | -------------------------------------------------------------------------------- /tests/kasus/auth/serialisasi/roh.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/roh", 3 | "entri": [ 4 | { 5 | "nama": "roh", 6 | "nomor": "", 7 | "kata_dasar": [], 8 | "pelafalan": "", 9 | "bentuk_tidak_baku": [ 10 | "ruh" 11 | ], 12 | "varian": [], 13 | "makna": [ 14 | { 15 | "kelas": [ 16 | { 17 | "kode": "n", 18 | "nama": "Nomina", 19 | "deskripsi": "kata benda" 20 | } 21 | ], 22 | "submakna": [ 23 | "sesuatu (unsur) yang ada dalam jasad yang diciptakan Tuhan sebagai penyebab adanya hidup (kehidupan)", 24 | "nyawa" 25 | ], 26 | "info": "", 27 | "contoh": [ 28 | "jika -- sudah berpisah dari badan, berakhirlah kehidupan seseorang" 29 | ] 30 | }, 31 | { 32 | "kelas": [ 33 | { 34 | "kode": "n", 35 | "nama": "Nomina", 36 | "deskripsi": "kata benda" 37 | } 38 | ], 39 | "submakna": [ 40 | "makhluk hidup yang tidak berjasad, tetapi berpikiran dan berperasaan (malaikat, jin, setan, dan sebagainya)" 41 | ], 42 | "info": "", 43 | "contoh": [] 44 | }, 45 | { 46 | "kelas": [ 47 | { 48 | "kode": "n", 49 | "nama": "Nomina", 50 | "deskripsi": "kata benda" 51 | }, 52 | { 53 | "kode": "ki", 54 | "nama": "kiasan", 55 | "deskripsi": "" 56 | } 57 | ], 58 | "submakna": [ 59 | "semangat", 60 | "spirit" 61 | ], 62 | "info": "", 63 | "contoh": [ 64 | "kedamaian bagi seluruh warga sesuai dengan -- Islam" 65 | ] 66 | } 67 | ], 68 | "etimologi": { 69 | "kelas": [ 70 | "n", 71 | "sg", 72 | "f/m" 73 | ], 74 | "bahasa": "Arab", 75 | "asal_kata": "\u0631\u064f\u0648\u0652\u062d\u064c", 76 | "pelafalan": "r\u016bh", 77 | "arti": [ 78 | "tiupan", 79 | "sesuatu yang membuat manusia dapat hidup" 80 | ] 81 | }, 82 | "kata_turunan": [], 83 | "gabungan_kata": [ 84 | "roh Kudus", 85 | "roh suci" 86 | ], 87 | "peribahasa": [], 88 | "idiom": [] 89 | } 90 | ] 91 | } 92 | -------------------------------------------------------------------------------- /tests/kasus/auth/serialisasi/sage.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/sage", 3 | "entri": [ 4 | { 5 | "nama": "sa.ge", 6 | "nomor": "1", 7 | "kata_dasar": [], 8 | "pelafalan": "/sag\u00e9/", 9 | "bentuk_tidak_baku": [], 10 | "varian": [], 11 | "makna": [ 12 | { 13 | "kelas": [ 14 | { 15 | "kode": "n", 16 | "nama": "Nomina", 17 | "deskripsi": "kata benda" 18 | } 19 | ], 20 | "submakna": [ 21 | "cerita rakyat berdasarkan cerita sejarah yang sudah ditambah imajinasi masyarakat" 22 | ], 23 | "info": "", 24 | "contoh": [] 25 | } 26 | ], 27 | "etimologi": null, 28 | "kata_turunan": [], 29 | "gabungan_kata": [], 30 | "peribahasa": [], 31 | "idiom": [] 32 | }, 33 | { 34 | "nama": "sa.ge", 35 | "nomor": "2", 36 | "kata_dasar": [], 37 | "pelafalan": "/sag\u00e9/", 38 | "bentuk_tidak_baku": [], 39 | "varian": [], 40 | "makna": [ 41 | { 42 | "kelas": [ 43 | { 44 | "kode": "n", 45 | "nama": "Nomina", 46 | "deskripsi": "kata benda" 47 | } 48 | ], 49 | "submakna": [ 50 | "tanaman yang termasuk keluarga min, tingginya dapat mencapai 70 cm, daunnya berbentuk oval, keras, berbulu halus, beraroma tajam, dan biasa digunakan sebagai bumbu masakan" 51 | ], 52 | "info": "\u3008Salvia officinalis\u3009", 53 | "contoh": [] 54 | } 55 | ], 56 | "etimologi": null, 57 | "kata_turunan": [], 58 | "gabungan_kata": [], 59 | "peribahasa": [], 60 | "idiom": [] 61 | } 62 | ] 63 | } 64 | -------------------------------------------------------------------------------- /tests/kasus/auth/serialisasi/semakin.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/semakin", 3 | "entri": [ 4 | { 5 | "nama": "se.ma.kin", 6 | "nomor": "", 7 | "kata_dasar": [ 8 | "makin" 9 | ], 10 | "pelafalan": "", 11 | "bentuk_tidak_baku": [], 12 | "varian": [], 13 | "makna": [], 14 | "etimologi": null, 15 | "kata_turunan": [], 16 | "gabungan_kata": [], 17 | "peribahasa": [], 18 | "idiom": [] 19 | }, 20 | { 21 | "nama": "se.ma.kin", 22 | "nomor": "", 23 | "kata_dasar": [], 24 | "pelafalan": "/s\u00eamakin/", 25 | "bentuk_tidak_baku": [], 26 | "varian": [], 27 | "makna": [ 28 | { 29 | "kelas": [], 30 | "submakna": [ 31 | "\u2192 makin" 32 | ], 33 | "info": "", 34 | "contoh": [] 35 | } 36 | ], 37 | "etimologi": null, 38 | "kata_turunan": [], 39 | "gabungan_kata": [], 40 | "peribahasa": [], 41 | "idiom": [] 42 | } 43 | ] 44 | } 45 | -------------------------------------------------------------------------------- /tests/kasus/auth/serialisasi/tampak.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/tampak", 3 | "entri": [ 4 | { 5 | "nama": "tam.pak", 6 | "nomor": "1", 7 | "kata_dasar": [], 8 | "pelafalan": "", 9 | "bentuk_tidak_baku": [ 10 | "nampak" 11 | ], 12 | "varian": [], 13 | "makna": [ 14 | { 15 | "kelas": [ 16 | { 17 | "kode": "v", 18 | "nama": "Verba", 19 | "deskripsi": "kata kerja" 20 | } 21 | ], 22 | "submakna": [ 23 | "dapat dilihat", 24 | "kelihatan" 25 | ], 26 | "info": "", 27 | "contoh": [ 28 | "pulau itu sudah -- dari sini" 29 | ] 30 | }, 31 | { 32 | "kelas": [ 33 | { 34 | "kode": "v", 35 | "nama": "Verba", 36 | "deskripsi": "kata kerja" 37 | } 38 | ], 39 | "submakna": [ 40 | "memperlihatkan diri", 41 | "muncul" 42 | ], 43 | "info": "", 44 | "contoh": [ 45 | "sudah lama dia tidak --" 46 | ] 47 | } 48 | ], 49 | "etimologi": null, 50 | "kata_turunan": [ 51 | "ketampakan", 52 | "menampak", 53 | "menampakkan", 54 | "penampakan", 55 | "tampak-tampak", 56 | "tampaknya", 57 | "tertampak" 58 | ], 59 | "gabungan_kata": [], 60 | "peribahasa": [], 61 | "idiom": [] 62 | }, 63 | { 64 | "nama": "tam.pak", 65 | "nomor": "2", 66 | "kata_dasar": [], 67 | "pelafalan": "", 68 | "bentuk_tidak_baku": [], 69 | "varian": [], 70 | "makna": [ 71 | { 72 | "kelas": [], 73 | "submakna": [ 74 | "\u2192 campak (2)" 75 | ], 76 | "info": "", 77 | "contoh": [] 78 | } 79 | ], 80 | "etimologi": null, 81 | "kata_turunan": [], 82 | "gabungan_kata": [], 83 | "peribahasa": [ 84 | "buka kulit, ambil (tampak) isi", 85 | "datang tampak muka, pulang tampak punggung", 86 | "datang tampak muka, pulang tampak punggung", 87 | "hilang sepuh tampak senam", 88 | "kuman di seberang lautan tampak, gajah di pelupuk mata tidak tampak", 89 | "tampak gabak di hulu (gabak di hulu tanda akan hujan)", 90 | "tampak tembelangnya", 91 | "terpijak benang arang hitam tampak", 92 | "yang tinggi tampak jauh, yang dekat jolong bersua" 93 | ], 94 | "idiom": [ 95 | "tidak tampak batang hidungnya" 96 | ] 97 | } 98 | ] 99 | } 100 | -------------------------------------------------------------------------------- /tests/kasus/auth/str/a.n..txt: -------------------------------------------------------------------------------- 1 | a.n. 2 | (n) (sing) atas nama 3 | -------------------------------------------------------------------------------- /tests/kasus/auth/str/air.txt: -------------------------------------------------------------------------------- 1 | air 2 | bentuk tidak baku: ki (2) 3 | 1. (n) cairan jernih tidak berwarna, tidak berasa, dan tidak berbau yang diperlukan dalam kehidupan manusia, hewan, dan tumbuhan yang secara kimiawi mengandung hidrogen dan oksigen 4 | 2. (n) benda cair yang biasa terdapat di sumur, sungai, danau yang mendidih pada suhu 100˚C 5 | 3. (n) (cak) ronde pada pertandingan adu ayam, berdurasi lima belas menit, diawali dengan penyapuan air pada ketiak, leher, paha, dan dubur ayam agar suhu badan ayam tetap dingin atau stabil selama pertandingan: ayam dia kemarin menang satu -- empat menit 6 | Kata Turunan 7 | berair; berpengairan; keairan; mengairi; pengairan; perairan 8 | Gabungan Kata 9 | air abu; air adas; air adhesif; air adsorpsi; air aerial; air agresif; air aki; air alam; air alami; air alas; air alkali; air ampai; air ampuh; air anaerob; air anggur; air api; air aromatik; air artesis; air arwah; air asam; air asin; air asli; air atar; air awamineral; air babak; air bad; air bah; air bakat; air baku; air balas; air bawaan; air bawah permukaan; air bawah tanah; air bebas; air bebas mineral; air beku; air belanda; air bena; air beras; air berat; air bergerak; air bermineral; air bersih; air besar; air biofilter; air biru; air boron; air bumi; air celah; air comberan; air curah; air dadih; air demineralisasi; air diam; air didih; air doa; air ekstraseluler; air emas; air es; air fosil; air freatik; air garam; air got; air gravitasi; air hablur; air heksagonal; air hidroskopik; air hidung; air higroskopis; air hitam; air imbibisi; air infusan; air intraselular; air irigasi; air jenuh; air jeruk; air juvenil; air kandang; air kapiler; air kapur; air karbonat; air keling; air kemih; air kencing; air keras; air ketuban; air ki; air kisi; air koloh-koloh; air konduktivitas; air kristalisasi; air kubangan; air kujumas; air kumbahan; air kumur; air label ganda; air landa; air lata; air laut; air laut saniter; air leding; air limbah; air lingkar; air liur; air ludah; air lunak; air magma; air malihan; air mampu curah; air mancur; air mandi; air mani; air manis; air maram; air masin; air mata; air mata duyung; air matang; air mati; air maulhayat; air mawar; air merta jiwa; air metabolik; air metabolisme; air mineral; air minum; air muka; air mustakmal; air najis; air normal; air oligotrofik; air pasang; air payau; air pemandian alam; air pengisi; air penyeimbang beban; air perak; air perbani; air permen; air permukaan; air pertumbuhan; air primer; air purwa; air pusar; air putih; air raksa; air rasa; air ruang antara; air ruban; air sabun; air sadah; air saput; air sebak; air segar; air selera; air sembahyang; air sembilan; air senak; air seni; air senyawa; air serani; air setaman; air sisipan; air soda; air suci; air suling; air suling dua kali; air sumur; air suri; air surut; air susu; air susu jolong; air susu pengganti; air takbermineral; air taktersedia; air talkin; air tambang asam; air tanah; air tanah anteseden; air tanah bebas; air tanah lapisan atas; air tanah limpasan hujan; air tanah tetap; air tanah tubir; air tanih; air tawar; air teh; air tenang; air tepung tawar; air terdemineralisasi; air terikat; air terjun; air terminumkan; air tersedia; air tersekap; air tersenyawa; air timah; air timpas; air tolak bala; air tolak bara; air tuban; air utama jiwa; air wangi; air wudu 10 | Peribahasa (mengandung [air]) 11 | (air) susu dibalas dengan (air) tuba; air beriak tanda tak dalam; air beriak tanda tak dalam; air besar batu bersibak; air cucuran atap jatuh ke pelimbahan juga; air di daun keladi (daun keladi dimandikan); air diminum rasa duri, nasi dimakan rasa sekam; air jernih ikannya jinak; air lalu berkubak tohor; air susu dibalas dengan air tuba; air tenang (biasa) menghanyutkan; air tenang menghanyutkan; arang itu jikalau dibasuh dengan air mawar sekalipun, tiada akan putih; bagai air di daun talas; bagai garam jatuh ke air; bagai geluk tinggal di air; bagai kambing dibawa ke air; bak mandi di air kiambang, pelak lepas gatal pun datang; becermin di air keruh; berani sendok pengedang, air hangat direnanginya; berendam sesayak air, berpaut sejengkal tali; berendam sesayak air, berpaut sejengkal tali; berkering air liur; bermain air basah, bermain api lecur; bermain air basah, bermain api letup; bermain air basah, bermain api letup, bermain pisau luka; bertohor air liur; bondong air bondong ikan; bulat air oleh pembuluh, bulat kata oleh mufakat; bunyi perempuan di air; di mana ranting dipatah, di situ air disauk; harapkan guruh (guntur) di langit, air di tempayan ditumpahkan; hendak berminyak-minyak air; itik berenang di laut (air), mati kehausan; jelatang di hulu air; jika tak lalu dandang di air, di gurun dirangkakkan (ditanjakkan); memancing di air keruh; membalas air susu dengan air tuba; membandarkan air ke bukit; menaikkan air ke gurun; menambak gunung, menggarami air laut; menangguk di air keruh; menangis daun bangun-bangun hendak sama dengan hilir air; mencari jejak dalam air; menjilat air liur; menyelami air dalam tonggak; menyurat di atas air; minyak dengan air adakah (bolehkah) bercampur? (minyak dan air masa sama); orang dahaga diberi air; orang haus diberi air, orang lapar diberi nasi; pandai berminyak air; pengayuh sama di tangan, perahu sama di air; perahu sudah di tangan, perahu sudah di air; puyu di air jernih; rasam minyak ke minyak, rasam air ke air; sambil menyelam minum air; sambil menyelam minum air; sauk (menyauk) air mandikan diri; sebagai minyak dengan air; selama gagak hitam, selama air hilir; seperti air basuh tangan; seperti ikan dalam air; sukat air menjadi batu; sumur digali air terbit; tak air talang dipancung; tanah lembah kandungan air, kayu bengkok titian kera; tempayan tertiarap dalam air; tertangkup sama termakan tanah, telentang sama terminum air; tertelentang berisi air, tertiarap berisi tanah; tertelentang sama terminum air, tertelungkup sama termakan tanah; tidur bertilam air mata; umpama air digenggam tiada tiris 12 | Idiom (mengandung [air]) 13 | bagai minyak dengan air; berminyak (air) mukanya 14 | -------------------------------------------------------------------------------- /tests/kasus/auth/str/alam.txt: -------------------------------------------------------------------------------- 1 | alam (1) 2 | Etimologi: [Arab] (n) (sg) (m) عَالَمٌ ‘ālam: manusia; seluruh makhluk 3 | 1. (n) segala yang ada di langit dan di bumi (seperti bumi, bintang, kekuatan): -- sekeliling 4 | 2. (n) lingkungan kehidupan 5 | 3. (n) segala sesuatu yang termasuk dalam satu lingkungan (golongan dan sebagainya) dan dianggap sebagai satu keutuhan: -- pikiran; -- tumbuh-tumbuhan 6 | 4. (n) segala daya (gaya, kekuatan, dan sebagainya) yang menyebabkan terjadinya dan seakan-akan mengatur segala sesuatu yang ada di dunia ini: hukum --; ilmu -- 7 | 5. (n) yang bukan buatan manusia: karet -- 8 | 6. (n) dunia: -- semesta; syah -- 9 | 7. (n) kerajaan; daerah; negeri: -- Minangkabau 10 | Kata Turunan 11 | beralam; kealaman 12 | Gabungan Kata 13 | alam akhirat; alam arwah; alam astral; alam baka; alam barzakh; alam besar; alam fana; alam gaib; alam kabir; alam kecil; alam kekal; alam kelanggengan; alam kubur; alam malakut; alam misal; alam nabati; alam pikiran; alam rahim; alam raya; alam sagir; alam samar; alam semesta; alam semesta datar; alam semesta terbuka; alam semesta tertutup 14 | 15 | alam (2) 16 | Etimologi: [Arab] (n) (sg) (m) عَلَمٌ ‘alam: gunung; tanda; lukisan pada baju; plang jalan; bendera pasukan perang 17 | (prakategorial) cari: berpengalaman, mengalami, pengalam, pengalaman 18 | Kata Turunan 19 | berpengalaman; mengalami; pengalam; pengalaman 20 | 21 | alam (3) 22 | (n) bendera (panji-panji) sebagai tanda (pada pasukan dan sebagainya) 23 | Idiom (mengandung [alam]) 24 | negeri (alam) yang baka; pergi ke alam baka 25 | -------------------------------------------------------------------------------- /tests/kasus/auth/str/asalamualaikum.txt: -------------------------------------------------------------------------------- 1 | asa.la.mu.a.la.i.kum 2 | Etimologi: [Arab] السَّلَامُ عَلَيْكُمْ al-salām ‘alaikum: semoga kedamaian menyertai Anda semua 3 | (n) keselamatan (kesejahteraan, kedamaian) untukmu (biasanya diucapkan pada awal dan akhir pidato, saat bertemu dengan seseorang, dan sebagainya) 4 | -------------------------------------------------------------------------------- /tests/kasus/auth/str/beruang.txt: -------------------------------------------------------------------------------- 1 | uang » ber.u.ang 2 | 1. (v) mempunyai uang: sepeser pun saya tidak ~ 3 | 2. (a) (ki) kaya: orang yang dapat menikmati makanan semahal itu hanyalah orang yang ~ 4 | 5 | be.ru.ang /bêruang/ 6 | (n) binatang buas jenis Ursus, berbulu tebal, dapat berdiri di atas kedua kaki belakangnya, bercakar, dan bermoncong panjang (banyak macamnya, seperti -- bukit, -- damar, -- putih) 7 | Gabungan Kata 8 | beruang es; beruang kutub 9 | Peribahasa (mengandung [beruang]) 10 | hilang rona karena penyakit, hilang bangsa tidak beruang 11 | -------------------------------------------------------------------------------- /tests/kasus/auth/str/bin.txt: -------------------------------------------------------------------------------- 1 | bin 2 | Etimologi: [Arab] (n) (sg) (m) اِبْنٌ ibn: anak lelaki 3 | 1. (n) (Ar) kata untuk menyatakan anak laki-laki dari seseorang (biasa dipakai untuk keterangan antara nama seseorang dan nama ayah); anak laki-laki dari: Amat -- Soleh Amat anak dari Soleh 4 | 2. (p) (cak) (Ar) kata untuk menguatkan atau mengungkapkan dengan perkataan lain: aneh -- ajaib 5 | 6 | BIN 7 | (n) (sing) Badan Intelijen Negara (lembaga pemerintah nonkementerian Indonesia yang bertugas di bidang intelijen) 8 | -------------------------------------------------------------------------------- /tests/kasus/auth/str/civitas academica.txt: -------------------------------------------------------------------------------- 1 | civitas academica 2 | (ukp) (Lt) kelompok (warga) masyarakat akademik yang terdiri atas dosen dan mahasiswa dengan perwakilannya yang terbentuk melalui senat masing-masing 3 | -------------------------------------------------------------------------------- /tests/kasus/auth/str/huk.txt: -------------------------------------------------------------------------------- 1 | Berikut beberapa saran entri lain yang mirip. 2 | auk, buk (1), buk (2), cuk, duk, hak (1), hak (2), hak (3), hak (4), huh, hun, hus, Hut, kuk (1), kuk (2), luk, muk, suk, tuk (1), yuk (1), yuk (2), DUK, HUT, KUK, UK, hub (2), Hud, tuk (2), guk 3 | -------------------------------------------------------------------------------- /tests/kasus/auth/str/idn45.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/kasus/auth/str/kan.txt: -------------------------------------------------------------------------------- 1 | kan (1) 2 | (n) (ark) langkan (pada perahu) 3 | 4 | kan (2) 5 | (adv) (kp) bukan 6 | 7 | kan (3) 8 | (adv) (kp) akan 9 | 10 | kan (4) 11 | (n) tempat memasak air teh; morong; teko 12 | 13 | -kan (5) 14 | 1. (sufiks pembentuk verba) menjadikan: jalankan; datangkan; hitamkan 15 | 2. (sufiks pembentuk verba) sungguh-sungguh: dengarkan; camkan 16 | 3. (sufiks pembentuk verba) untuk; kepada orang lain: sewakan; bacakan 17 | Peribahasa (mengandung [-kan]) 18 | tak kan lari gunung dikejar, hilang kabut tampaklah dia 19 | -------------------------------------------------------------------------------- /tests/kasus/auth/str/karbon dioksida.txt: -------------------------------------------------------------------------------- 1 | karbon » karbon dioksida 2 | (Kim) senyawa karbon dengan oksigen yang berupa gas tanpa warna, lebih berat dari udara, tidak terbakar, dan larut dalam air (digunakan dalam alat pemadam kebakaran) 〈CO2〉 3 | -------------------------------------------------------------------------------- /tests/kasus/auth/str/keratabasa.txt: -------------------------------------------------------------------------------- 1 | ke.ra.ta.ba.sa /kératabasa/ 2 | (n) perihal menerangkan arti kata dengan memperlakukannya sebagai singkatan, biasanya untuk lelucon (misalnya kata benci ditafsirkan sebagai ‘benar-benar cinta’); etimologi rakyat 3 | -------------------------------------------------------------------------------- /tests/kasus/auth/str/khayal.txt: -------------------------------------------------------------------------------- 1 | kha.yal 2 | bentuk tidak baku: kayal 3 | Etimologi: [Arab] (n) (sg) (m) خَيَالٌ khayāl: bayang-bayang 4 | 1. (n) lukisan (gambar) dalam angan-angan; fantasi: apa yang diceritakan itu -- belaka 5 | 2. (n) yang diangan-angankan seperti benar-benar ada: cerita -- 6 | Kata Turunan 7 | berkhayal; khayalan; mengkhayal; mengkhayalkan; pengkhayal; pengkhayalan; terkhayal 8 | -------------------------------------------------------------------------------- /tests/kasus/auth/str/lah.txt: -------------------------------------------------------------------------------- 1 | -lah (1) 2 | (bentuk terikat) yang digunakan untuk menekankan makna kata yang di depannya 3 | 4 | lah (2) 5 | (adv) (kp) telah: hari -- larut senja 6 | 7 | lah (3) 8 | (p) (cak) kata seru untuk memberi tekanan atau menyungguhkan: “--, itu orangnya”, katanya sambil menunjuk seseorang yang baru datang 9 | Peribahasa (mengandung [lah]) 10 | mensiang yang baru dicari, kampil ‘lah sudah dahulu 11 | -------------------------------------------------------------------------------- /tests/kasus/auth/str/lampir.txt: -------------------------------------------------------------------------------- 1 | lam.pir 2 | (prakategorial) cari: lampiran, melampiri, melampirkan, terlampir 3 | Kata Turunan 4 | lampiran; melampiri; melampirkan; terlampir 5 | -------------------------------------------------------------------------------- /tests/kasus/auth/str/makin.txt: -------------------------------------------------------------------------------- 1 | ma.kin 2 | bentuk tidak baku: mangkin, semakin 3 | 1. (adv) kian bertambah: tangisnya -- menjadi-jadi; pesawat itu terbang -- tinggi 4 | 2. (p) (kl) lebih-lebih; apalagi: segala gembala gajah semuanya kasih akan Laksamana Khoja Hassan, -- kepada gembala Kepenjang itu jangan dikata lagi 5 | Kata Turunan 6 | semakin 7 | Peribahasa (mengandung [makin]) 8 | ilmu padi, makin berisi makin runduk; jika pisau tiada berbaja, makin dikikir bertambah tumpul; lagi murah, lagi menawar (makin murah, makin menawar) 9 | -------------------------------------------------------------------------------- /tests/kasus/auth/str/me-.txt: -------------------------------------------------------------------------------- 1 | me- /mê-/ 2 | → meng- 3 | 4 | meng- /mêng-/ 5 | varian: me-, mem-, men-, menge-, meny- 6 | 1. (prefiks pembentuk verba) menjadi: mencair; menguning; mengkristal 7 | 2. (prefiks pembentuk verba) berfungsi sebagai atau menyerupai: menyupir; menggunung 8 | 3. (prefiks pembentuk verba) makan atau minum: menyatai; mengopi; mengeteh 9 | 4. (prefiks pembentuk verba) menuju: mengutara; melaut; menepi 10 | 5. (prefiks pembentuk verba) mencari atau mengumpulkan: mendamar; merumput 11 | 6. (prefiks pembentuk verba) mengeluarkan bunyi: mengeong; mengaum; mencicit 12 | 7. (prefiks pembentuk verba) menimbulkan kesan seperti seseorang atau sesuatu yang: membisu; membatu; merendah hati 13 | 8. (prefiks pembentuk verba) dasar verba: membaca; menulis; membajak 14 | 9. (prefiks pembentuk verba) membuat; menghasilkan: menyambal; menggulai; membatik 15 | 10. (prefiks pembentuk verba) menyatakan: mengaku 16 | -------------------------------------------------------------------------------- /tests/kasus/auth/str/menjadikan.txt: -------------------------------------------------------------------------------- 1 | jadi (1) » men.ja.di.kan 2 | 1. (v) membuat sebagai; merupakan: ia ~ sakit adiknya sebagai alasan untuk tidak pergi kuliah 3 | 2. (v) menyebabkan: hal itu akan ~ orang lain marah-marah 4 | 3. (v) mengangkat (memilih) sebagai: rakyat telah ~ dia kepala desa 5 | 4. (v) melaksanakan (rencana, janji, dan sebagainya): ia ~ penawarannya untuk membeli rumah itu 6 | 5. (v) menciptakan; mengadakan: Tuhan yang ~ langit dan bumi beserta isinya 7 | Gabungan Kata 8 | menjadikan hati 9 | -------------------------------------------------------------------------------- /tests/kasus/auth/str/quo vadis?.txt: -------------------------------------------------------------------------------- 1 | quo vadis? 2 | (ukp) (Lt) hendak pergi ke mana? (dipakai untuk mengingatkan seseorang agar memperbaiki dirinya) 3 | -------------------------------------------------------------------------------- /tests/kasus/auth/str/ranah.txt: -------------------------------------------------------------------------------- 1 | ra.nah 2 | 1. (n) tanah rata; dataran rendah; lembah 3 | 2. (n) tanah yang berpaya-paya 4 | 3. (n) elemen atau unsur yang dibatasi; bidang disiplin 5 | 4. (n) (Ling) lingkungan yang memungkinkan terjadinya percakapan, merupakan kombinasi antara partisipan, topik, dan tempat (misalnya keluarga, pendidikan, tempat kerja, keagamaan, dan sebagainya) 6 | 5. (n) (Psi) bagian (satuan) perilaku manusia: -- afektif berbagai perilaku yang berkaitan dengan perasaan; -- kognitif perilaku yang menjadi kegiatan kognisi atau pikiran 7 | Gabungan Kata 8 | ranah afektif; ranah eminen; ranah frekuensi; ranah kognitif; ranah politik; ranah psikomotor 9 | -------------------------------------------------------------------------------- /tests/kasus/auth/str/roh.txt: -------------------------------------------------------------------------------- 1 | roh 2 | bentuk tidak baku: ruh 3 | Etimologi: [Arab] (n) (sg) (f/m) رُوْحٌ rūh: tiupan; sesuatu yang membuat manusia dapat hidup 4 | 1. (n) sesuatu (unsur) yang ada dalam jasad yang diciptakan Tuhan sebagai penyebab adanya hidup (kehidupan); nyawa: jika -- sudah berpisah dari badan, berakhirlah kehidupan seseorang 5 | 2. (n) makhluk hidup yang tidak berjasad, tetapi berpikiran dan berperasaan (malaikat, jin, setan, dan sebagainya) 6 | 3. (n) (ki) semangat; spirit: kedamaian bagi seluruh warga sesuai dengan -- Islam 7 | Gabungan Kata 8 | roh Kudus; roh suci 9 | -------------------------------------------------------------------------------- /tests/kasus/auth/str/sage.txt: -------------------------------------------------------------------------------- 1 | sa.ge (1) /sagé/ 2 | (n) cerita rakyat berdasarkan cerita sejarah yang sudah ditambah imajinasi masyarakat 3 | 4 | sa.ge (2) /sagé/ 5 | (n) tanaman yang termasuk keluarga min, tingginya dapat mencapai 70 cm, daunnya berbentuk oval, keras, berbulu halus, beraroma tajam, dan biasa digunakan sebagai bumbu masakan 〈Salvia officinalis〉 6 | -------------------------------------------------------------------------------- /tests/kasus/auth/str/semakin.txt: -------------------------------------------------------------------------------- 1 | makin » se.ma.kin 2 | 3 | se.ma.kin /sêmakin/ 4 | → makin 5 | -------------------------------------------------------------------------------- /tests/kasus/auth/str/tampak.txt: -------------------------------------------------------------------------------- 1 | tam.pak (1) 2 | bentuk tidak baku: nampak 3 | 1. (v) dapat dilihat; kelihatan: pulau itu sudah -- dari sini 4 | 2. (v) memperlihatkan diri; muncul: sudah lama dia tidak -- 5 | Kata Turunan 6 | ketampakan; menampak; menampakkan; penampakan; tampak-tampak; tampaknya; tertampak 7 | 8 | tam.pak (2) 9 | → campak (2) 10 | Peribahasa (mengandung [tampak]) 11 | buka kulit, ambil (tampak) isi; datang tampak muka, pulang tampak punggung; datang tampak muka, pulang tampak punggung; hilang sepuh tampak senam; kuman di seberang lautan tampak, gajah di pelupuk mata tidak tampak; tampak gabak di hulu (gabak di hulu tanda akan hujan); tampak tembelangnya; terpijak benang arang hitam tampak; yang tinggi tampak jauh, yang dekat jolong bersua 12 | Idiom (mengandung [tampak]) 13 | tidak tampak batang hidungnya 14 | -------------------------------------------------------------------------------- /tests/kasus/auth/str_tanpa_contoh/a.n..txt: -------------------------------------------------------------------------------- 1 | a.n. 2 | (n) (sing) atas nama 3 | -------------------------------------------------------------------------------- /tests/kasus/auth/str_tanpa_contoh/air.txt: -------------------------------------------------------------------------------- 1 | air 2 | bentuk tidak baku: ki (2) 3 | 1. (n) cairan jernih tidak berwarna, tidak berasa, dan tidak berbau yang diperlukan dalam kehidupan manusia, hewan, dan tumbuhan yang secara kimiawi mengandung hidrogen dan oksigen 4 | 2. (n) benda cair yang biasa terdapat di sumur, sungai, danau yang mendidih pada suhu 100˚C 5 | 3. (n) (cak) ronde pada pertandingan adu ayam, berdurasi lima belas menit, diawali dengan penyapuan air pada ketiak, leher, paha, dan dubur ayam agar suhu badan ayam tetap dingin atau stabil selama pertandingan 6 | Kata Turunan 7 | berair; berpengairan; keairan; mengairi; pengairan; perairan 8 | Gabungan Kata 9 | air abu; air adas; air adhesif; air adsorpsi; air aerial; air agresif; air aki; air alam; air alami; air alas; air alkali; air ampai; air ampuh; air anaerob; air anggur; air api; air aromatik; air artesis; air arwah; air asam; air asin; air asli; air atar; air awamineral; air babak; air bad; air bah; air bakat; air baku; air balas; air bawaan; air bawah permukaan; air bawah tanah; air bebas; air bebas mineral; air beku; air belanda; air bena; air beras; air berat; air bergerak; air bermineral; air bersih; air besar; air biofilter; air biru; air boron; air bumi; air celah; air comberan; air curah; air dadih; air demineralisasi; air diam; air didih; air doa; air ekstraseluler; air emas; air es; air fosil; air freatik; air garam; air got; air gravitasi; air hablur; air heksagonal; air hidroskopik; air hidung; air higroskopis; air hitam; air imbibisi; air infusan; air intraselular; air irigasi; air jenuh; air jeruk; air juvenil; air kandang; air kapiler; air kapur; air karbonat; air keling; air kemih; air kencing; air keras; air ketuban; air ki; air kisi; air koloh-koloh; air konduktivitas; air kristalisasi; air kubangan; air kujumas; air kumbahan; air kumur; air label ganda; air landa; air lata; air laut; air laut saniter; air leding; air limbah; air lingkar; air liur; air ludah; air lunak; air magma; air malihan; air mampu curah; air mancur; air mandi; air mani; air manis; air maram; air masin; air mata; air mata duyung; air matang; air mati; air maulhayat; air mawar; air merta jiwa; air metabolik; air metabolisme; air mineral; air minum; air muka; air mustakmal; air najis; air normal; air oligotrofik; air pasang; air payau; air pemandian alam; air pengisi; air penyeimbang beban; air perak; air perbani; air permen; air permukaan; air pertumbuhan; air primer; air purwa; air pusar; air putih; air raksa; air rasa; air ruang antara; air ruban; air sabun; air sadah; air saput; air sebak; air segar; air selera; air sembahyang; air sembilan; air senak; air seni; air senyawa; air serani; air setaman; air sisipan; air soda; air suci; air suling; air suling dua kali; air sumur; air suri; air surut; air susu; air susu jolong; air susu pengganti; air takbermineral; air taktersedia; air talkin; air tambang asam; air tanah; air tanah anteseden; air tanah bebas; air tanah lapisan atas; air tanah limpasan hujan; air tanah tetap; air tanah tubir; air tanih; air tawar; air teh; air tenang; air tepung tawar; air terdemineralisasi; air terikat; air terjun; air terminumkan; air tersedia; air tersekap; air tersenyawa; air timah; air timpas; air tolak bala; air tolak bara; air tuban; air utama jiwa; air wangi; air wudu 10 | Peribahasa (mengandung [air]) 11 | (air) susu dibalas dengan (air) tuba; air beriak tanda tak dalam; air beriak tanda tak dalam; air besar batu bersibak; air cucuran atap jatuh ke pelimbahan juga; air di daun keladi (daun keladi dimandikan); air diminum rasa duri, nasi dimakan rasa sekam; air jernih ikannya jinak; air lalu berkubak tohor; air susu dibalas dengan air tuba; air tenang (biasa) menghanyutkan; air tenang menghanyutkan; arang itu jikalau dibasuh dengan air mawar sekalipun, tiada akan putih; bagai air di daun talas; bagai garam jatuh ke air; bagai geluk tinggal di air; bagai kambing dibawa ke air; bak mandi di air kiambang, pelak lepas gatal pun datang; becermin di air keruh; berani sendok pengedang, air hangat direnanginya; berendam sesayak air, berpaut sejengkal tali; berendam sesayak air, berpaut sejengkal tali; berkering air liur; bermain air basah, bermain api lecur; bermain air basah, bermain api letup; bermain air basah, bermain api letup, bermain pisau luka; bertohor air liur; bondong air bondong ikan; bulat air oleh pembuluh, bulat kata oleh mufakat; bunyi perempuan di air; di mana ranting dipatah, di situ air disauk; harapkan guruh (guntur) di langit, air di tempayan ditumpahkan; hendak berminyak-minyak air; itik berenang di laut (air), mati kehausan; jelatang di hulu air; jika tak lalu dandang di air, di gurun dirangkakkan (ditanjakkan); memancing di air keruh; membalas air susu dengan air tuba; membandarkan air ke bukit; menaikkan air ke gurun; menambak gunung, menggarami air laut; menangguk di air keruh; menangis daun bangun-bangun hendak sama dengan hilir air; mencari jejak dalam air; menjilat air liur; menyelami air dalam tonggak; menyurat di atas air; minyak dengan air adakah (bolehkah) bercampur? (minyak dan air masa sama); orang dahaga diberi air; orang haus diberi air, orang lapar diberi nasi; pandai berminyak air; pengayuh sama di tangan, perahu sama di air; perahu sudah di tangan, perahu sudah di air; puyu di air jernih; rasam minyak ke minyak, rasam air ke air; sambil menyelam minum air; sambil menyelam minum air; sauk (menyauk) air mandikan diri; sebagai minyak dengan air; selama gagak hitam, selama air hilir; seperti air basuh tangan; seperti ikan dalam air; sukat air menjadi batu; sumur digali air terbit; tak air talang dipancung; tanah lembah kandungan air, kayu bengkok titian kera; tempayan tertiarap dalam air; tertangkup sama termakan tanah, telentang sama terminum air; tertelentang berisi air, tertiarap berisi tanah; tertelentang sama terminum air, tertelungkup sama termakan tanah; tidur bertilam air mata; umpama air digenggam tiada tiris 12 | Idiom (mengandung [air]) 13 | bagai minyak dengan air; berminyak (air) mukanya 14 | -------------------------------------------------------------------------------- /tests/kasus/auth/str_tanpa_contoh/alam.txt: -------------------------------------------------------------------------------- 1 | alam (1) 2 | Etimologi: [Arab] (n) (sg) (m) عَالَمٌ ‘ālam: manusia; seluruh makhluk 3 | 1. (n) segala yang ada di langit dan di bumi (seperti bumi, bintang, kekuatan) 4 | 2. (n) lingkungan kehidupan 5 | 3. (n) segala sesuatu yang termasuk dalam satu lingkungan (golongan dan sebagainya) dan dianggap sebagai satu keutuhan 6 | 4. (n) segala daya (gaya, kekuatan, dan sebagainya) yang menyebabkan terjadinya dan seakan-akan mengatur segala sesuatu yang ada di dunia ini 7 | 5. (n) yang bukan buatan manusia 8 | 6. (n) dunia 9 | 7. (n) kerajaan; daerah; negeri 10 | Kata Turunan 11 | beralam; kealaman 12 | Gabungan Kata 13 | alam akhirat; alam arwah; alam astral; alam baka; alam barzakh; alam besar; alam fana; alam gaib; alam kabir; alam kecil; alam kekal; alam kelanggengan; alam kubur; alam malakut; alam misal; alam nabati; alam pikiran; alam rahim; alam raya; alam sagir; alam samar; alam semesta; alam semesta datar; alam semesta terbuka; alam semesta tertutup 14 | 15 | alam (2) 16 | Etimologi: [Arab] (n) (sg) (m) عَلَمٌ ‘alam: gunung; tanda; lukisan pada baju; plang jalan; bendera pasukan perang 17 | (prakategorial) cari: berpengalaman, mengalami, pengalam, pengalaman 18 | Kata Turunan 19 | berpengalaman; mengalami; pengalam; pengalaman 20 | 21 | alam (3) 22 | (n) bendera (panji-panji) sebagai tanda (pada pasukan dan sebagainya) 23 | Idiom (mengandung [alam]) 24 | negeri (alam) yang baka; pergi ke alam baka 25 | -------------------------------------------------------------------------------- /tests/kasus/auth/str_tanpa_contoh/asalamualaikum.txt: -------------------------------------------------------------------------------- 1 | asa.la.mu.a.la.i.kum 2 | Etimologi: [Arab] السَّلَامُ عَلَيْكُمْ al-salām ‘alaikum: semoga kedamaian menyertai Anda semua 3 | (n) keselamatan (kesejahteraan, kedamaian) untukmu (biasanya diucapkan pada awal dan akhir pidato, saat bertemu dengan seseorang, dan sebagainya) 4 | -------------------------------------------------------------------------------- /tests/kasus/auth/str_tanpa_contoh/beruang.txt: -------------------------------------------------------------------------------- 1 | uang » ber.u.ang 2 | 1. (v) mempunyai uang 3 | 2. (a) (ki) kaya 4 | 5 | be.ru.ang /bêruang/ 6 | (n) binatang buas jenis Ursus, berbulu tebal, dapat berdiri di atas kedua kaki belakangnya, bercakar, dan bermoncong panjang (banyak macamnya, seperti -- bukit, -- damar, -- putih) 7 | Gabungan Kata 8 | beruang es; beruang kutub 9 | Peribahasa (mengandung [beruang]) 10 | hilang rona karena penyakit, hilang bangsa tidak beruang 11 | -------------------------------------------------------------------------------- /tests/kasus/auth/str_tanpa_contoh/bin.txt: -------------------------------------------------------------------------------- 1 | bin 2 | Etimologi: [Arab] (n) (sg) (m) اِبْنٌ ibn: anak lelaki 3 | 1. (n) (Ar) kata untuk menyatakan anak laki-laki dari seseorang (biasa dipakai untuk keterangan antara nama seseorang dan nama ayah); anak laki-laki dari 4 | 2. (p) (cak) (Ar) kata untuk menguatkan atau mengungkapkan dengan perkataan lain 5 | 6 | BIN 7 | (n) (sing) Badan Intelijen Negara (lembaga pemerintah nonkementerian Indonesia yang bertugas di bidang intelijen) 8 | -------------------------------------------------------------------------------- /tests/kasus/auth/str_tanpa_contoh/civitas academica.txt: -------------------------------------------------------------------------------- 1 | civitas academica 2 | (ukp) (Lt) kelompok (warga) masyarakat akademik yang terdiri atas dosen dan mahasiswa dengan perwakilannya yang terbentuk melalui senat masing-masing 3 | -------------------------------------------------------------------------------- /tests/kasus/auth/str_tanpa_contoh/huk.txt: -------------------------------------------------------------------------------- 1 | Berikut beberapa saran entri lain yang mirip. 2 | auk, buk (1), buk (2), cuk, duk, hak (1), hak (2), hak (3), hak (4), huh, hun, hus, Hut, kuk (1), kuk (2), luk, muk, suk, tuk (1), yuk (1), yuk (2), DUK, HUT, KUK, UK, hub (2), Hud, tuk (2), guk 3 | -------------------------------------------------------------------------------- /tests/kasus/auth/str_tanpa_contoh/idn45.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/kasus/auth/str_tanpa_contoh/kan.txt: -------------------------------------------------------------------------------- 1 | kan (1) 2 | (n) (ark) langkan (pada perahu) 3 | 4 | kan (2) 5 | (adv) (kp) bukan 6 | 7 | kan (3) 8 | (adv) (kp) akan 9 | 10 | kan (4) 11 | (n) tempat memasak air teh; morong; teko 12 | 13 | -kan (5) 14 | 1. (sufiks pembentuk verba) menjadikan 15 | 2. (sufiks pembentuk verba) sungguh-sungguh 16 | 3. (sufiks pembentuk verba) untuk; kepada orang lain 17 | Peribahasa (mengandung [-kan]) 18 | tak kan lari gunung dikejar, hilang kabut tampaklah dia 19 | -------------------------------------------------------------------------------- /tests/kasus/auth/str_tanpa_contoh/karbon dioksida.txt: -------------------------------------------------------------------------------- 1 | karbon » karbon dioksida 2 | (Kim) senyawa karbon dengan oksigen yang berupa gas tanpa warna, lebih berat dari udara, tidak terbakar, dan larut dalam air (digunakan dalam alat pemadam kebakaran) 〈CO2〉 3 | -------------------------------------------------------------------------------- /tests/kasus/auth/str_tanpa_contoh/keratabasa.txt: -------------------------------------------------------------------------------- 1 | ke.ra.ta.ba.sa /kératabasa/ 2 | (n) perihal menerangkan arti kata dengan memperlakukannya sebagai singkatan, biasanya untuk lelucon (misalnya kata benci ditafsirkan sebagai ‘benar-benar cinta’); etimologi rakyat 3 | -------------------------------------------------------------------------------- /tests/kasus/auth/str_tanpa_contoh/khayal.txt: -------------------------------------------------------------------------------- 1 | kha.yal 2 | bentuk tidak baku: kayal 3 | Etimologi: [Arab] (n) (sg) (m) خَيَالٌ khayāl: bayang-bayang 4 | 1. (n) lukisan (gambar) dalam angan-angan; fantasi 5 | 2. (n) yang diangan-angankan seperti benar-benar ada 6 | Kata Turunan 7 | berkhayal; khayalan; mengkhayal; mengkhayalkan; pengkhayal; pengkhayalan; terkhayal 8 | -------------------------------------------------------------------------------- /tests/kasus/auth/str_tanpa_contoh/lah.txt: -------------------------------------------------------------------------------- 1 | -lah (1) 2 | (bentuk terikat) yang digunakan untuk menekankan makna kata yang di depannya 3 | 4 | lah (2) 5 | (adv) (kp) telah 6 | 7 | lah (3) 8 | (p) (cak) kata seru untuk memberi tekanan atau menyungguhkan 9 | Peribahasa (mengandung [lah]) 10 | mensiang yang baru dicari, kampil ‘lah sudah dahulu 11 | -------------------------------------------------------------------------------- /tests/kasus/auth/str_tanpa_contoh/lampir.txt: -------------------------------------------------------------------------------- 1 | lam.pir 2 | (prakategorial) cari: lampiran, melampiri, melampirkan, terlampir 3 | Kata Turunan 4 | lampiran; melampiri; melampirkan; terlampir 5 | -------------------------------------------------------------------------------- /tests/kasus/auth/str_tanpa_contoh/makin.txt: -------------------------------------------------------------------------------- 1 | ma.kin 2 | bentuk tidak baku: mangkin, semakin 3 | 1. (adv) kian bertambah 4 | 2. (p) (kl) lebih-lebih; apalagi 5 | Kata Turunan 6 | semakin 7 | Peribahasa (mengandung [makin]) 8 | ilmu padi, makin berisi makin runduk; jika pisau tiada berbaja, makin dikikir bertambah tumpul; lagi murah, lagi menawar (makin murah, makin menawar) 9 | -------------------------------------------------------------------------------- /tests/kasus/auth/str_tanpa_contoh/me-.txt: -------------------------------------------------------------------------------- 1 | me- /mê-/ 2 | → meng- 3 | 4 | meng- /mêng-/ 5 | varian: me-, mem-, men-, menge-, meny- 6 | 1. (prefiks pembentuk verba) menjadi 7 | 2. (prefiks pembentuk verba) berfungsi sebagai atau menyerupai 8 | 3. (prefiks pembentuk verba) makan atau minum 9 | 4. (prefiks pembentuk verba) menuju 10 | 5. (prefiks pembentuk verba) mencari atau mengumpulkan 11 | 6. (prefiks pembentuk verba) mengeluarkan bunyi 12 | 7. (prefiks pembentuk verba) menimbulkan kesan seperti seseorang atau sesuatu yang 13 | 8. (prefiks pembentuk verba) dasar verba 14 | 9. (prefiks pembentuk verba) membuat; menghasilkan 15 | 10. (prefiks pembentuk verba) menyatakan 16 | -------------------------------------------------------------------------------- /tests/kasus/auth/str_tanpa_contoh/menjadikan.txt: -------------------------------------------------------------------------------- 1 | jadi (1) » men.ja.di.kan 2 | 1. (v) membuat sebagai; merupakan 3 | 2. (v) menyebabkan 4 | 3. (v) mengangkat (memilih) sebagai 5 | 4. (v) melaksanakan (rencana, janji, dan sebagainya) 6 | 5. (v) menciptakan; mengadakan 7 | Gabungan Kata 8 | menjadikan hati 9 | -------------------------------------------------------------------------------- /tests/kasus/auth/str_tanpa_contoh/quo vadis?.txt: -------------------------------------------------------------------------------- 1 | quo vadis? 2 | (ukp) (Lt) hendak pergi ke mana? (dipakai untuk mengingatkan seseorang agar memperbaiki dirinya) 3 | -------------------------------------------------------------------------------- /tests/kasus/auth/str_tanpa_contoh/ranah.txt: -------------------------------------------------------------------------------- 1 | ra.nah 2 | 1. (n) tanah rata; dataran rendah; lembah 3 | 2. (n) tanah yang berpaya-paya 4 | 3. (n) elemen atau unsur yang dibatasi; bidang disiplin 5 | 4. (n) (Ling) lingkungan yang memungkinkan terjadinya percakapan, merupakan kombinasi antara partisipan, topik, dan tempat (misalnya keluarga, pendidikan, tempat kerja, keagamaan, dan sebagainya) 6 | 5. (n) (Psi) bagian (satuan) perilaku manusia 7 | Gabungan Kata 8 | ranah afektif; ranah eminen; ranah frekuensi; ranah kognitif; ranah politik; ranah psikomotor 9 | -------------------------------------------------------------------------------- /tests/kasus/auth/str_tanpa_contoh/roh.txt: -------------------------------------------------------------------------------- 1 | roh 2 | bentuk tidak baku: ruh 3 | Etimologi: [Arab] (n) (sg) (f/m) رُوْحٌ rūh: tiupan; sesuatu yang membuat manusia dapat hidup 4 | 1. (n) sesuatu (unsur) yang ada dalam jasad yang diciptakan Tuhan sebagai penyebab adanya hidup (kehidupan); nyawa 5 | 2. (n) makhluk hidup yang tidak berjasad, tetapi berpikiran dan berperasaan (malaikat, jin, setan, dan sebagainya) 6 | 3. (n) (ki) semangat; spirit 7 | Gabungan Kata 8 | roh Kudus; roh suci 9 | -------------------------------------------------------------------------------- /tests/kasus/auth/str_tanpa_contoh/sage.txt: -------------------------------------------------------------------------------- 1 | sa.ge (1) /sagé/ 2 | (n) cerita rakyat berdasarkan cerita sejarah yang sudah ditambah imajinasi masyarakat 3 | 4 | sa.ge (2) /sagé/ 5 | (n) tanaman yang termasuk keluarga min, tingginya dapat mencapai 70 cm, daunnya berbentuk oval, keras, berbulu halus, beraroma tajam, dan biasa digunakan sebagai bumbu masakan 〈Salvia officinalis〉 6 | -------------------------------------------------------------------------------- /tests/kasus/auth/str_tanpa_contoh/semakin.txt: -------------------------------------------------------------------------------- 1 | makin » se.ma.kin 2 | 3 | se.ma.kin /sêmakin/ 4 | → makin 5 | -------------------------------------------------------------------------------- /tests/kasus/auth/str_tanpa_contoh/tampak.txt: -------------------------------------------------------------------------------- 1 | tam.pak (1) 2 | bentuk tidak baku: nampak 3 | 1. (v) dapat dilihat; kelihatan 4 | 2. (v) memperlihatkan diri; muncul 5 | Kata Turunan 6 | ketampakan; menampak; menampakkan; penampakan; tampak-tampak; tampaknya; tertampak 7 | 8 | tam.pak (2) 9 | → campak (2) 10 | Peribahasa (mengandung [tampak]) 11 | buka kulit, ambil (tampak) isi; datang tampak muka, pulang tampak punggung; datang tampak muka, pulang tampak punggung; hilang sepuh tampak senam; kuman di seberang lautan tampak, gajah di pelupuk mata tidak tampak; tampak gabak di hulu (gabak di hulu tanda akan hujan); tampak tembelangnya; terpijak benang arang hitam tampak; yang tinggi tampak jauh, yang dekat jolong bersua 12 | Idiom (mengandung [tampak]) 13 | tidak tampak batang hidungnya 14 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/serialisasi/a.n..json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/Cari/Hasil?frasa=a.n.", 3 | "entri": [ 4 | { 5 | "nama": "a.n.", 6 | "nomor": "", 7 | "kata_dasar": [], 8 | "pelafalan": "", 9 | "bentuk_tidak_baku": [], 10 | "varian": [], 11 | "makna": [ 12 | { 13 | "kelas": [ 14 | { 15 | "kode": "n", 16 | "nama": "Nomina", 17 | "deskripsi": "kata benda" 18 | }, 19 | { 20 | "kode": "sing", 21 | "nama": "singkatan", 22 | "deskripsi": "" 23 | } 24 | ], 25 | "submakna": [ 26 | "atas nama" 27 | ], 28 | "info": "", 29 | "contoh": [] 30 | } 31 | ] 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/serialisasi/air.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/air", 3 | "entri": [ 4 | { 5 | "nama": "air", 6 | "nomor": "", 7 | "kata_dasar": [], 8 | "pelafalan": "", 9 | "bentuk_tidak_baku": [ 10 | "ki (2)" 11 | ], 12 | "varian": [], 13 | "makna": [ 14 | { 15 | "kelas": [ 16 | { 17 | "kode": "n", 18 | "nama": "Nomina", 19 | "deskripsi": "kata benda" 20 | } 21 | ], 22 | "submakna": [ 23 | "cairan jernih tidak berwarna, tidak berasa, dan tidak berbau yang diperlukan dalam kehidupan manusia, hewan, dan tumbuhan yang secara kimiawi mengandung hidrogen dan oksigen" 24 | ], 25 | "info": "", 26 | "contoh": [] 27 | }, 28 | { 29 | "kelas": [ 30 | { 31 | "kode": "n", 32 | "nama": "Nomina", 33 | "deskripsi": "kata benda" 34 | } 35 | ], 36 | "submakna": [ 37 | "benda cair yang biasa terdapat di sumur, sungai, danau yang mendidih pada suhu 100\u02daC" 38 | ], 39 | "info": "", 40 | "contoh": [] 41 | }, 42 | { 43 | "kelas": [ 44 | { 45 | "kode": "n", 46 | "nama": "Nomina", 47 | "deskripsi": "kata benda" 48 | }, 49 | { 50 | "kode": "cak", 51 | "nama": "Cakapan", 52 | "deskripsi": "menandai kata yang digunakan dalam ragam takbaku" 53 | } 54 | ], 55 | "submakna": [ 56 | "ronde pada pertandingan adu ayam, berdurasi lima belas menit, diawali dengan penyapuan air pada ketiak, leher, paha, dan dubur ayam agar suhu badan ayam tetap dingin atau stabil selama pertandingan" 57 | ], 58 | "info": "", 59 | "contoh": [ 60 | "ayam dia kemarin menang satu -- empat menit" 61 | ] 62 | } 63 | ] 64 | } 65 | ] 66 | } 67 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/serialisasi/alam.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/alam", 3 | "entri": [ 4 | { 5 | "nama": "alam", 6 | "nomor": "1", 7 | "kata_dasar": [], 8 | "pelafalan": "", 9 | "bentuk_tidak_baku": [], 10 | "varian": [], 11 | "makna": [ 12 | { 13 | "kelas": [ 14 | { 15 | "kode": "n", 16 | "nama": "Nomina", 17 | "deskripsi": "kata benda" 18 | } 19 | ], 20 | "submakna": [ 21 | "segala yang ada di langit dan di bumi (seperti bumi, bintang, kekuatan)" 22 | ], 23 | "info": "", 24 | "contoh": [ 25 | "-- sekeliling" 26 | ] 27 | }, 28 | { 29 | "kelas": [ 30 | { 31 | "kode": "n", 32 | "nama": "Nomina", 33 | "deskripsi": "kata benda" 34 | } 35 | ], 36 | "submakna": [ 37 | "lingkungan kehidupan" 38 | ], 39 | "info": "", 40 | "contoh": [] 41 | }, 42 | { 43 | "kelas": [ 44 | { 45 | "kode": "n", 46 | "nama": "Nomina", 47 | "deskripsi": "kata benda" 48 | } 49 | ], 50 | "submakna": [ 51 | "segala sesuatu yang termasuk dalam satu lingkungan (golongan dan sebagainya) dan dianggap sebagai satu keutuhan" 52 | ], 53 | "info": "", 54 | "contoh": [ 55 | "-- pikiran", 56 | "-- tumbuh-tumbuhan" 57 | ] 58 | }, 59 | { 60 | "kelas": [ 61 | { 62 | "kode": "n", 63 | "nama": "Nomina", 64 | "deskripsi": "kata benda" 65 | } 66 | ], 67 | "submakna": [ 68 | "segala daya (gaya, kekuatan, dan sebagainya) yang menyebabkan terjadinya dan seakan-akan mengatur segala sesuatu yang ada di dunia ini" 69 | ], 70 | "info": "", 71 | "contoh": [ 72 | "hukum --", 73 | "ilmu --" 74 | ] 75 | }, 76 | { 77 | "kelas": [ 78 | { 79 | "kode": "n", 80 | "nama": "Nomina", 81 | "deskripsi": "kata benda" 82 | } 83 | ], 84 | "submakna": [ 85 | "yang bukan buatan manusia" 86 | ], 87 | "info": "", 88 | "contoh": [ 89 | "karet --" 90 | ] 91 | }, 92 | { 93 | "kelas": [ 94 | { 95 | "kode": "n", 96 | "nama": "Nomina", 97 | "deskripsi": "kata benda" 98 | } 99 | ], 100 | "submakna": [ 101 | "dunia" 102 | ], 103 | "info": "", 104 | "contoh": [ 105 | "-- semesta", 106 | "syah --" 107 | ] 108 | }, 109 | { 110 | "kelas": [ 111 | { 112 | "kode": "n", 113 | "nama": "Nomina", 114 | "deskripsi": "kata benda" 115 | } 116 | ], 117 | "submakna": [ 118 | "kerajaan", 119 | "daerah", 120 | "negeri" 121 | ], 122 | "info": "", 123 | "contoh": [ 124 | "-- Minangkabau" 125 | ] 126 | } 127 | ] 128 | }, 129 | { 130 | "nama": "alam", 131 | "nomor": "2", 132 | "kata_dasar": [], 133 | "pelafalan": "", 134 | "bentuk_tidak_baku": [], 135 | "varian": [], 136 | "makna": [ 137 | { 138 | "kelas": [ 139 | { 140 | "kode": "prakategorial", 141 | "nama": "prakategorial", 142 | "deskripsi": "kata tidak dipakai dalam bentuk dasarnya" 143 | } 144 | ], 145 | "submakna": [ 146 | "cari: berpengalaman, mengalami, pengalam, pengalaman" 147 | ], 148 | "info": "", 149 | "contoh": [] 150 | } 151 | ] 152 | }, 153 | { 154 | "nama": "alam", 155 | "nomor": "3", 156 | "kata_dasar": [], 157 | "pelafalan": "", 158 | "bentuk_tidak_baku": [], 159 | "varian": [], 160 | "makna": [ 161 | { 162 | "kelas": [ 163 | { 164 | "kode": "n", 165 | "nama": "Nomina", 166 | "deskripsi": "kata benda" 167 | } 168 | ], 169 | "submakna": [ 170 | "bendera (panji-panji) sebagai tanda (pada pasukan dan sebagainya)" 171 | ], 172 | "info": "", 173 | "contoh": [] 174 | } 175 | ] 176 | } 177 | ] 178 | } 179 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/serialisasi/asalamualaikum.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/asalamualaikum", 3 | "entri": [ 4 | { 5 | "nama": "asa.la.mu.a.la.i.kum", 6 | "nomor": "", 7 | "kata_dasar": [], 8 | "pelafalan": "", 9 | "bentuk_tidak_baku": [], 10 | "varian": [], 11 | "makna": [ 12 | { 13 | "kelas": [ 14 | { 15 | "kode": "n", 16 | "nama": "Nomina", 17 | "deskripsi": "kata benda" 18 | } 19 | ], 20 | "submakna": [ 21 | "keselamatan (kesejahteraan, kedamaian) untukmu (biasanya diucapkan pada awal dan akhir pidato, saat bertemu dengan seseorang, dan sebagainya)" 22 | ], 23 | "info": "", 24 | "contoh": [] 25 | } 26 | ] 27 | } 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/serialisasi/beruang.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/beruang", 3 | "entri": [ 4 | { 5 | "nama": "ber.u.ang", 6 | "nomor": "", 7 | "kata_dasar": [ 8 | "uang" 9 | ], 10 | "pelafalan": "", 11 | "bentuk_tidak_baku": [], 12 | "varian": [], 13 | "makna": [ 14 | { 15 | "kelas": [ 16 | { 17 | "kode": "v", 18 | "nama": "Verba", 19 | "deskripsi": "kata kerja" 20 | } 21 | ], 22 | "submakna": [ 23 | "mempunyai uang" 24 | ], 25 | "info": "", 26 | "contoh": [ 27 | "sepeser pun saya tidak ~" 28 | ] 29 | }, 30 | { 31 | "kelas": [ 32 | { 33 | "kode": "a", 34 | "nama": "Adjektiva", 35 | "deskripsi": "kata yang menjelaskan nomina atau pronomina" 36 | }, 37 | { 38 | "kode": "ki", 39 | "nama": "kiasan", 40 | "deskripsi": "" 41 | } 42 | ], 43 | "submakna": [ 44 | "kaya" 45 | ], 46 | "info": "", 47 | "contoh": [ 48 | "orang yang dapat menikmati makanan semahal itu hanyalah orang yang ~" 49 | ] 50 | } 51 | ] 52 | }, 53 | { 54 | "nama": "be.ru.ang", 55 | "nomor": "", 56 | "kata_dasar": [], 57 | "pelafalan": "/b\u00earuang/", 58 | "bentuk_tidak_baku": [], 59 | "varian": [], 60 | "makna": [ 61 | { 62 | "kelas": [ 63 | { 64 | "kode": "n", 65 | "nama": "Nomina", 66 | "deskripsi": "kata benda" 67 | } 68 | ], 69 | "submakna": [ 70 | "binatang buas jenis Ursus, berbulu tebal, dapat berdiri di atas kedua kaki belakangnya, bercakar, dan bermoncong panjang (banyak macamnya, seperti -- bukit, -- damar, -- putih)" 71 | ], 72 | "info": "", 73 | "contoh": [] 74 | } 75 | ] 76 | } 77 | ] 78 | } 79 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/serialisasi/bin.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/Cari/Hasil?frasa=bin", 3 | "entri": [ 4 | { 5 | "nama": "bin", 6 | "nomor": "", 7 | "kata_dasar": [], 8 | "pelafalan": "", 9 | "bentuk_tidak_baku": [], 10 | "varian": [], 11 | "makna": [ 12 | { 13 | "kelas": [ 14 | { 15 | "kode": "n", 16 | "nama": "Nomina", 17 | "deskripsi": "kata benda" 18 | }, 19 | { 20 | "kode": "Ar", 21 | "nama": "Arab", 22 | "deskripsi": "-" 23 | } 24 | ], 25 | "submakna": [ 26 | "kata untuk menyatakan anak laki-laki dari seseorang (biasa dipakai untuk keterangan antara nama seseorang dan nama ayah)", 27 | "anak laki-laki dari" 28 | ], 29 | "info": "", 30 | "contoh": [ 31 | "Amat -- Soleh Amat anak dari Soleh" 32 | ] 33 | }, 34 | { 35 | "kelas": [ 36 | { 37 | "kode": "p", 38 | "nama": "Partikel", 39 | "deskripsi": "kelas kata yang meliputi kata depan, kata sambung, kata seru, kata sandang, ucapan salam" 40 | }, 41 | { 42 | "kode": "cak", 43 | "nama": "Cakapan", 44 | "deskripsi": "menandai kata yang digunakan dalam ragam takbaku" 45 | }, 46 | { 47 | "kode": "Ar", 48 | "nama": "Arab", 49 | "deskripsi": "-" 50 | } 51 | ], 52 | "submakna": [ 53 | "kata untuk menguatkan atau mengungkapkan dengan perkataan lain" 54 | ], 55 | "info": "", 56 | "contoh": [ 57 | "aneh -- ajaib" 58 | ] 59 | } 60 | ] 61 | }, 62 | { 63 | "nama": "BIN", 64 | "nomor": "", 65 | "kata_dasar": [], 66 | "pelafalan": "", 67 | "bentuk_tidak_baku": [], 68 | "varian": [], 69 | "makna": [ 70 | { 71 | "kelas": [ 72 | { 73 | "kode": "n", 74 | "nama": "Nomina", 75 | "deskripsi": "kata benda" 76 | }, 77 | { 78 | "kode": "sing", 79 | "nama": "singkatan", 80 | "deskripsi": "" 81 | } 82 | ], 83 | "submakna": [ 84 | "Badan Intelijen Negara (lembaga pemerintah nonkementerian Indonesia yang bertugas di bidang intelijen)" 85 | ], 86 | "info": "", 87 | "contoh": [] 88 | } 89 | ] 90 | } 91 | ] 92 | } 93 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/serialisasi/civitas academica.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/civitas%20academica", 3 | "entri": [ 4 | { 5 | "nama": "civitas academica", 6 | "nomor": "", 7 | "kata_dasar": [], 8 | "pelafalan": "", 9 | "bentuk_tidak_baku": [], 10 | "varian": [], 11 | "makna": [ 12 | { 13 | "kelas": [ 14 | { 15 | "kode": "ukp", 16 | "nama": "Ungkapan", 17 | "deskripsi": "" 18 | }, 19 | { 20 | "kode": "Lt", 21 | "nama": "Latin", 22 | "deskripsi": "-" 23 | } 24 | ], 25 | "submakna": [ 26 | "kelompok (warga) masyarakat akademik yang terdiri atas dosen dan mahasiswa dengan perwakilannya yang terbentuk melalui senat masing-masing" 27 | ], 28 | "info": "", 29 | "contoh": [] 30 | } 31 | ] 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/serialisasi/huk.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/huk", 3 | "entri": [] 4 | } 5 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/serialisasi/idn45.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/idn45", 3 | "entri": [] 4 | } 5 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/serialisasi/kan.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/kan", 3 | "entri": [ 4 | { 5 | "nama": "kan", 6 | "nomor": "1", 7 | "kata_dasar": [], 8 | "pelafalan": "", 9 | "bentuk_tidak_baku": [], 10 | "varian": [], 11 | "makna": [ 12 | { 13 | "kelas": [ 14 | { 15 | "kode": "n", 16 | "nama": "Nomina", 17 | "deskripsi": "kata benda" 18 | }, 19 | { 20 | "kode": "ark", 21 | "nama": "Arkais", 22 | "deskripsi": "menandai kata yang tidak lazim" 23 | } 24 | ], 25 | "submakna": [ 26 | "langkan (pada perahu)" 27 | ], 28 | "info": "", 29 | "contoh": [] 30 | } 31 | ] 32 | }, 33 | { 34 | "nama": "kan", 35 | "nomor": "2", 36 | "kata_dasar": [], 37 | "pelafalan": "", 38 | "bentuk_tidak_baku": [], 39 | "varian": [], 40 | "makna": [ 41 | { 42 | "kelas": [ 43 | { 44 | "kode": "adv", 45 | "nama": "Adverbia", 46 | "deskripsi": "kata yang menjelaskan verba, adjektiva, adverbia lain, atau kalimat" 47 | }, 48 | { 49 | "kode": "kp", 50 | "nama": "kependekan", 51 | "deskripsi": "" 52 | } 53 | ], 54 | "submakna": [ 55 | "bukan" 56 | ], 57 | "info": "", 58 | "contoh": [] 59 | } 60 | ] 61 | }, 62 | { 63 | "nama": "kan", 64 | "nomor": "3", 65 | "kata_dasar": [], 66 | "pelafalan": "", 67 | "bentuk_tidak_baku": [], 68 | "varian": [], 69 | "makna": [ 70 | { 71 | "kelas": [ 72 | { 73 | "kode": "adv", 74 | "nama": "Adverbia", 75 | "deskripsi": "kata yang menjelaskan verba, adjektiva, adverbia lain, atau kalimat" 76 | }, 77 | { 78 | "kode": "kp", 79 | "nama": "kependekan", 80 | "deskripsi": "" 81 | } 82 | ], 83 | "submakna": [ 84 | "akan" 85 | ], 86 | "info": "", 87 | "contoh": [] 88 | } 89 | ] 90 | }, 91 | { 92 | "nama": "kan", 93 | "nomor": "4", 94 | "kata_dasar": [], 95 | "pelafalan": "", 96 | "bentuk_tidak_baku": [], 97 | "varian": [], 98 | "makna": [ 99 | { 100 | "kelas": [ 101 | { 102 | "kode": "n", 103 | "nama": "Nomina", 104 | "deskripsi": "kata benda" 105 | } 106 | ], 107 | "submakna": [ 108 | "tempat memasak air teh", 109 | "morong", 110 | "teko" 111 | ], 112 | "info": "", 113 | "contoh": [] 114 | } 115 | ] 116 | }, 117 | { 118 | "nama": "-kan", 119 | "nomor": "5", 120 | "kata_dasar": [], 121 | "pelafalan": "", 122 | "bentuk_tidak_baku": [], 123 | "varian": [], 124 | "makna": [ 125 | { 126 | "kelas": [ 127 | { 128 | "kode": "sufiks pembentuk verba", 129 | "nama": "-", 130 | "deskripsi": "-" 131 | } 132 | ], 133 | "submakna": [ 134 | "menjadikan" 135 | ], 136 | "info": "", 137 | "contoh": [ 138 | "jalankan", 139 | "datangkan", 140 | "hitamkan" 141 | ] 142 | }, 143 | { 144 | "kelas": [ 145 | { 146 | "kode": "sufiks pembentuk verba", 147 | "nama": "-", 148 | "deskripsi": "-" 149 | } 150 | ], 151 | "submakna": [ 152 | "sungguh-sungguh" 153 | ], 154 | "info": "", 155 | "contoh": [ 156 | "dengarkan", 157 | "camkan" 158 | ] 159 | }, 160 | { 161 | "kelas": [ 162 | { 163 | "kode": "sufiks pembentuk verba", 164 | "nama": "-", 165 | "deskripsi": "-" 166 | } 167 | ], 168 | "submakna": [ 169 | "untuk", 170 | "kepada orang lain" 171 | ], 172 | "info": "", 173 | "contoh": [ 174 | "sewakan", 175 | "bacakan" 176 | ] 177 | } 178 | ] 179 | } 180 | ] 181 | } 182 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/serialisasi/karbon dioksida.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/karbon%20dioksida", 3 | "entri": [ 4 | { 5 | "nama": "karbon dioksida", 6 | "nomor": "", 7 | "kata_dasar": [ 8 | "karbon" 9 | ], 10 | "pelafalan": "", 11 | "bentuk_tidak_baku": [], 12 | "varian": [], 13 | "makna": [ 14 | { 15 | "kelas": [ 16 | { 17 | "kode": "Kim", 18 | "nama": "Kimia", 19 | "deskripsi": "-" 20 | } 21 | ], 22 | "submakna": [ 23 | "senyawa karbon dengan oksigen yang berupa gas tanpa warna, lebih berat dari udara, tidak terbakar, dan larut dalam air (digunakan dalam alat pemadam kebakaran)" 24 | ], 25 | "info": "\u3008CO2\u3009", 26 | "contoh": [] 27 | } 28 | ] 29 | } 30 | ] 31 | } 32 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/serialisasi/keratabasa.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/keratabasa", 3 | "entri": [ 4 | { 5 | "nama": "ke.ra.ta.ba.sa", 6 | "nomor": "", 7 | "kata_dasar": [], 8 | "pelafalan": "/k\u00e9ratabasa/", 9 | "bentuk_tidak_baku": [], 10 | "varian": [], 11 | "makna": [ 12 | { 13 | "kelas": [ 14 | { 15 | "kode": "n", 16 | "nama": "Nomina", 17 | "deskripsi": "kata benda" 18 | } 19 | ], 20 | "submakna": [ 21 | "perihal menerangkan arti kata dengan memperlakukannya sebagai singkatan, biasanya untuk lelucon (misalnya kata benci ditafsirkan sebagai \u2018benar-benar cinta\u2019)", 22 | "etimologi rakyat" 23 | ], 24 | "info": "", 25 | "contoh": [] 26 | } 27 | ] 28 | } 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/serialisasi/khayal.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/khayal", 3 | "entri": [ 4 | { 5 | "nama": "kha.yal", 6 | "nomor": "", 7 | "kata_dasar": [], 8 | "pelafalan": "", 9 | "bentuk_tidak_baku": [ 10 | "kayal" 11 | ], 12 | "varian": [], 13 | "makna": [ 14 | { 15 | "kelas": [ 16 | { 17 | "kode": "n", 18 | "nama": "Nomina", 19 | "deskripsi": "kata benda" 20 | } 21 | ], 22 | "submakna": [ 23 | "lukisan (gambar) dalam angan-angan", 24 | "fantasi" 25 | ], 26 | "info": "", 27 | "contoh": [ 28 | "apa yang diceritakan itu -- belaka" 29 | ] 30 | }, 31 | { 32 | "kelas": [ 33 | { 34 | "kode": "n", 35 | "nama": "Nomina", 36 | "deskripsi": "kata benda" 37 | } 38 | ], 39 | "submakna": [ 40 | "yang diangan-angankan seperti benar-benar ada" 41 | ], 42 | "info": "", 43 | "contoh": [ 44 | "cerita --" 45 | ] 46 | } 47 | ] 48 | } 49 | ] 50 | } 51 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/serialisasi/lah.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/lah", 3 | "entri": [ 4 | { 5 | "nama": "-lah", 6 | "nomor": "1", 7 | "kata_dasar": [], 8 | "pelafalan": "", 9 | "bentuk_tidak_baku": [], 10 | "varian": [], 11 | "makna": [ 12 | { 13 | "kelas": [ 14 | { 15 | "kode": "bentuk terikat", 16 | "nama": "-", 17 | "deskripsi": "-" 18 | } 19 | ], 20 | "submakna": [ 21 | "yang digunakan untuk menekankan makna kata yang di depannya" 22 | ], 23 | "info": "", 24 | "contoh": [] 25 | } 26 | ] 27 | }, 28 | { 29 | "nama": "lah", 30 | "nomor": "2", 31 | "kata_dasar": [], 32 | "pelafalan": "", 33 | "bentuk_tidak_baku": [], 34 | "varian": [], 35 | "makna": [ 36 | { 37 | "kelas": [ 38 | { 39 | "kode": "adv", 40 | "nama": "Adverbia", 41 | "deskripsi": "kata yang menjelaskan verba, adjektiva, adverbia lain, atau kalimat" 42 | }, 43 | { 44 | "kode": "kp", 45 | "nama": "kependekan", 46 | "deskripsi": "" 47 | } 48 | ], 49 | "submakna": [ 50 | "telah" 51 | ], 52 | "info": "", 53 | "contoh": [ 54 | "hari -- larut senja" 55 | ] 56 | } 57 | ] 58 | }, 59 | { 60 | "nama": "lah", 61 | "nomor": "3", 62 | "kata_dasar": [], 63 | "pelafalan": "", 64 | "bentuk_tidak_baku": [], 65 | "varian": [], 66 | "makna": [ 67 | { 68 | "kelas": [ 69 | { 70 | "kode": "p", 71 | "nama": "Partikel", 72 | "deskripsi": "kelas kata yang meliputi kata depan, kata sambung, kata seru, kata sandang, ucapan salam" 73 | }, 74 | { 75 | "kode": "cak", 76 | "nama": "Cakapan", 77 | "deskripsi": "menandai kata yang digunakan dalam ragam takbaku" 78 | } 79 | ], 80 | "submakna": [ 81 | "kata seru untuk memberi tekanan atau menyungguhkan" 82 | ], 83 | "info": "", 84 | "contoh": [ 85 | "\u201c--, itu orangnya\u201d, katanya sambil menunjuk seseorang yang baru datang" 86 | ] 87 | } 88 | ] 89 | } 90 | ] 91 | } 92 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/serialisasi/lampir.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/lampir", 3 | "entri": [ 4 | { 5 | "nama": "lam.pir", 6 | "nomor": "", 7 | "kata_dasar": [], 8 | "pelafalan": "", 9 | "bentuk_tidak_baku": [], 10 | "varian": [], 11 | "makna": [ 12 | { 13 | "kelas": [ 14 | { 15 | "kode": "prakategorial", 16 | "nama": "prakategorial", 17 | "deskripsi": "kata tidak dipakai dalam bentuk dasarnya" 18 | } 19 | ], 20 | "submakna": [ 21 | "cari: lampiran, melampiri, melampirkan, terlampir" 22 | ], 23 | "info": "", 24 | "contoh": [] 25 | } 26 | ] 27 | } 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/serialisasi/makin.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/makin", 3 | "entri": [ 4 | { 5 | "nama": "ma.kin", 6 | "nomor": "", 7 | "kata_dasar": [], 8 | "pelafalan": "", 9 | "bentuk_tidak_baku": [ 10 | "mangkin", 11 | "semakin" 12 | ], 13 | "varian": [], 14 | "makna": [ 15 | { 16 | "kelas": [ 17 | { 18 | "kode": "adv", 19 | "nama": "Adverbia", 20 | "deskripsi": "kata yang menjelaskan verba, adjektiva, adverbia lain, atau kalimat" 21 | } 22 | ], 23 | "submakna": [ 24 | "kian bertambah" 25 | ], 26 | "info": "", 27 | "contoh": [ 28 | "tangisnya -- menjadi-jadi", 29 | "pesawat itu terbang -- tinggi" 30 | ] 31 | }, 32 | { 33 | "kelas": [ 34 | { 35 | "kode": "p", 36 | "nama": "Partikel", 37 | "deskripsi": "kelas kata yang meliputi kata depan, kata sambung, kata seru, kata sandang, ucapan salam" 38 | }, 39 | { 40 | "kode": "kl", 41 | "nama": "Klasik", 42 | "deskripsi": "menandai kata yang digunakan dalam kesusastraan Melayu Klasik" 43 | } 44 | ], 45 | "submakna": [ 46 | "lebih-lebih", 47 | "apalagi" 48 | ], 49 | "info": "", 50 | "contoh": [ 51 | "segala gembala gajah semuanya kasih akan Laksamana Khoja Hassan, -- kepada gembala Kepenjang itu jangan dikata lagi" 52 | ] 53 | } 54 | ] 55 | } 56 | ] 57 | } 58 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/serialisasi/me-.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/me-", 3 | "entri": [ 4 | { 5 | "nama": "me-", 6 | "nomor": "", 7 | "kata_dasar": [], 8 | "pelafalan": "/m\u00ea-/", 9 | "bentuk_tidak_baku": [], 10 | "varian": [], 11 | "makna": [ 12 | { 13 | "kelas": [], 14 | "submakna": [ 15 | "\u2192 meng-" 16 | ], 17 | "info": "", 18 | "contoh": [] 19 | } 20 | ] 21 | }, 22 | { 23 | "nama": "meng-", 24 | "nomor": "", 25 | "kata_dasar": [], 26 | "pelafalan": "/m\u00eang-/", 27 | "bentuk_tidak_baku": [], 28 | "varian": [ 29 | "me-", 30 | "mem-", 31 | "men-", 32 | "menge-", 33 | "meny-" 34 | ], 35 | "makna": [ 36 | { 37 | "kelas": [ 38 | { 39 | "kode": "prefiks pembentuk verba", 40 | "nama": "-", 41 | "deskripsi": "-" 42 | } 43 | ], 44 | "submakna": [ 45 | "menjadi" 46 | ], 47 | "info": "", 48 | "contoh": [ 49 | "mencair", 50 | "menguning", 51 | "mengkristal" 52 | ] 53 | }, 54 | { 55 | "kelas": [ 56 | { 57 | "kode": "prefiks pembentuk verba", 58 | "nama": "-", 59 | "deskripsi": "-" 60 | } 61 | ], 62 | "submakna": [ 63 | "berfungsi sebagai atau menyerupai" 64 | ], 65 | "info": "", 66 | "contoh": [ 67 | "menyupir", 68 | "menggunung" 69 | ] 70 | }, 71 | { 72 | "kelas": [ 73 | { 74 | "kode": "prefiks pembentuk verba", 75 | "nama": "-", 76 | "deskripsi": "-" 77 | } 78 | ], 79 | "submakna": [ 80 | "makan atau minum" 81 | ], 82 | "info": "", 83 | "contoh": [ 84 | "menyatai", 85 | "mengopi", 86 | "mengeteh" 87 | ] 88 | }, 89 | { 90 | "kelas": [ 91 | { 92 | "kode": "prefiks pembentuk verba", 93 | "nama": "-", 94 | "deskripsi": "-" 95 | } 96 | ], 97 | "submakna": [ 98 | "menuju" 99 | ], 100 | "info": "", 101 | "contoh": [ 102 | "mengutara", 103 | "melaut", 104 | "menepi" 105 | ] 106 | }, 107 | { 108 | "kelas": [ 109 | { 110 | "kode": "prefiks pembentuk verba", 111 | "nama": "-", 112 | "deskripsi": "-" 113 | } 114 | ], 115 | "submakna": [ 116 | "mencari atau mengumpulkan" 117 | ], 118 | "info": "", 119 | "contoh": [ 120 | "mendamar", 121 | "merumput" 122 | ] 123 | }, 124 | { 125 | "kelas": [ 126 | { 127 | "kode": "prefiks pembentuk verba", 128 | "nama": "-", 129 | "deskripsi": "-" 130 | } 131 | ], 132 | "submakna": [ 133 | "mengeluarkan bunyi" 134 | ], 135 | "info": "", 136 | "contoh": [ 137 | "mengeong", 138 | "mengaum", 139 | "mencicit" 140 | ] 141 | }, 142 | { 143 | "kelas": [ 144 | { 145 | "kode": "prefiks pembentuk verba", 146 | "nama": "-", 147 | "deskripsi": "-" 148 | } 149 | ], 150 | "submakna": [ 151 | "menimbulkan kesan seperti seseorang atau sesuatu yang" 152 | ], 153 | "info": "", 154 | "contoh": [ 155 | "membisu", 156 | "membatu", 157 | "merendah hati" 158 | ] 159 | }, 160 | { 161 | "kelas": [ 162 | { 163 | "kode": "prefiks pembentuk verba", 164 | "nama": "-", 165 | "deskripsi": "-" 166 | } 167 | ], 168 | "submakna": [ 169 | "dasar verba" 170 | ], 171 | "info": "", 172 | "contoh": [ 173 | "membaca", 174 | "menulis", 175 | "membajak" 176 | ] 177 | }, 178 | { 179 | "kelas": [ 180 | { 181 | "kode": "prefiks pembentuk verba", 182 | "nama": "-", 183 | "deskripsi": "-" 184 | } 185 | ], 186 | "submakna": [ 187 | "membuat", 188 | "menghasilkan" 189 | ], 190 | "info": "", 191 | "contoh": [ 192 | "menyambal", 193 | "menggulai", 194 | "membatik" 195 | ] 196 | }, 197 | { 198 | "kelas": [ 199 | { 200 | "kode": "prefiks pembentuk verba", 201 | "nama": "-", 202 | "deskripsi": "-" 203 | } 204 | ], 205 | "submakna": [ 206 | "menyatakan" 207 | ], 208 | "info": "", 209 | "contoh": [ 210 | "mengaku" 211 | ] 212 | } 213 | ] 214 | } 215 | ] 216 | } 217 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/serialisasi/menjadikan.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/menjadikan", 3 | "entri": [ 4 | { 5 | "nama": "men.ja.di.kan", 6 | "nomor": "", 7 | "kata_dasar": [ 8 | "jadi (1)" 9 | ], 10 | "pelafalan": "", 11 | "bentuk_tidak_baku": [], 12 | "varian": [], 13 | "makna": [ 14 | { 15 | "kelas": [ 16 | { 17 | "kode": "v", 18 | "nama": "Verba", 19 | "deskripsi": "kata kerja" 20 | } 21 | ], 22 | "submakna": [ 23 | "membuat sebagai", 24 | "merupakan" 25 | ], 26 | "info": "", 27 | "contoh": [ 28 | "ia ~ sakit adiknya sebagai alasan untuk tidak pergi kuliah" 29 | ] 30 | }, 31 | { 32 | "kelas": [ 33 | { 34 | "kode": "v", 35 | "nama": "Verba", 36 | "deskripsi": "kata kerja" 37 | } 38 | ], 39 | "submakna": [ 40 | "menyebabkan" 41 | ], 42 | "info": "", 43 | "contoh": [ 44 | "hal itu akan ~ orang lain marah-marah" 45 | ] 46 | }, 47 | { 48 | "kelas": [ 49 | { 50 | "kode": "v", 51 | "nama": "Verba", 52 | "deskripsi": "kata kerja" 53 | } 54 | ], 55 | "submakna": [ 56 | "mengangkat (memilih) sebagai" 57 | ], 58 | "info": "", 59 | "contoh": [ 60 | "rakyat telah ~ dia kepala desa" 61 | ] 62 | }, 63 | { 64 | "kelas": [ 65 | { 66 | "kode": "v", 67 | "nama": "Verba", 68 | "deskripsi": "kata kerja" 69 | } 70 | ], 71 | "submakna": [ 72 | "melaksanakan (rencana, janji, dan sebagainya)" 73 | ], 74 | "info": "", 75 | "contoh": [ 76 | "ia ~ penawarannya untuk membeli rumah itu" 77 | ] 78 | }, 79 | { 80 | "kelas": [ 81 | { 82 | "kode": "v", 83 | "nama": "Verba", 84 | "deskripsi": "kata kerja" 85 | } 86 | ], 87 | "submakna": [ 88 | "menciptakan", 89 | "mengadakan" 90 | ], 91 | "info": "", 92 | "contoh": [ 93 | "Tuhan yang ~ langit dan bumi beserta isinya" 94 | ] 95 | } 96 | ] 97 | } 98 | ] 99 | } 100 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/serialisasi/quo vadis?.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/Cari/Hasil?frasa=quo%20vadis%3F", 3 | "entri": [ 4 | { 5 | "nama": "quo vadis?", 6 | "nomor": "", 7 | "kata_dasar": [], 8 | "pelafalan": "", 9 | "bentuk_tidak_baku": [], 10 | "varian": [], 11 | "makna": [ 12 | { 13 | "kelas": [ 14 | { 15 | "kode": "ukp", 16 | "nama": "Ungkapan", 17 | "deskripsi": "" 18 | }, 19 | { 20 | "kode": "Lt", 21 | "nama": "Latin", 22 | "deskripsi": "-" 23 | } 24 | ], 25 | "submakna": [ 26 | "hendak pergi ke mana? (dipakai untuk mengingatkan seseorang agar memperbaiki dirinya)" 27 | ], 28 | "info": "", 29 | "contoh": [] 30 | } 31 | ] 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/serialisasi/ranah.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/ranah", 3 | "entri": [ 4 | { 5 | "nama": "ra.nah", 6 | "nomor": "", 7 | "kata_dasar": [], 8 | "pelafalan": "", 9 | "bentuk_tidak_baku": [], 10 | "varian": [], 11 | "makna": [ 12 | { 13 | "kelas": [ 14 | { 15 | "kode": "n", 16 | "nama": "Nomina", 17 | "deskripsi": "kata benda" 18 | } 19 | ], 20 | "submakna": [ 21 | "tanah rata", 22 | "dataran rendah", 23 | "lembah" 24 | ], 25 | "info": "", 26 | "contoh": [] 27 | }, 28 | { 29 | "kelas": [ 30 | { 31 | "kode": "n", 32 | "nama": "Nomina", 33 | "deskripsi": "kata benda" 34 | } 35 | ], 36 | "submakna": [ 37 | "tanah yang berpaya-paya" 38 | ], 39 | "info": "", 40 | "contoh": [] 41 | }, 42 | { 43 | "kelas": [ 44 | { 45 | "kode": "n", 46 | "nama": "Nomina", 47 | "deskripsi": "kata benda" 48 | } 49 | ], 50 | "submakna": [ 51 | "elemen atau unsur yang dibatasi", 52 | "bidang disiplin" 53 | ], 54 | "info": "", 55 | "contoh": [] 56 | }, 57 | { 58 | "kelas": [ 59 | { 60 | "kode": "n", 61 | "nama": "Nomina", 62 | "deskripsi": "kata benda" 63 | }, 64 | { 65 | "kode": "Ling", 66 | "nama": "Linguistik", 67 | "deskripsi": "-" 68 | } 69 | ], 70 | "submakna": [ 71 | "lingkungan yang memungkinkan terjadinya percakapan, merupakan kombinasi antara partisipan, topik, dan tempat (misalnya keluarga, pendidikan, tempat kerja, keagamaan, dan sebagainya)" 72 | ], 73 | "info": "", 74 | "contoh": [] 75 | }, 76 | { 77 | "kelas": [ 78 | { 79 | "kode": "n", 80 | "nama": "Nomina", 81 | "deskripsi": "kata benda" 82 | }, 83 | { 84 | "kode": "Psi", 85 | "nama": "Psikologi", 86 | "deskripsi": "-" 87 | } 88 | ], 89 | "submakna": [ 90 | "bagian (satuan) perilaku manusia" 91 | ], 92 | "info": "", 93 | "contoh": [ 94 | "-- afektif berbagai perilaku yang berkaitan dengan perasaan", 95 | "-- kognitif perilaku yang menjadi kegiatan kognisi atau pikiran" 96 | ] 97 | } 98 | ] 99 | } 100 | ] 101 | } 102 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/serialisasi/roh.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/roh", 3 | "entri": [ 4 | { 5 | "nama": "roh", 6 | "nomor": "", 7 | "kata_dasar": [], 8 | "pelafalan": "", 9 | "bentuk_tidak_baku": [ 10 | "ruh" 11 | ], 12 | "varian": [], 13 | "makna": [ 14 | { 15 | "kelas": [ 16 | { 17 | "kode": "n", 18 | "nama": "Nomina", 19 | "deskripsi": "kata benda" 20 | } 21 | ], 22 | "submakna": [ 23 | "sesuatu (unsur) yang ada dalam jasad yang diciptakan Tuhan sebagai penyebab adanya hidup (kehidupan)", 24 | "nyawa" 25 | ], 26 | "info": "", 27 | "contoh": [ 28 | "jika -- sudah berpisah dari badan, berakhirlah kehidupan seseorang" 29 | ] 30 | }, 31 | { 32 | "kelas": [ 33 | { 34 | "kode": "n", 35 | "nama": "Nomina", 36 | "deskripsi": "kata benda" 37 | } 38 | ], 39 | "submakna": [ 40 | "makhluk hidup yang tidak berjasad, tetapi berpikiran dan berperasaan (malaikat, jin, setan, dan sebagainya)" 41 | ], 42 | "info": "", 43 | "contoh": [] 44 | }, 45 | { 46 | "kelas": [ 47 | { 48 | "kode": "n", 49 | "nama": "Nomina", 50 | "deskripsi": "kata benda" 51 | }, 52 | { 53 | "kode": "ki", 54 | "nama": "kiasan", 55 | "deskripsi": "" 56 | } 57 | ], 58 | "submakna": [ 59 | "semangat", 60 | "spirit" 61 | ], 62 | "info": "", 63 | "contoh": [ 64 | "kedamaian bagi seluruh warga sesuai dengan -- Islam" 65 | ] 66 | } 67 | ] 68 | } 69 | ] 70 | } 71 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/serialisasi/sage.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/sage", 3 | "entri": [ 4 | { 5 | "nama": "sa.ge", 6 | "nomor": "1", 7 | "kata_dasar": [], 8 | "pelafalan": "/sag\u00e9/", 9 | "bentuk_tidak_baku": [], 10 | "varian": [], 11 | "makna": [ 12 | { 13 | "kelas": [ 14 | { 15 | "kode": "n", 16 | "nama": "Nomina", 17 | "deskripsi": "kata benda" 18 | } 19 | ], 20 | "submakna": [ 21 | "cerita rakyat berdasarkan cerita sejarah yang sudah ditambah imajinasi masyarakat" 22 | ], 23 | "info": "", 24 | "contoh": [] 25 | } 26 | ] 27 | }, 28 | { 29 | "nama": "sa.ge", 30 | "nomor": "2", 31 | "kata_dasar": [], 32 | "pelafalan": "/sag\u00e9/", 33 | "bentuk_tidak_baku": [], 34 | "varian": [], 35 | "makna": [ 36 | { 37 | "kelas": [ 38 | { 39 | "kode": "n", 40 | "nama": "Nomina", 41 | "deskripsi": "kata benda" 42 | } 43 | ], 44 | "submakna": [ 45 | "tanaman yang termasuk keluarga min, tingginya dapat mencapai 70 cm, daunnya berbentuk oval, keras, berbulu halus, beraroma tajam, dan biasa digunakan sebagai bumbu masakan" 46 | ], 47 | "info": "\u3008Salvia officinalis\u3009", 48 | "contoh": [] 49 | } 50 | ] 51 | } 52 | ] 53 | } 54 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/serialisasi/semakin.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/semakin", 3 | "entri": [ 4 | { 5 | "nama": "se.ma.kin", 6 | "nomor": "", 7 | "kata_dasar": [ 8 | "makin" 9 | ], 10 | "pelafalan": "", 11 | "bentuk_tidak_baku": [], 12 | "varian": [], 13 | "makna": [] 14 | }, 15 | { 16 | "nama": "se.ma.kin", 17 | "nomor": "", 18 | "kata_dasar": [], 19 | "pelafalan": "/s\u00eamakin/", 20 | "bentuk_tidak_baku": [], 21 | "varian": [], 22 | "makna": [ 23 | { 24 | "kelas": [], 25 | "submakna": [ 26 | "\u2192 makin" 27 | ], 28 | "info": "", 29 | "contoh": [] 30 | } 31 | ] 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/serialisasi/tampak.json: -------------------------------------------------------------------------------- 1 | { 2 | "pranala": "https://kbbi.kemdikbud.go.id/entri/tampak", 3 | "entri": [ 4 | { 5 | "nama": "tam.pak", 6 | "nomor": "1", 7 | "kata_dasar": [], 8 | "pelafalan": "", 9 | "bentuk_tidak_baku": [ 10 | "nampak" 11 | ], 12 | "varian": [], 13 | "makna": [ 14 | { 15 | "kelas": [ 16 | { 17 | "kode": "v", 18 | "nama": "Verba", 19 | "deskripsi": "kata kerja" 20 | } 21 | ], 22 | "submakna": [ 23 | "dapat dilihat", 24 | "kelihatan" 25 | ], 26 | "info": "", 27 | "contoh": [ 28 | "pulau itu sudah -- dari sini" 29 | ] 30 | }, 31 | { 32 | "kelas": [ 33 | { 34 | "kode": "v", 35 | "nama": "Verba", 36 | "deskripsi": "kata kerja" 37 | } 38 | ], 39 | "submakna": [ 40 | "memperlihatkan diri", 41 | "muncul" 42 | ], 43 | "info": "", 44 | "contoh": [ 45 | "sudah lama dia tidak --" 46 | ] 47 | } 48 | ] 49 | }, 50 | { 51 | "nama": "tam.pak", 52 | "nomor": "2", 53 | "kata_dasar": [], 54 | "pelafalan": "", 55 | "bentuk_tidak_baku": [], 56 | "varian": [], 57 | "makna": [ 58 | { 59 | "kelas": [], 60 | "submakna": [ 61 | "\u2192 campak (2)" 62 | ], 63 | "info": "", 64 | "contoh": [] 65 | } 66 | ] 67 | } 68 | ] 69 | } 70 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str/a.n..txt: -------------------------------------------------------------------------------- 1 | a.n. 2 | (n) (sing) atas nama 3 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str/air.txt: -------------------------------------------------------------------------------- 1 | air 2 | bentuk tidak baku: ki (2) 3 | 1. (n) cairan jernih tidak berwarna, tidak berasa, dan tidak berbau yang diperlukan dalam kehidupan manusia, hewan, dan tumbuhan yang secara kimiawi mengandung hidrogen dan oksigen 4 | 2. (n) benda cair yang biasa terdapat di sumur, sungai, danau yang mendidih pada suhu 100˚C 5 | 3. (n) (cak) ronde pada pertandingan adu ayam, berdurasi lima belas menit, diawali dengan penyapuan air pada ketiak, leher, paha, dan dubur ayam agar suhu badan ayam tetap dingin atau stabil selama pertandingan: ayam dia kemarin menang satu -- empat menit 6 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str/alam.txt: -------------------------------------------------------------------------------- 1 | alam (1) 2 | 1. (n) segala yang ada di langit dan di bumi (seperti bumi, bintang, kekuatan): -- sekeliling 3 | 2. (n) lingkungan kehidupan 4 | 3. (n) segala sesuatu yang termasuk dalam satu lingkungan (golongan dan sebagainya) dan dianggap sebagai satu keutuhan: -- pikiran; -- tumbuh-tumbuhan 5 | 4. (n) segala daya (gaya, kekuatan, dan sebagainya) yang menyebabkan terjadinya dan seakan-akan mengatur segala sesuatu yang ada di dunia ini: hukum --; ilmu -- 6 | 5. (n) yang bukan buatan manusia: karet -- 7 | 6. (n) dunia: -- semesta; syah -- 8 | 7. (n) kerajaan; daerah; negeri: -- Minangkabau 9 | 10 | alam (2) 11 | (prakategorial) cari: berpengalaman, mengalami, pengalam, pengalaman 12 | 13 | alam (3) 14 | (n) bendera (panji-panji) sebagai tanda (pada pasukan dan sebagainya) 15 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str/asalamualaikum.txt: -------------------------------------------------------------------------------- 1 | asa.la.mu.a.la.i.kum 2 | (n) keselamatan (kesejahteraan, kedamaian) untukmu (biasanya diucapkan pada awal dan akhir pidato, saat bertemu dengan seseorang, dan sebagainya) 3 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str/beruang.txt: -------------------------------------------------------------------------------- 1 | uang » ber.u.ang 2 | 1. (v) mempunyai uang: sepeser pun saya tidak ~ 3 | 2. (a) (ki) kaya: orang yang dapat menikmati makanan semahal itu hanyalah orang yang ~ 4 | 5 | be.ru.ang /bêruang/ 6 | (n) binatang buas jenis Ursus, berbulu tebal, dapat berdiri di atas kedua kaki belakangnya, bercakar, dan bermoncong panjang (banyak macamnya, seperti -- bukit, -- damar, -- putih) 7 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str/bin.txt: -------------------------------------------------------------------------------- 1 | bin 2 | 1. (n) (Ar) kata untuk menyatakan anak laki-laki dari seseorang (biasa dipakai untuk keterangan antara nama seseorang dan nama ayah); anak laki-laki dari: Amat -- Soleh Amat anak dari Soleh 3 | 2. (p) (cak) (Ar) kata untuk menguatkan atau mengungkapkan dengan perkataan lain: aneh -- ajaib 4 | 5 | BIN 6 | (n) (sing) Badan Intelijen Negara (lembaga pemerintah nonkementerian Indonesia yang bertugas di bidang intelijen) 7 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str/civitas academica.txt: -------------------------------------------------------------------------------- 1 | civitas academica 2 | (ukp) (Lt) kelompok (warga) masyarakat akademik yang terdiri atas dosen dan mahasiswa dengan perwakilannya yang terbentuk melalui senat masing-masing 3 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str/huk.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str/idn45.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str/kan.txt: -------------------------------------------------------------------------------- 1 | kan (1) 2 | (n) (ark) langkan (pada perahu) 3 | 4 | kan (2) 5 | (adv) (kp) bukan 6 | 7 | kan (3) 8 | (adv) (kp) akan 9 | 10 | kan (4) 11 | (n) tempat memasak air teh; morong; teko 12 | 13 | -kan (5) 14 | 1. (sufiks pembentuk verba) menjadikan: jalankan; datangkan; hitamkan 15 | 2. (sufiks pembentuk verba) sungguh-sungguh: dengarkan; camkan 16 | 3. (sufiks pembentuk verba) untuk; kepada orang lain: sewakan; bacakan 17 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str/karbon dioksida.txt: -------------------------------------------------------------------------------- 1 | karbon » karbon dioksida 2 | (Kim) senyawa karbon dengan oksigen yang berupa gas tanpa warna, lebih berat dari udara, tidak terbakar, dan larut dalam air (digunakan dalam alat pemadam kebakaran) 〈CO2〉 3 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str/keratabasa.txt: -------------------------------------------------------------------------------- 1 | ke.ra.ta.ba.sa /kératabasa/ 2 | (n) perihal menerangkan arti kata dengan memperlakukannya sebagai singkatan, biasanya untuk lelucon (misalnya kata benci ditafsirkan sebagai ‘benar-benar cinta’); etimologi rakyat 3 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str/khayal.txt: -------------------------------------------------------------------------------- 1 | kha.yal 2 | bentuk tidak baku: kayal 3 | 1. (n) lukisan (gambar) dalam angan-angan; fantasi: apa yang diceritakan itu -- belaka 4 | 2. (n) yang diangan-angankan seperti benar-benar ada: cerita -- 5 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str/lah.txt: -------------------------------------------------------------------------------- 1 | -lah (1) 2 | (bentuk terikat) yang digunakan untuk menekankan makna kata yang di depannya 3 | 4 | lah (2) 5 | (adv) (kp) telah: hari -- larut senja 6 | 7 | lah (3) 8 | (p) (cak) kata seru untuk memberi tekanan atau menyungguhkan: “--, itu orangnya”, katanya sambil menunjuk seseorang yang baru datang 9 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str/lampir.txt: -------------------------------------------------------------------------------- 1 | lam.pir 2 | (prakategorial) cari: lampiran, melampiri, melampirkan, terlampir 3 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str/makin.txt: -------------------------------------------------------------------------------- 1 | ma.kin 2 | bentuk tidak baku: mangkin, semakin 3 | 1. (adv) kian bertambah: tangisnya -- menjadi-jadi; pesawat itu terbang -- tinggi 4 | 2. (p) (kl) lebih-lebih; apalagi: segala gembala gajah semuanya kasih akan Laksamana Khoja Hassan, -- kepada gembala Kepenjang itu jangan dikata lagi 5 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str/me-.txt: -------------------------------------------------------------------------------- 1 | me- /mê-/ 2 | → meng- 3 | 4 | meng- /mêng-/ 5 | varian: me-, mem-, men-, menge-, meny- 6 | 1. (prefiks pembentuk verba) menjadi: mencair; menguning; mengkristal 7 | 2. (prefiks pembentuk verba) berfungsi sebagai atau menyerupai: menyupir; menggunung 8 | 3. (prefiks pembentuk verba) makan atau minum: menyatai; mengopi; mengeteh 9 | 4. (prefiks pembentuk verba) menuju: mengutara; melaut; menepi 10 | 5. (prefiks pembentuk verba) mencari atau mengumpulkan: mendamar; merumput 11 | 6. (prefiks pembentuk verba) mengeluarkan bunyi: mengeong; mengaum; mencicit 12 | 7. (prefiks pembentuk verba) menimbulkan kesan seperti seseorang atau sesuatu yang: membisu; membatu; merendah hati 13 | 8. (prefiks pembentuk verba) dasar verba: membaca; menulis; membajak 14 | 9. (prefiks pembentuk verba) membuat; menghasilkan: menyambal; menggulai; membatik 15 | 10. (prefiks pembentuk verba) menyatakan: mengaku 16 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str/menjadikan.txt: -------------------------------------------------------------------------------- 1 | jadi (1) » men.ja.di.kan 2 | 1. (v) membuat sebagai; merupakan: ia ~ sakit adiknya sebagai alasan untuk tidak pergi kuliah 3 | 2. (v) menyebabkan: hal itu akan ~ orang lain marah-marah 4 | 3. (v) mengangkat (memilih) sebagai: rakyat telah ~ dia kepala desa 5 | 4. (v) melaksanakan (rencana, janji, dan sebagainya): ia ~ penawarannya untuk membeli rumah itu 6 | 5. (v) menciptakan; mengadakan: Tuhan yang ~ langit dan bumi beserta isinya 7 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str/quo vadis?.txt: -------------------------------------------------------------------------------- 1 | quo vadis? 2 | (ukp) (Lt) hendak pergi ke mana? (dipakai untuk mengingatkan seseorang agar memperbaiki dirinya) 3 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str/ranah.txt: -------------------------------------------------------------------------------- 1 | ra.nah 2 | 1. (n) tanah rata; dataran rendah; lembah 3 | 2. (n) tanah yang berpaya-paya 4 | 3. (n) elemen atau unsur yang dibatasi; bidang disiplin 5 | 4. (n) (Ling) lingkungan yang memungkinkan terjadinya percakapan, merupakan kombinasi antara partisipan, topik, dan tempat (misalnya keluarga, pendidikan, tempat kerja, keagamaan, dan sebagainya) 6 | 5. (n) (Psi) bagian (satuan) perilaku manusia: -- afektif berbagai perilaku yang berkaitan dengan perasaan; -- kognitif perilaku yang menjadi kegiatan kognisi atau pikiran 7 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str/roh.txt: -------------------------------------------------------------------------------- 1 | roh 2 | bentuk tidak baku: ruh 3 | 1. (n) sesuatu (unsur) yang ada dalam jasad yang diciptakan Tuhan sebagai penyebab adanya hidup (kehidupan); nyawa: jika -- sudah berpisah dari badan, berakhirlah kehidupan seseorang 4 | 2. (n) makhluk hidup yang tidak berjasad, tetapi berpikiran dan berperasaan (malaikat, jin, setan, dan sebagainya) 5 | 3. (n) (ki) semangat; spirit: kedamaian bagi seluruh warga sesuai dengan -- Islam 6 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str/sage.txt: -------------------------------------------------------------------------------- 1 | sa.ge (1) /sagé/ 2 | (n) cerita rakyat berdasarkan cerita sejarah yang sudah ditambah imajinasi masyarakat 3 | 4 | sa.ge (2) /sagé/ 5 | (n) tanaman yang termasuk keluarga min, tingginya dapat mencapai 70 cm, daunnya berbentuk oval, keras, berbulu halus, beraroma tajam, dan biasa digunakan sebagai bumbu masakan 〈Salvia officinalis〉 6 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str/semakin.txt: -------------------------------------------------------------------------------- 1 | makin » se.ma.kin 2 | 3 | se.ma.kin /sêmakin/ 4 | → makin 5 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str/tampak.txt: -------------------------------------------------------------------------------- 1 | tam.pak (1) 2 | bentuk tidak baku: nampak 3 | 1. (v) dapat dilihat; kelihatan: pulau itu sudah -- dari sini 4 | 2. (v) memperlihatkan diri; muncul: sudah lama dia tidak -- 5 | 6 | tam.pak (2) 7 | → campak (2) 8 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str_tanpa_contoh/a.n..txt: -------------------------------------------------------------------------------- 1 | a.n. 2 | (n) (sing) atas nama 3 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str_tanpa_contoh/air.txt: -------------------------------------------------------------------------------- 1 | air 2 | bentuk tidak baku: ki (2) 3 | 1. (n) cairan jernih tidak berwarna, tidak berasa, dan tidak berbau yang diperlukan dalam kehidupan manusia, hewan, dan tumbuhan yang secara kimiawi mengandung hidrogen dan oksigen 4 | 2. (n) benda cair yang biasa terdapat di sumur, sungai, danau yang mendidih pada suhu 100˚C 5 | 3. (n) (cak) ronde pada pertandingan adu ayam, berdurasi lima belas menit, diawali dengan penyapuan air pada ketiak, leher, paha, dan dubur ayam agar suhu badan ayam tetap dingin atau stabil selama pertandingan 6 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str_tanpa_contoh/alam.txt: -------------------------------------------------------------------------------- 1 | alam (1) 2 | 1. (n) segala yang ada di langit dan di bumi (seperti bumi, bintang, kekuatan) 3 | 2. (n) lingkungan kehidupan 4 | 3. (n) segala sesuatu yang termasuk dalam satu lingkungan (golongan dan sebagainya) dan dianggap sebagai satu keutuhan 5 | 4. (n) segala daya (gaya, kekuatan, dan sebagainya) yang menyebabkan terjadinya dan seakan-akan mengatur segala sesuatu yang ada di dunia ini 6 | 5. (n) yang bukan buatan manusia 7 | 6. (n) dunia 8 | 7. (n) kerajaan; daerah; negeri 9 | 10 | alam (2) 11 | (prakategorial) cari: berpengalaman, mengalami, pengalam, pengalaman 12 | 13 | alam (3) 14 | (n) bendera (panji-panji) sebagai tanda (pada pasukan dan sebagainya) 15 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str_tanpa_contoh/asalamualaikum.txt: -------------------------------------------------------------------------------- 1 | asa.la.mu.a.la.i.kum 2 | (n) keselamatan (kesejahteraan, kedamaian) untukmu (biasanya diucapkan pada awal dan akhir pidato, saat bertemu dengan seseorang, dan sebagainya) 3 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str_tanpa_contoh/beruang.txt: -------------------------------------------------------------------------------- 1 | uang » ber.u.ang 2 | 1. (v) mempunyai uang 3 | 2. (a) (ki) kaya 4 | 5 | be.ru.ang /bêruang/ 6 | (n) binatang buas jenis Ursus, berbulu tebal, dapat berdiri di atas kedua kaki belakangnya, bercakar, dan bermoncong panjang (banyak macamnya, seperti -- bukit, -- damar, -- putih) 7 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str_tanpa_contoh/bin.txt: -------------------------------------------------------------------------------- 1 | bin 2 | 1. (n) (Ar) kata untuk menyatakan anak laki-laki dari seseorang (biasa dipakai untuk keterangan antara nama seseorang dan nama ayah); anak laki-laki dari 3 | 2. (p) (cak) (Ar) kata untuk menguatkan atau mengungkapkan dengan perkataan lain 4 | 5 | BIN 6 | (n) (sing) Badan Intelijen Negara (lembaga pemerintah nonkementerian Indonesia yang bertugas di bidang intelijen) 7 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str_tanpa_contoh/civitas academica.txt: -------------------------------------------------------------------------------- 1 | civitas academica 2 | (ukp) (Lt) kelompok (warga) masyarakat akademik yang terdiri atas dosen dan mahasiswa dengan perwakilannya yang terbentuk melalui senat masing-masing 3 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str_tanpa_contoh/huk.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str_tanpa_contoh/idn45.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str_tanpa_contoh/kan.txt: -------------------------------------------------------------------------------- 1 | kan (1) 2 | (n) (ark) langkan (pada perahu) 3 | 4 | kan (2) 5 | (adv) (kp) bukan 6 | 7 | kan (3) 8 | (adv) (kp) akan 9 | 10 | kan (4) 11 | (n) tempat memasak air teh; morong; teko 12 | 13 | -kan (5) 14 | 1. (sufiks pembentuk verba) menjadikan 15 | 2. (sufiks pembentuk verba) sungguh-sungguh 16 | 3. (sufiks pembentuk verba) untuk; kepada orang lain 17 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str_tanpa_contoh/karbon dioksida.txt: -------------------------------------------------------------------------------- 1 | karbon » karbon dioksida 2 | (Kim) senyawa karbon dengan oksigen yang berupa gas tanpa warna, lebih berat dari udara, tidak terbakar, dan larut dalam air (digunakan dalam alat pemadam kebakaran) 〈CO2〉 3 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str_tanpa_contoh/keratabasa.txt: -------------------------------------------------------------------------------- 1 | ke.ra.ta.ba.sa /kératabasa/ 2 | (n) perihal menerangkan arti kata dengan memperlakukannya sebagai singkatan, biasanya untuk lelucon (misalnya kata benci ditafsirkan sebagai ‘benar-benar cinta’); etimologi rakyat 3 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str_tanpa_contoh/khayal.txt: -------------------------------------------------------------------------------- 1 | kha.yal 2 | bentuk tidak baku: kayal 3 | 1. (n) lukisan (gambar) dalam angan-angan; fantasi 4 | 2. (n) yang diangan-angankan seperti benar-benar ada 5 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str_tanpa_contoh/lah.txt: -------------------------------------------------------------------------------- 1 | -lah (1) 2 | (bentuk terikat) yang digunakan untuk menekankan makna kata yang di depannya 3 | 4 | lah (2) 5 | (adv) (kp) telah 6 | 7 | lah (3) 8 | (p) (cak) kata seru untuk memberi tekanan atau menyungguhkan 9 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str_tanpa_contoh/lampir.txt: -------------------------------------------------------------------------------- 1 | lam.pir 2 | (prakategorial) cari: lampiran, melampiri, melampirkan, terlampir 3 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str_tanpa_contoh/makin.txt: -------------------------------------------------------------------------------- 1 | ma.kin 2 | bentuk tidak baku: mangkin, semakin 3 | 1. (adv) kian bertambah 4 | 2. (p) (kl) lebih-lebih; apalagi 5 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str_tanpa_contoh/me-.txt: -------------------------------------------------------------------------------- 1 | me- /mê-/ 2 | → meng- 3 | 4 | meng- /mêng-/ 5 | varian: me-, mem-, men-, menge-, meny- 6 | 1. (prefiks pembentuk verba) menjadi 7 | 2. (prefiks pembentuk verba) berfungsi sebagai atau menyerupai 8 | 3. (prefiks pembentuk verba) makan atau minum 9 | 4. (prefiks pembentuk verba) menuju 10 | 5. (prefiks pembentuk verba) mencari atau mengumpulkan 11 | 6. (prefiks pembentuk verba) mengeluarkan bunyi 12 | 7. (prefiks pembentuk verba) menimbulkan kesan seperti seseorang atau sesuatu yang 13 | 8. (prefiks pembentuk verba) dasar verba 14 | 9. (prefiks pembentuk verba) membuat; menghasilkan 15 | 10. (prefiks pembentuk verba) menyatakan 16 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str_tanpa_contoh/menjadikan.txt: -------------------------------------------------------------------------------- 1 | jadi (1) » men.ja.di.kan 2 | 1. (v) membuat sebagai; merupakan 3 | 2. (v) menyebabkan 4 | 3. (v) mengangkat (memilih) sebagai 5 | 4. (v) melaksanakan (rencana, janji, dan sebagainya) 6 | 5. (v) menciptakan; mengadakan 7 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str_tanpa_contoh/quo vadis?.txt: -------------------------------------------------------------------------------- 1 | quo vadis? 2 | (ukp) (Lt) hendak pergi ke mana? (dipakai untuk mengingatkan seseorang agar memperbaiki dirinya) 3 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str_tanpa_contoh/ranah.txt: -------------------------------------------------------------------------------- 1 | ra.nah 2 | 1. (n) tanah rata; dataran rendah; lembah 3 | 2. (n) tanah yang berpaya-paya 4 | 3. (n) elemen atau unsur yang dibatasi; bidang disiplin 5 | 4. (n) (Ling) lingkungan yang memungkinkan terjadinya percakapan, merupakan kombinasi antara partisipan, topik, dan tempat (misalnya keluarga, pendidikan, tempat kerja, keagamaan, dan sebagainya) 6 | 5. (n) (Psi) bagian (satuan) perilaku manusia 7 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str_tanpa_contoh/roh.txt: -------------------------------------------------------------------------------- 1 | roh 2 | bentuk tidak baku: ruh 3 | 1. (n) sesuatu (unsur) yang ada dalam jasad yang diciptakan Tuhan sebagai penyebab adanya hidup (kehidupan); nyawa 4 | 2. (n) makhluk hidup yang tidak berjasad, tetapi berpikiran dan berperasaan (malaikat, jin, setan, dan sebagainya) 5 | 3. (n) (ki) semangat; spirit 6 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str_tanpa_contoh/sage.txt: -------------------------------------------------------------------------------- 1 | sa.ge (1) /sagé/ 2 | (n) cerita rakyat berdasarkan cerita sejarah yang sudah ditambah imajinasi masyarakat 3 | 4 | sa.ge (2) /sagé/ 5 | (n) tanaman yang termasuk keluarga min, tingginya dapat mencapai 70 cm, daunnya berbentuk oval, keras, berbulu halus, beraroma tajam, dan biasa digunakan sebagai bumbu masakan 〈Salvia officinalis〉 6 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str_tanpa_contoh/semakin.txt: -------------------------------------------------------------------------------- 1 | makin » se.ma.kin 2 | 3 | se.ma.kin /sêmakin/ 4 | → makin 5 | -------------------------------------------------------------------------------- /tests/kasus/nonauth/str_tanpa_contoh/tampak.txt: -------------------------------------------------------------------------------- 1 | tam.pak (1) 2 | bentuk tidak baku: nampak 3 | 1. (v) dapat dilihat; kelihatan 4 | 2. (v) memperlihatkan diri; muncul 5 | 6 | tam.pak (2) 7 | → campak (2) 8 | -------------------------------------------------------------------------------- /tests/server.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import sys 4 | from http.server import SimpleHTTPRequestHandler, test 5 | 6 | 7 | class MockServer: 8 | @staticmethod 9 | def run(directory=None): 10 | SimpleHTTPRequestHandler.extensions_map = { 11 | k: f"{v};charset=UTF-8" 12 | for k, v in SimpleHTTPRequestHandler.extensions_map.items() 13 | } 14 | if directory is None: 15 | directory = sys.argv[1] if len(sys.argv) > 1 else "html" 16 | os.chdir(directory) 17 | test(SimpleHTTPRequestHandler) 18 | 19 | 20 | if __name__ == "__main__": 21 | MockServer.run() 22 | -------------------------------------------------------------------------------- /tests/test_kasus.py: -------------------------------------------------------------------------------- 1 | import pathlib 2 | 3 | import pytest 4 | 5 | DIR_KASUS = pathlib.Path(__file__).resolve(strict=True).parent / "kasus" 6 | 7 | kasus = {"auth": {}, "nonauth": {}} 8 | 9 | for k in kasus: 10 | for jenis in (DIR_KASUS / k).iterdir(): 11 | if jenis.is_dir(): 12 | kasus[k][jenis.stem] = [ 13 | (f.stem, f) for f in jenis.iterdir() if f.is_file() 14 | ] 15 | 16 | 17 | def idfn(val): 18 | if isinstance(val, pathlib.Path): 19 | return val.name 20 | return val 21 | 22 | 23 | @pytest.mark.parametrize( 24 | "aktual_objek,ekspektasi_str", 25 | kasus["nonauth"]["str"], 26 | indirect=True, 27 | ids=idfn, 28 | ) 29 | def test_str_nonauth_dgn_eksp_nonauth(aktual_objek, ekspektasi_str): 30 | assert str(aktual_objek) == ekspektasi_str 31 | 32 | 33 | @pytest.mark.parametrize( 34 | "aktual_objek_terautentikasi,ekspektasi_str", 35 | kasus["nonauth"]["str"], 36 | indirect=True, 37 | ids=idfn, 38 | ) 39 | def test_str_auth_dgn_eksp_nonauth( 40 | aktual_objek_terautentikasi, ekspektasi_str 41 | ): 42 | assert ( 43 | aktual_objek_terautentikasi.__str__(fitur_pengguna=False) 44 | == ekspektasi_str 45 | ) 46 | 47 | 48 | @pytest.mark.parametrize( 49 | "aktual_objek_terautentikasi,ekspektasi_str", 50 | kasus["auth"]["str"], 51 | indirect=True, 52 | ids=idfn, 53 | ) 54 | def test_str_auth_dgn_eksp_auth(aktual_objek_terautentikasi, ekspektasi_str): 55 | assert str(aktual_objek_terautentikasi) == ekspektasi_str 56 | 57 | 58 | @pytest.mark.parametrize( 59 | "aktual_objek,ekspektasi_str", 60 | kasus["nonauth"]["str_tanpa_contoh"], 61 | indirect=True, 62 | ids=idfn, 63 | ) 64 | def test_str_tanpa_contoh_nonauth_dgn_eksp_nonauth( 65 | aktual_objek, ekspektasi_str 66 | ): 67 | assert aktual_objek.__str__(contoh=False) == ekspektasi_str 68 | 69 | 70 | @pytest.mark.parametrize( 71 | "aktual_objek_terautentikasi,ekspektasi_str", 72 | kasus["nonauth"]["str_tanpa_contoh"], 73 | indirect=True, 74 | ids=idfn, 75 | ) 76 | def test_str_tanpa_contoh_auth_dgn_eksp_nonauth( 77 | aktual_objek_terautentikasi, ekspektasi_str 78 | ): 79 | assert ( 80 | aktual_objek_terautentikasi.__str__(contoh=False, fitur_pengguna=False) 81 | == ekspektasi_str 82 | ) 83 | 84 | 85 | @pytest.mark.parametrize( 86 | "aktual_objek_terautentikasi,ekspektasi_str", 87 | kasus["auth"]["str_tanpa_contoh"], 88 | indirect=True, 89 | ids=idfn, 90 | ) 91 | def test_str_tanpa_contoh_auth_dgn_eksp_auth( 92 | aktual_objek_terautentikasi, ekspektasi_str 93 | ): 94 | assert aktual_objek_terautentikasi.__str__(contoh=False) == ekspektasi_str 95 | 96 | 97 | @pytest.mark.parametrize( 98 | "aktual_objek,ekspektasi_serialisasi", 99 | kasus["nonauth"]["serialisasi"], 100 | indirect=True, 101 | ids=idfn, 102 | ) 103 | def test_serialisasi_nonauth_dgn_eksp_nonauth( 104 | aktual_objek, ekspektasi_serialisasi 105 | ): 106 | assert aktual_objek.serialisasi() == ekspektasi_serialisasi 107 | 108 | 109 | @pytest.mark.parametrize( 110 | "aktual_objek_terautentikasi,ekspektasi_serialisasi", 111 | kasus["nonauth"]["serialisasi"], 112 | indirect=True, 113 | ids=idfn, 114 | ) 115 | def test_serialisasi_auth_dgn_eksp_nonauth( 116 | aktual_objek_terautentikasi, ekspektasi_serialisasi 117 | ): 118 | assert ( 119 | aktual_objek_terautentikasi.serialisasi(fitur_pengguna=False) 120 | == ekspektasi_serialisasi 121 | ) 122 | 123 | 124 | @pytest.mark.parametrize( 125 | "aktual_objek_terautentikasi,ekspektasi_serialisasi", 126 | kasus["auth"]["serialisasi"], 127 | indirect=True, 128 | ids=idfn, 129 | ) 130 | def test_serialisasi_auth_dgn_eksp_auth( 131 | aktual_objek_terautentikasi, ekspektasi_serialisasi 132 | ): 133 | assert aktual_objek_terautentikasi.serialisasi() == ekspektasi_serialisasi 134 | -------------------------------------------------------------------------------- /tests/test_kbbi.py: -------------------------------------------------------------------------------- 1 | import json 2 | import pathlib 3 | 4 | import pytest 5 | 6 | import kbbi 7 | from _mock import MockKBBI 8 | 9 | 10 | def test_objek_auth_kelas_lain(): 11 | with pytest.raises(ValueError) as e: 12 | kbbi.KBBI("halo", True) 13 | assert str(e.value) == "'auth' harus berupa objek AutentikasiKBBI." 14 | 15 | 16 | @pytest.mark.parametrize("aktual_objek", ["alam"], indirect=True) 17 | def test_repr_kbbi(aktual_objek): 18 | assert repr(aktual_objek) == "" 19 | 20 | 21 | @pytest.mark.parametrize("aktual_objek", ["alam"], indirect=True) 22 | def test_repr_entri(aktual_objek): 23 | assert repr(aktual_objek.entri[0]) == "" 24 | 25 | 26 | @pytest.mark.parametrize("aktual_objek", ["a.n."], indirect=True) 27 | def test_repr_makna(aktual_objek): 28 | assert repr(aktual_objek.entri[0].makna[0]) == "" 29 | 30 | 31 | @pytest.mark.parametrize("aktual_objek_terautentikasi", ["roh"], indirect=True) 32 | def test_repr_etimologi(aktual_objek_terautentikasi): 33 | assert ( 34 | repr(aktual_objek_terautentikasi.entri[0].etimologi) 35 | == "" 36 | ) 37 | 38 | 39 | def test_autentikasi_tanpa_posel_sandi_kuki_tidak_ada(): 40 | with pytest.raises(kbbi.GagalAutentikasi) as e: 41 | kbbi.AutentikasiKBBI(lokasi_kuki="/lokasi/tidak/ada") 42 | assert str(e.value) == ( 43 | "Posel dan sandi tidak diberikan, " 44 | "tetapi kuki tidak ditemukan pada /lokasi/tidak/ada" 45 | ) 46 | 47 | 48 | def test_simpan_kuki(autentikasi): 49 | autentikasi.sesi.cookies.set(".AspNet.ApplicationCookie", "delicious") 50 | berkas = pathlib.Path("kukiku.json") 51 | assert not berkas.exists() 52 | autentikasi.lokasi_kuki = berkas 53 | autentikasi.simpan_kuki() 54 | with berkas.open() as kuki: 55 | assert json.load(kuki) == {".AspNet.ApplicationCookie": "delicious"} 56 | berkas.unlink() 57 | 58 | 59 | def test_ambil_kuki(autentikasi): 60 | berkas = pathlib.Path("kukimu.json") 61 | with berkas.open("w") as kuki: 62 | json.dump({".AspNet.ApplicationCookie": "yummy"}, kuki) 63 | assert autentikasi.sesi.cookies.get(".AspNet.ApplicationCookie") is None 64 | autentikasi.lokasi_kuki = berkas 65 | autentikasi.ambil_kuki() 66 | assert autentikasi.sesi.cookies.get(".AspNet.ApplicationCookie") == "yummy" 67 | berkas.unlink() 68 | 69 | 70 | def test_autentikasi_tidak_ada_token(autentikasi): 71 | autentikasi.lokasi = "Beranda/Error.html" 72 | with pytest.raises(kbbi.TerjadiKesalahan) as e: 73 | autentikasi._ambil_token() 74 | assert str(e.value) == "Terjadi kesalahan saat memproses permintaan Anda." 75 | 76 | 77 | def test_autentikasi_gagal_tetap_halaman_login(autentikasi): 78 | with pytest.raises(kbbi.GagalAutentikasi) as e: 79 | autentikasi._autentikasi("pos@l.sy", "salah", "token", buat_galat=True) 80 | assert str(e.value) == ( 81 | "Gagal melakukan autentikasi dengan alamat posel dan sandi " 82 | "yang diberikan." 83 | ) 84 | 85 | 86 | def test_autentikasi_gagal_laman_galat(autentikasi): 87 | autentikasi.lokasi = "Beranda/Error.html" 88 | with pytest.raises(kbbi.TerjadiKesalahan) as e: 89 | autentikasi._autentikasi("su@r.el", "benar", "token", buat_galat=True) 90 | assert str(e.value) == "Terjadi kesalahan saat memproses permintaan Anda." 91 | 92 | 93 | def test_autentikasi_berhasil(autentikasi): 94 | autentikasi.lokasi = "" 95 | autentikasi._autentikasi("pos@el.saya", "sandi", "token") 96 | assert ( 97 | autentikasi.sesi.cookies.get(".AspNet.ApplicationCookie") 98 | == "mockcookie" 99 | ) 100 | 101 | 102 | def test_galat_terjadi_kesalahan(): 103 | with pytest.raises(kbbi.TerjadiKesalahan) as e: 104 | MockKBBI("coba", lokasi="Beranda/Error.html") 105 | assert str(e.value) == "Terjadi kesalahan saat memproses permintaan Anda." 106 | 107 | 108 | def test_galat_batas_sehari(): 109 | with pytest.raises(kbbi.BatasSehari) as e: 110 | MockKBBI("coba terus", lokasi="Beranda/BatasSehari.html") 111 | assert str(e.value) == ( 112 | "Pencarian Anda telah mencapai batas maksimum dalam sehari." 113 | ) 114 | 115 | 116 | def test_galat_akun_dibekukan(): 117 | with pytest.raises(kbbi.AkunDibekukan) as e: 118 | MockKBBI("coba", lokasi="Account/Banned.html") 119 | assert str(e.value) == ( 120 | "Akun ini sedang dibekukan, tidak dapat digunakan." 121 | ) 122 | 123 | 124 | def test_galat_tidak_ditemukan(): 125 | with pytest.raises(kbbi.TidakDitemukan) as e: 126 | MockKBBI("nonexistent", lokasi="entri.html") 127 | assert str(e.value) == ("nonexistent tidak ditemukan dalam KBBI.") 128 | 129 | 130 | def test_ekstraksi_aman_none(): 131 | assert kbbi.ekstraksi_aman(None) == "" 132 | --------------------------------------------------------------------------------