@kazedevid/jawa-script
v1.0.0
Published
Library Node.js untuk mengubah syntax JavaScript menjadi bahasa Jawa
Maintainers
Readme
Jawa Script 🇮🇩
Library Node.js untuk mengubah syntax JavaScript menjadi bahasa Jawa. Belajar programming sambil melestarikan budaya!
📦 Instalasi
npm install @kazedevid/jawa-script🚀 Penggunaan Dasar
const JawaScript = require('@kazedevid/jawa-script');
// Inisialisasi
const translator = new JawaScript();
// Contoh konversi
const jsCode = `
function greet(name) {
console.log("Hello " + name);
if (name === "Budi") {
return true;
}
return false;
}
`;
const jawaCode = translator.translate(jsCode);
console.log(jawaCode);Output:
fungsi salam(jeneng) {
cetak.log("Hello " + jeneng);
yen (jeneng === "Budi") {
bali benar;
}
bali salah;
}📚 API Reference
new JawaScript(options)
Membuat instance baru dari JawaScript translator.
Options:
customKeywords(Object): Kata kunci kustom tambahanpreserveComments(Boolean): Mempertahankan komentar (default: true)
const translator = new JawaScript({
customKeywords: {
'array': 'larik',
'object': 'objek'
},
preserveComments: true
});translate(code)
Mengubah kode JavaScript menjadi bahasa Jawa.
Parameter:
code(String): Kode JavaScript yang akan diterjemahkan
Return: String - Kode dalam bahasa Jawa
addCustomKeyword(jsKeyword, jawaKeyword)
Menambah kata kunci kustom.
translator.addCustomKeyword('fetch', 'jupuk');
translator.addCustomKeyword('async', 'ora_langsung');exportToFile(translatedCode, filename)
Menyimpan hasil terjemahan ke file.
translator.exportToFile(jawaCode, 'output.jawa.js');getAvailableKeywords()
Mendapatkan daftar semua kata kunci yang tersedia.
const keywords = translator.getAvailableKeywords();
console.log(keywords);🔤 Kata Kunci yang Didukung
Fungsi Built-in
| JavaScript | Bahasa Jawa | Keterangan |
|------------|-------------|------------|
| console.log | cetak.log | Menampilkan output |
| console.error | cetak.salah | Menampilkan error |
| parseInt | angkaInt | Konversi ke integer |
| parseFloat | angkaFloat | Konversi ke float |
| JSON.parse | JSON.urai | Parse JSON |
| JSON.stringify | JSON.gabung | Stringify JSON |
Kata Kunci Kontrol
| JavaScript | Bahasa Jawa | Keterangan |
|------------|-------------|------------|
| function | fungsi | Deklarasi fungsi |
| if | yen | Kondisi if |
| else | liyane | Kondisi else |
| for | kanggo | Loop for |
| while | nalika | Loop while |
| return | bali | Return statement |
| break | mandheg | Break statement |
| continue | terus | Continue statement |
Tipe Data & Variabel
| JavaScript | Bahasa Jawa | Keterangan |
|------------|-------------|------------|
| var | ganti | Variable declaration |
| let | ayo | Let declaration |
| const | tetep | Constant declaration |
| true | benar | Boolean true |
| false | salah | Boolean false |
| null | kosong | Null value |
| undefined | ora_didefinisi | Undefined value |
ES6+ Features
| JavaScript | Bahasa Jawa | Keterangan |
|------------|-------------|------------|
| arrow function => | panah => | Arrow function |
| async | ora_langsung | Async function |
| await | ngenteni | Await keyword |
| import | lebokno | Import statement |
| export | metu | Export statement |
| class | kelas | Class declaration |
🌟 Contoh Lengkap
const JawaScript = require('@kazedevid/jawa-script');
// Kode JavaScript asli
const originalCode = `
class Calculator {
constructor() {
this.result = 0;
}
add(number) {
this.result += number;
return this;
}
subtract(number) {
this.result -= number;
return this;
}
getResult() {
return this.result;
}
}
const calc = new Calculator();
const result = calc.add(10).subtract(5).getResult();
console.log("Hasil:", result);
`;
// Terjemahkan
const translator = new JawaScript();
const jawaCode = translator.translate(originalCode);
// Simpan ke file
translator.exportToFile(jawaCode, 'kalkulator.jawa.js');
console.log('Terjemahan berhasil disimpan!');Output (kalkulator.jawa.js):
kelas Kalkulator {
konstruktor() {
iki.asil = 0;
}
tambah(angka) {
iki.asil += angka;
bali iki;
}
kurang(angka) {
iki.asil -= angka;
bali iki;
}
jupukAsil() {
bali iki.asil;
}
}
tetep calc = anyar Kalkulator();
tetep asil = calc.tambah(10).kurang(5).jupukAsil();
cetak.log("Asil:", asil);🎯 Use Cases
- Edukasi Programming: Membantu pemula belajar JavaScript dengan bahasa yang familiar
- Pelestarian Budaya: Mengenalkan bahasa Jawa dalam konteks teknologi modern
- Code Review: Membuat kode lebih mudah dipahami untuk developer lokal
- Dokumentasi: Menulis dokumentasi teknis dalam bahasa Jawa
🤝 Berkontribusi
Kami sangat senang menerima kontribusi! Berikut cara berkontribusi:
- Fork repository ini
- Buat branch feature (
git checkout -b feature/kata-kunci-baru) - Commit perubahan (
git commit -am 'Tambah kata kunci baru') - Push ke branch (
git push origin feature/kata-kunci-baru) - Buat Pull Request
Menambah Kata Kunci Baru
Edit file src/keywords.js untuk menambah kata kunci baru:
// Tambahkan di object yang sesuai
builtInFunctions: {
'setTimeout': 'setWaktu',
'setInterval': 'setInterval'
}📝 Roadmap
- [ ] Support untuk TypeScript
- [ ] Plugin untuk VS Code
- [ ] Web-based translator
- [ ] Support bahasa daerah lainnya
- [ ] Integration dengan bundler populer
🐛 Bug Reports
Jika menemukan bug, silakan buat issue di GitHub Issues dengan:
- Deskripsi bug
- Kode yang bermasalah
- Expected vs actual behavior
- Environment info (Node version, OS)
📄 Lisensi
MIT License - lihat file LICENSE untuk detail lengkap.
🙏 Acknowledgments
- Terinspirasi dari kearifan lokal bahasa Jawa
- Terima kasih kepada komunitas JavaScript Indonesia
- Special thanks untuk semua kontributor
Dibuat dengan ❤️ untuk melestarikan budaya sambil belajar teknologi
