Giter VIP home page Giter VIP logo

akarata's Introduction

Akarata

Build Status codecov npm Greenkeeper badge

README English version

Akarata adalah pustaka JavaScript untuk mengambil akar kata/suku kata(stem) dari kata yang berimbuhan awal ataupun akhir pada bahasa Indonesia. Akarata diambil dari kata "akar kata", agar lebih pendek saat penyebutannya.

Akarata diilhami dari stem kata bahasa Indonesia berdasarkan Porter Stemmer, dengan menggunakan algoritma yang dipaparkan dalam paper A Study of Stemming Effects on Information Retrieval in Bahasa Indonesia, oleh Fadillah Z Tala.

Akarata dibuat secara umum bisa berjalan di server menggunakan Node.js maupun di browser terbaru bahkan di react-native sekalipun. Namun perlu memperhatikan kompatibilitas dari platform tersebut. Cek di Kompatibilitas fungsi

Dibutuhkan

tslib >= 1.9.0

Instalasi

npm:

npm install --save tslib akarata

yarn:

yarn add tslib akarata

Kompatibilitas fungsi

Karena akarata di dalam fungsinya menggunakan Array.includes. Maka jika anda menggunakan akarata pada Node.js versi 4, browser Edge < v14, IE, Chrome < v47, Firefox < 43, Safari < v9 dan lain-lain(lihat tabel) maka membutuhkan polyfill. Untuk caranya bisa lihat di bagian Menambah polyfill

Menambah polyfill

Lewati langkah ini jika platform didukung.

Menggunakan npm:

npm i ts-polyfill

Menggunakan yarn:

yarn add ts-polyfill

Gunakan polyfill

Muat ini sebelum memuat pustaka akarata, biasanya taruh diatasnya.

pada node.js:

require('ts-polyfill/lib/es2016-array-include');

pada ES2015+ / Babel / TypeScript:

import 'ts-polyfill/lib/es2016-array-include';

Hanya menggunakan script tag:

Jika tidak ingin melakukan instalasi ts-polyfill dan hanya menjalankan di browser. Maka salin kode yang ada di dokumentasi polyfill

<script type="javascript">
  // salin kode disini
<script>

Penggunaan

Muat pustaka akarata

ES2015+ / Babel / TypeScript:

// muat pustakanya
import * as akarata from 'akarata';
// or
import akarata from 'akarata';

CommonJS/ UMD / NodeJS:

// muat pustakanya
var akarata = require('akarata');

Michael Jackson script/ MJS / NodeJS experimental-modules:

// muat pustakanya
import * as akarata from 'akarata';
// or
import akarata from 'akarata';

unpkg.com:

// sejak akarata versi > 0.1.5
// unpkg.com/:package@:version/:file
// catatan `.min` menandakan versi kompres-nya
// sebagai contoh
import * as akarata from 'https://unpkg.com/[email protected]/bundles/index.esm.js';
// atau
import akarata from 'https://unpkg.com/[email protected]/bundles/index.esm.min.js';

// atau url absolut, secara implisit ke bundles/index.umd.js
import akarata from 'https://unpkg.com/akarata';

Kemudian bisa digunakan:

// panggil fungsi stem
akarata.stem('menikah'); // nikah

Atau mencobanya langsung dari web: akarata.netlify.com.

Masalah

Karena pustaka ini masih tahap development, jika diketahui ada masalah silakan buat tiket baru

Berkontribusi

Awalnya, pustaka ini merupakan implementasi dari sistem penganalisis untuk Bahasa Indonesia, dari proyek Apache Lucene, ke dalam bahasa JavaScript.

Referensi

  1. Situs Resmi Kamus Bahasa Indonesia
  2. Untuk mencari dan memverifikasi kata Bahasa Indonesia, Kateglo Bahtera
  3. Artikel Wikipedia yang berjudul Prefiks dalam Bahasa Indonesia

Langkah-langkah

  1. Proyek ini membutuhkan versi Node.js >= 8.5
  2. Fork proyek ini
  3. Buat branch untuk fitur Anda (git checkout -b my-new-feature)
  4. Buat tes kasus untuk fitur anda pada folder __tests__ dan jalankan npm test
  5. Commit perubahan-perubahan yang Anda buat (git commit -am 'Tambahkan fitur baru')
  6. Push ke branch itu (git push origin my-new-feature)
  7. Ajukan Pull Request baru

Terima kasih

Setelah bersyukur kepada Allah Subhanahu Wa Ta'ala, kami ingin mengucapkan terima kasih kepada:

  • Fadillah Z Tala & Apache Lucene sehingga kami dapat mulai membuat pustaka ini
  • Penyedia Kateglo Bahtera, karena telah menyediakan API nya sehingga saya bisa memilih & memisahkan kata-kata ambigu, dan akhirnya memeriksa validitas hasil kata.
  • Adinda Praditya & Indonesian Stemmer. Beliau sebagai coach dan berkat pustakanya maka pustaka ini bisa diimplementasi ke dalam bahasa JavaScript.

akarata's People

Contributors

adamfdl avatar efueger avatar greenkeeper[bot] avatar herpiko avatar ikhsanalatsary avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

akarata's Issues

bug kosa kata

  • santai = santa
  • strategi = strateg
  • direkomendasikan = rekomendas
  • pelayannya = lay
  • kekinian = kin
  • mengecewakan = ecewa
    -lokasi = lokas

Dokumentasi bahasa inggris

Readme yang ada sekarang masih terbatas bahasa Indonesia. Sangat bagus apabila ada readme versi bahasa Inggris, guna bagi orang yang bukan asli Indonesia yang ingin mencoba pustaka ini. Penamaan filenya Mungkin Readme.eng.md Atau Readme.english.md Atau ada yang mau kasih masukan?

can not use in angular typescript

hi. i want to use akara to my app but it could not load. the error is
error TS7016: Could not find a declaration file for module 'akarata'. 'D:/MyProject/stkiNew/node_modules/akarata/dist/index.js' implicitly has an 'any' type. Try npm install @types/akarata if it exists or add a new declaration (.d.ts) file containing declare module 'akarata';

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.