npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@elang_muhammad/indonesianscript

v0.0.1

Published

The Indonesian promming language from the creative Elang Muhammad

Readme

🇮🇩 IndonesianScript

Version License Language Node.js

Bahasa pemrograman berbahasa Indonesia yang mudah dipelajari

InstalasiPanduan CepatDokumentasiContohKontribusi


📖 Deskripsi

IndonesianScript adalah bahasa pemrograman inovatif berbahasa Indonesia yang dikembangkan oleh Elang Muhammad dalam waktu hanya 7 hari. Bahasa ini memungkinkan programmer Indonesia untuk menulis kode dengan sintaks bahasa Indonesia yang familiar, kemudian diterjemahkan ke TypeScript dan JavaScript untuk eksekusi.

✨ Fitur Utama

  • 🔤 Sintaks Bahasa Indonesia - Tulis kode dengan kata-kata Indonesia
  • Transpilasi Otomatis - Otomatis mengkonversi ke TypeScript/JavaScript
  • 🏃 Eksekusi Langsung - Jalankan file .is secara langsung
  • 👀 Watch Mode - Pantau perubahan file secara real-time
  • 🛠️ CLI Tool - Interface command line yang mudah digunakan
  • 📱 Cross-platform - Berjalan di Windows, Mac, dan Linux

🚀 Instalasi

Prasyarat

  • Node.js 18 atau lebih baru
  • npm atau yarn

Instalasi Package

npm install indonesianscript
# atau
yarn add indonesianscript

Instalasi Global (Opsional)

npm install -g indonesianscript

🎯 Panduan Cepat

1. Membuat File IndonesianScript

Buat file dengan ekstensi .is:

// hello.is
menampilkan("Halo Dunia!");

buatkan nama: teks = "Budi";
buatkan umur: angka = 25;

menampilkan(k"Nama saya {nama} dan umur saya {umur} tahun");

2. Menjalankan File

# Jalankan langsung
node running.js --run hello.is

# Atau dengan watch mode
node running.js --run hello.is --watch

# Transpile ke JavaScript
node running.js --transpile hello.is --output hello.js

📚 Dokumentasi Sintaks

Variabel dan Tipe Data

| IndonesianScript | TypeScript/JavaScript | Deskripsi | |------------------|----------------------|-----------| | buatkan | let | Variabel yang bisa diubah | | tetapkan | const | Konstanta | | variabel | var | Variabel dengan scope function |

Tipe Data

| IndonesianScript | JavaScript | Contoh | |------------------|------------|---------| | teks | string | buatkan nama: teks = "Budi" | | angka | number | buatkan umur: angka = 25 | | boolean | boolean | buatkan aktif: boolean = Benar | | pecahan | float | buatkan nilai: pecahan = 3.14 | | apapun | any | buatkan data: apapun = {} |

Fungsi Bawaan

| IndonesianScript | JavaScript | Deskripsi | |------------------|------------|-----------| | menampilkan() | console.log() | Menampilkan output ke konsol | | menanyakan() | rl.prompt() | Meminta input dari user | | bertanya() | rl.question() | Bertanya kepada user | | waktu() | Date() | Objek waktu | | tunggu() | setTimeout() | Menunda eksekusi |

Struktur Kontrol

Kondisi (If-Else)

jika (umur >= 17) {
    menampilkan("Sudah dewasa");
} selain jika (umur >= 13) {
    menampilkan("Remaja");
} selain {
    menampilkan("Anak-anak");
}

Perulangan

// For loop
untuk (buatkan i: angka = 0; i < 5; i++) {
    menampilkan(i);
}

// While loop
selama (kondisi) {
    // kode
}

// For-in loop
untuk (buatkan item dalam array) {
    menampilkan(item);
}

Switch Case

mengalihkan (nilai) {
    kasus 1:
        menampilkan("Satu");
        keluar;
    kasus 2:
        menampilkan("Dua");
        keluar;
    bawaan:
        menampilkan("Lainnya");
}

Template String

buatkan nama: teks = "Budi";
buatkan pesan: teks = k"Halo {nama}!";
menampilkan(pesan); // Output: Halo Budi!

Fungsi

fungsi sapa(nama: teks): teks {
    kembali k"Halo {nama}!";
}

// Arrow function
buatkan tambah = (a: angka, b: angka): angka => {
    kembali a + b;
};

Async/Await

sinkron fungsi ambilData(): apapun {
    buatkan data = menunggu fetch("https://api.example.com");
    kembali data;
}

Import/Export

// Import
dari './modul.js' impor fungsiUtama;
dari './utils.js' impor {helper, validator};
dari './library.js' impor * sebagai lib;

// Export
ekspor fungsi utilitas() {
    // kode
}

ekspor bawaan kelas MyClass {
    // kode
}

Operator

| IndonesianScript | JavaScript | Deskripsi | |------------------|------------|-----------| | setaraDengan | === | Perbandingan ketat | | samaDengan | == | Perbandingan biasa | | tidakSamaDengan | !== | Tidak sama (ketat) | | dan | && | Operator AND | | atau | \|\| | Operator OR | | bukan | ! | Operator NOT | | lebihDari | > | Lebih besar | | kurangDari | < | Lebih kecil |

Exception Handling

coba {
    // kode yang mungkin error
} tangkap (error) {
    menampilkan("Terjadi kesalahan:", error);
} akhirnya {
    menampilkan("Selesai");
}

💡 Contoh Program

Program Sederhana

// program.is
buatkan nama: teks = "IndonesianScript";
buatkan versi: teks = "0.1.0-beta";

menampilkan(k"Selamat datang di {nama} versi {versi}!");

fungsi hitungLuas(panjang: angka, lebar: angka): angka {
    kembali panjang * lebar;
}

buatkan luas = hitungLuas(10, 5);
menampilkan(k"Luas persegi panjang: {luas}");

Program dengan Input

// kalkulator.is
menampilkan("=== Kalkulator Sederhana ===");

buatkan angka1: angka = 10;
buatkan angka2: angka = 5;

buatkan hasil = angka1 + angka2;
menampilkan(k"Hasil: {angka1} + {angka2} = {hasil}");

🔧 CLI Commands

Menjalankan File

# Jalankan file .is
node running.js --run file.is

# Dengan verbose output
node running.js --run file.is --verbose

# Dengan watch mode
node running.js --run file.is --watch

Transpilasi

# Transpile ke JavaScript
node running.js --transpile file.is

# Dengan output khusus
node running.js --transpile file.is --output result.js

# Dengan verbose
node running.js --transpile file.is --verbose

Options

  • --run, -r : Menjalankan file .is
  • --transpile, -t : Transpile ke JavaScript
  • --output, -o : Menentukan file output
  • --watch, -w : Watch mode untuk development
  • --verbose, -v : Output detail
  • --help, -h : Menampilkan bantuan

🗂️ Struktur Project

Indonesian_Script/
├── translite.js         # Core transliterator
├── running.js          # CLI runner
├── package.json        # Package configuration
├── README.md          # Documentation
└── examples/          # Contoh program
    ├── hello.is
    ├── calculator.is
    └── advanced.is

🧪 Testing

# Test basic functionality
echo 'menampilkan("Halo Dunia!");' > test.is
node running.js --run test.is

🤝 Kontribusi

Kami sangat menghargai kontribusi dari komunitas! Berikut cara berkontribusi:

  1. Fork repository ini
  2. Clone fork Anda
  3. Buat branch baru untuk fitur/perbaikan
  4. Commit perubahan Anda
  5. Push ke branch
  6. Buat Pull Request

Pedoman Kontribusi

  • Gunakan conventional commits
  • Tambahkan test untuk fitur baru
  • Update dokumentasi jika diperlukan
  • Pastikan semua test pass

🐛 Melaporkan Bug

Jika Anda menemukan bug, silakan buat issue dengan informasi:

  • Versi IndonesianScript
  • Sistem operasi
  • Kode yang menyebabkan bug
  • Error message
  • Langkah untuk reproduksi

📋 Roadmap

  • [x] ✅ Core transpiler
  • [x] ✅ CLI tool
  • [x] ✅ Basic syntax support
  • [ ] 🔄 Web playground
  • [ ] 🔄 VS Code extension
  • [ ] 🔄 Package manager integration
  • [ ] 🔄 Standard library expansion
  • [ ] 🔄 Performance optimization

📄 Lisensi

MIT License - lihat file LICENSE untuk detail.

👨‍💻 Author

Elang Muhammad

🙏 Acknowledgments

  • Komunitas JavaScript Indonesia
  • TypeScript team untuk inspiration
  • Semua kontributor yang telah membantu

Dibuat dengan ❤️ untuk komunitas developer Indonesia

⭐ Star jika project ini membantu Anda!