IndoJS adalah package JavaScript revolusioner yang memungkinkan Anda menulis kode JavaScript menggunakan sintaks bahasa Indonesia. Dibuat khusus untuk membantu programmer Indonesia yang ingin belajar coding dengan bahasa yang lebih familiar dan mudah dipahami.
- ๐ Mempermudah pembelajaran programming untuk pemula Indonesia
- ๐ Localization JavaScript ke bahasa Indonesia
- ๐ Meningkatkan aksesibilitas coding bagi non-English speakers
- ๐ Mendukung pendidikan programming di Indonesia
- ๐ก Menjembatani gap bahasa dalam dunia programming
npm install indojs// Import IndoJS
require("indojs");
// Sekarang Anda bisa menggunakan sintaks Indonesia!
konsol.log("Halo Dunia!");
// Gunakan nilai Indonesia
let status = benar;
let data = kosong;
konsol.log("Status:", status);
konsol.log("Data:", data);
// Array dengan method Indonesia
let daftarNama = ["Andi", "Budi"];
daftarNama.dorong("Citra");
konsol.log("Daftar:", daftarNama.gabung(", "));
// String dengan method Indonesia
let pesan = "Hello World";
konsol.log("Huruf besar:", pesan.huruf_besar());
konsol.log("Huruf kecil:", pesan.huruf_kecil());
// Math Indonesia
konsol.log("Angka bulat:", matematika.bulat(3.7));
konsol.log("Angka acak:", matematika.acak());โ Status: Ditest dan Berfungsi 100%
Semua sintaks di bawah ini sudah diuji dan bekerja dengan sempurna!
| Indonesia | JavaScript | Status | Contoh |
|---|---|---|---|
konsol |
console |
โ | konsol.log("Halo!") |
| Indonesia | JavaScript | Status | Contoh |
|---|---|---|---|
benar |
true |
โ | let aktif = benar; |
salah |
false |
โ | let nonaktif = salah; |
kosong |
null |
โ | let data = kosong; |
tidak_terdefinisi |
undefined |
โ | let x = tidak_terdefinisi; |
| Indonesia | JavaScript | Status | Contoh |
|---|---|---|---|
dorong |
push |
โ | array.dorong(item) |
keluarkan |
pop |
โ | array.keluarkan() |
potong |
slice |
โ | array.potong(0, 3) |
gabung |
join |
โ | array.gabung(", ") |
| Indonesia | JavaScript | Status | Contoh |
|---|---|---|---|
huruf_besar |
toUpperCase |
โ | teks.huruf_besar() |
huruf_kecil |
toLowerCase |
โ | teks.huruf_kecil() |
ganti |
replace |
โ | teks.ganti("a", "b") |
pisah |
split |
โ | teks.pisah("-") |
| Indonesia | JavaScript | Status | Contoh |
|---|---|---|---|
matematika |
Math |
โ | matematika.bulat(3.7) |
bulat |
round |
โ | matematika.bulat(3.7) |
acak |
random |
โ | matematika.acak() |
maksimum |
max |
โ | matematika.maksimum(5, 10) |
minimum |
min |
โ | matematika.minimum(5, 10) |
| Indonesia | JavaScript | Status | Contoh |
|---|---|---|---|
tanggal |
Date |
โ | new tanggal() |
sekarang |
now |
โ | tanggal.sekarang() |
| Indonesia | JavaScript | Status | Contoh |
|---|---|---|---|
json |
JSON |
โ | json.stringify(obj) |
Fitur-fitur berikut sedang dalam pengembangan dan belum tersedia di versi 1.0:
jikaโiftidakโelsedanโ&&atauโ||bukanโ!
selamaโwhileuntukโforulangiโcontinuehentikanโbreak
biarkanโletkonstanโconstvariabelโvar
fungsiโfunctionkembalikanโreturn
cobaโtrytangkapโcatchakhirnyaโfinally
kelasโclassiniโthisbaruโnew
imporโimporteksporโexport
๐ฏ Target: Implementasi penuh di IndoJS v2.0
require("indojs");
// 1. Console Indonesia
konsol.log("=== DEMO INDOJS ===");
// 2. Nilai dasar Indonesia
let nama = "Andi";
let umur = 25;
let aktif = benar;
let data = kosong;
let belumDiisi = tidak_terdefinisi;
konsol.log("Nama:", nama);
konsol.log("Umur:", umur);
konsol.log("Status aktif:", aktif);
konsol.log("Data:", data);
konsol.log("Belum diisi:", belumDiisi);
// 3. Array dengan method Indonesia
let daftarNama = ["Andi", "Budi", "Citra"];
daftarNama.dorong("Dina");
konsol.log("Setelah dorong:", daftarNama);
let namaKeluar = daftarNama.keluarkan();
konsol.log("Nama yang keluar:", namaKeluar);
konsol.log("Daftar final:", daftarNama.gabung(", "));
let sebagianNama = daftarNama.potong(0, 2);
konsol.log("Potong 2 pertama:", sebagianNama);
// 4. String dengan method Indonesia
let pesan = "Halo Indonesia";
konsol.log("Teks asli:", pesan);
konsol.log("Huruf besar:", pesan.huruf_besar());
konsol.log("Huruf kecil:", pesan.huruf_kecil());
konsol.log("Ganti kata:", pesan.ganti("Indonesia", "Dunia"));
konsol.log("Pisah kata:", pesan.pisah(" "));
// 5. Matematika Indonesia
let angka1 = 3.7;
let angka2 = 2.3;
konsol.log("Angka 1:", angka1);
konsol.log("Angka 2:", angka2);
konsol.log("Bulat angka 1:", matematika.bulat(angka1));
konsol.log("Angka acak:", matematika.acak());
konsol.log("Maksimum:", matematika.maksimum(angka1, angka2));
konsol.log("Minimum:", matematika.minimum(angka1, angka2));
// 6. Tanggal Indonesia
let sekarang = tanggal.sekarang();
konsol.log("Timestamp:", sekarang);
let tanggalBaru = new tanggal();
konsol.log("Tanggal baru:", tanggalBaru);
// 7. JSON Indonesia
let objek = { nama: "Budi", umur: 30, kota: "Jakarta" };
let jsonString = json.stringify(objek);
konsol.log("Object to JSON:", jsonString);
let objekKembali = json.parse(jsonString);
konsol.log("JSON to Object:", objekKembali);
// 8. Kombinasi dengan JavaScript biasa (masih berfungsi!)
if (umur > 18) {
konsol.log("Sudah dewasa - menggunakan if biasa");
} else {
konsol.log("Masih anak-anak");
}IndoJS menyediakan API untuk transformasi kode (experimental):
const { transformIndonesianCode, evaluateIndonesianCode } = require('indojs');
// Transform keyword Indonesia ke JavaScript (basic)
const kodeIndonesia = `
konsol.log("Halo");
let status = benar;
let data = kosong;
`;
const kodeJavaScript = transformIndonesianCode(kodeIndonesia);
console.log(kodeJavaScript);
// Output: console.log("Halo"); let status = true; let data = null;
// Evaluate kode Indonesia langsung
evaluateIndonesianCode('konsol.log("Halo dari eval!");');
โ ๏ธ Note: API transformasi masih eksperimental dan hanya bekerja untuk keyword yang sudah diimplementasi di v1.0
- โ Node.js - Full support (18+)
- โ Browser - Full support
- โ Web Workers - Full support
- โ ES6 Modules - Full support
- โ CommonJS - Full support
# Jalankan demo lengkap
npm run demo
# Jalankan test suite
npm test
# Atau manual
node examples/demo.js
node test.jsv1.0 Status: โ Proof of Concept - Core functionality working!
v2.0 - Syntax Extension:
- Conditional Syntax -
jika,tidak,dan,atau - Loop Syntax -
selama,untuk,ulangi,hentikan - Variable Declaration -
biarkan,konstan,variabel - Function Syntax -
fungsi,kembalikan - Error Handling -
coba,tangkap,akhirnya
v3.0 - Advanced Features:
- Class Syntax -
kelas,ini,baru - Module Syntax -
impor,ekspor - Async/Await -
asinkron,tunggu
v4.0 - Tooling:
- Preprocessor CLI - Command line tool untuk transform files
- VSCode Extension - Syntax highlighting dan autocomplete
- Babel Plugin - Integrasi dengan build tools
- TypeScript Support - Dukungan untuk TypeScript Indonesia
- ESLint Plugin - Linting rules untuk sintaks Indonesia
Kami sangat terbuka untuk kontribusi! Beberapa cara untuk berkontribusi:
- ๐ Laporkan bug melalui GitHub Issues
- ๐ก Saran fitur baru atau keyword tambahan
- ๐ Perbaiki dokumentasi
- ๐ง Submit Pull Request
- โญ Berikan star jika project ini berguna!
# Fork repository
git clone https://github.com/Erazorre-Teknologi-Bandung/indojs.git
cd indojs
# Install dependencies
npm install
# Buat branch baru
git checkout -b fitur-baru
# Lakukan perubahan dan test
npm test
# Commit perubahan
git add .
git commit -m "Menambah fitur X"
# Push ke branch
git push origin fitur-baru
# Buat Pull Request di GitHubA: Tidak. IndoJS adalah layer tambahan yang membuat alias syntax Indonesia. JavaScript asli tetap bisa digunakan.
A: Ya, tetapi disarankan untuk educational purposes. Untuk production, pertimbangkan team familiarity dengan syntax.
A: Minimal. IndoJS hanya menambah alias ke global scope saat initialization.
A: Edit lib/keywords.js dan submit PR, atau buat issue untuk request keyword baru.
- ๐ Initial Release
- โ
Console Indonesia:
konsol - โ
Nilai Dasar:
benar,salah,kosong,tidak_terdefinisi - โ
Array Methods:
dorong,keluarkan,potong,gabung - โ
String Methods:
huruf_besar,huruf_kecil,ganti,pisah - โ
Math Indonesia:
matematika+ methods - โ
Date Indonesia:
tanggal,sekarang - โ
JSON Indonesia:
json - โ Node.js dan Browser compatibility
- โ Complete test suite (8/8 passing)
- โ Honest documentation (no false promises!)
MIT License - lihat file LICENSE untuk detail lengkap.
Jiilan Nashrulloh Tanjung
๐ง Email: [email protected]
๐ข Erazorre Teknologi Bandung
๐ GitHub: @jiilan
- ๐ฎ๐ฉ Terinspirasi dari kebutuhan komunitas developer Indonesia
- โค๏ธ Dibuat dengan passion untuk kemajuan teknologi Indonesia
- ๐ Terima kasih untuk semua kontributor dan pengguna IndoJS!
- ๐ Special thanks to the open source community
- ๐ Bug Reports: GitHub Issues
- ๐ฌ Diskusi: GitHub Discussions
- ๐ง Email: [email protected]
- ๐ฑ Twitter: @ErazorreTech
Terima kasih kepada semua kontributor yang telah membantu IndoJS!
Dibuat dengan โค๏ธ untuk Indonesia ๐ฎ๐ฉ
#JavaScriptIndonesia #CodingIndonesia #IndoJS #BelajarKoding