Skip to content

Ini adalah proyek NPM yang mengubah beberapa sintaks JavaScript ke dalam bahasa Indonesia. Proyek ini dikembangkan dengan tujuan membantu masyarakat yang ingin belajar pemrograman namun kurang memahami bahasa Inggris, sehingga proses belajar menjadi lebih mudah dan menyenangkan.

License

Notifications You must be signed in to change notification settings

Erazorre-Teknologi-Bandung/indojs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

6 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ‡ฎ๐Ÿ‡ฉ IndoJS - JavaScript dengan Sintaks Indonesia

npm version License: MIT Node.js

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.

๐ŸŽฏ Tujuan

  • ๐Ÿ“š 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

๐Ÿ“ฆ Instalasi

npm install indojs

๐Ÿš€ Penggunaan Dasar

// 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());

๐Ÿ“– Sintaks yang Didukung

โœ… Status: Ditest dan Berfungsi 100%
Semua sintaks di bawah ini sudah diuji dan bekerja dengan sempurna!

๐Ÿ–ฅ๏ธ Console & Output

Indonesia JavaScript Status Contoh
konsol console โœ… konsol.log("Halo!")

๐Ÿ”ค Nilai Dasar & Tipe Data

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;

๐Ÿ“Š Array (Larik)

Indonesia JavaScript Status Contoh
dorong push โœ… array.dorong(item)
keluarkan pop โœ… array.keluarkan()
potong slice โœ… array.potong(0, 3)
gabung join โœ… array.gabung(", ")

๐Ÿ”ค String (Teks)

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("-")

๐Ÿงฎ Matematika

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)

๐Ÿ“… Tanggal & Waktu

Indonesia JavaScript Status Contoh
tanggal Date โœ… new tanggal()
sekarang now โœ… tanggal.sekarang()

๐Ÿ“„ JSON

Indonesia JavaScript Status Contoh
json JSON โœ… json.stringify(obj)

๐Ÿšง Dalam Pengembangan (Roadmap v2.0)

Fitur-fitur berikut sedang dalam pengembangan dan belum tersedia di versi 1.0:

๐Ÿ”„ Kondisi & Logika

  • jika โ†’ if
  • tidak โ†’ else
  • dan โ†’ &&
  • atau โ†’ ||
  • bukan โ†’ !

๐Ÿ” Perulangan

  • selama โ†’ while
  • untuk โ†’ for
  • ulangi โ†’ continue
  • hentikan โ†’ break

๐Ÿ“ Variabel & Deklarasi

  • biarkan โ†’ let
  • konstan โ†’ const
  • variabel โ†’ var

๐Ÿ”ง Fungsi & Return

  • fungsi โ†’ function
  • kembalikan โ†’ return

โš ๏ธ Error Handling

  • coba โ†’ try
  • tangkap โ†’ catch
  • akhirnya โ†’ finally

๐Ÿ›๏ธ Class & OOP

  • kelas โ†’ class
  • ini โ†’ this
  • baru โ†’ new

๐Ÿ“ฆ Modules

  • impor โ†’ import
  • ekspor โ†’ export

๐ŸŽฏ Target: Implementasi penuh di IndoJS v2.0

๐Ÿ’ก Contoh Penggunaan Lengkap

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");
}

๐Ÿ”ง API Programming

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

๐ŸŒ Dukungan Environment

  • โœ… Node.js - Full support (18+)
  • โœ… Browser - Full support
  • โœ… Web Workers - Full support
  • โœ… ES6 Modules - Full support
  • โœ… CommonJS - Full support

๐Ÿงช Demo & Testing

# Jalankan demo lengkap
npm run demo

# Jalankan test suite
npm test

# Atau manual
node examples/demo.js
node test.js

๐Ÿš€ Roadmap

v1.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

๐Ÿค Kontribusi

Kami sangat terbuka untuk kontribusi! Beberapa cara untuk berkontribusi:

  1. ๐Ÿ› Laporkan bug melalui GitHub Issues
  2. ๐Ÿ’ก Saran fitur baru atau keyword tambahan
  3. ๐Ÿ“ Perbaiki dokumentasi
  4. ๐Ÿ”ง Submit Pull Request
  5. โญ Berikan star jika project ini berguna!

Cara Kontribusi

# 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 GitHub

๐Ÿ“ˆ Statistik

npm npm GitHub GitHub stars

๐Ÿ†˜ FAQ

Q: Apakah IndoJS mengganti JavaScript sepenuhnya?

A: Tidak. IndoJS adalah layer tambahan yang membuat alias syntax Indonesia. JavaScript asli tetap bisa digunakan.

Q: Bisakah digunakan di production?

A: Ya, tetapi disarankan untuk educational purposes. Untuk production, pertimbangkan team familiarity dengan syntax.

Q: Apakah ada overhead performance?

A: Minimal. IndoJS hanya menambah alias ke global scope saat initialization.

Q: Bagaimana cara menambah keyword baru?

A: Edit lib/keywords.js dan submit PR, atau buat issue untuk request keyword baru.

๐Ÿ“„ Changelog

v1.0.0 (2025-06-28)

  • ๐ŸŽ‰ 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!)

๐Ÿ“œ Lisensi

MIT License - lihat file LICENSE untuk detail lengkap.

๐Ÿ‘จโ€๐Ÿ’ป Author

Jiilan Nashrulloh Tanjung
๐Ÿ“ง Email: [email protected]
๐Ÿข Erazorre Teknologi Bandung
๐Ÿ™ GitHub: @jiilan

๐Ÿ™ Acknowledgments

  • ๐Ÿ‡ฎ๐Ÿ‡ฉ 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

๐Ÿ“ž Support & Komunitas

๐ŸŒŸ Contributors

Terima kasih kepada semua kontributor yang telah membantu IndoJS!


โญ Jangan lupa berikan star jika IndoJS membantu Anda! โญ

Dibuat dengan โค๏ธ untuk Indonesia ๐Ÿ‡ฎ๐Ÿ‡ฉ

#JavaScriptIndonesia #CodingIndonesia #IndoJS #BelajarKoding

โฌ† Kembali ke atas

About

Ini adalah proyek NPM yang mengubah beberapa sintaks JavaScript ke dalam bahasa Indonesia. Proyek ini dikembangkan dengan tujuan membantu masyarakat yang ingin belajar pemrograman namun kurang memahami bahasa Inggris, sehingga proses belajar menjadi lebih mudah dan menyenangkan.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published