Skip to main content

PitonX

PitonX - Transpiler Python X

A lightweight Python-based transpiler that enables you to write Python code with Indonesian syntax.

License: MIT Python 3.7+ Made with 🧠


🌟 Tentang PitonX

PitonX adalah transpiler Python yang memungkinkan Anda menulis code Python menggunakan syntax bahasa Indonesia. Proyek ini dirancang untuk membuat pemrograman lebih accessible bagi programmer Indonesia dan memfasilitasi pembelajaran programming dalam bahasa lokal.

Fitur Utama:

  • ✅ Transpiler Python → Indonesian Syntax
  • ✅ REPL Interactive Shell
  • ✅ Library Python yang bisa diimpor
  • ✅ CLI Terminal Commands
  • ✅ Support untuk file .px
  • ✅ Syntax yang intuitif dan mudah dipelajari

📦 Instalasi

Menggunakan pip

pip install pitonx

Clone dari GitHub

git clone https://github.com/Fathirthe-founder1/PitonX.git
cd PitonX
pip install -e .

🚀 Quick Start

1. REPL Interactive Mode

Untuk membuka shell interaktif PitonX:

piton

Output:

╔══════════════════════════════════════════╗
║  PitonX REPL - Interactive Shell        ║
║  Ketik 'keluar' untuk menutup           ║
╚══════════════════════════════════════════╝

x> ketik("Halo Dunia dari PitonX!")
Halo Dunia dari PitonX!

x> x = 10
•••

x> ketik(x)
10

x> keluar
Sampai jumpa! 👋

2. Menjalankan File .px

Buat file program.px:

ketik("Halo Dunia!")
x = 5
jika x > 3:
    ketik("x lebih dari 3")

Jalankan dengan:

pitonx program.px

Output:

Halo Dunia!
x lebih dari 3

3. Menggunakan sebagai Library Python

import pitonx as px

code = """
buat hitung_faktorial(n):
    jika n == 1:
        kembalikan 1
    kembalikan n * hitung_faktorial(n - 1)

hasil = hitung_faktorial(5)
ketik(hasil)
"""

px.run(code)

Output:

120

📚 Dokumentasi Lengkap

A. Perintah CLI

Perintah Deskripsi
pitonx Tampilkan tutorial
pitonx --help Tampilkan bantuan
piton Buka REPL interactive mode
pitonx file.px Jalankan file PitonX

B. Kamus Lengkap (Dictionary)

INPUT / OUTPUT

Indonesian Python Fungsi
ketik print Menampilkan output
masukan input Menerima input dari user
buka open Membuka file
tutup close Menutup file
baca read Membaca file
tulis write Menulis ke file

FUNGSI & KELAS

Indonesian Python Fungsi
buat def Mendefinisikan fungsi
kembalikan return Mengembalikan nilai dari fungsi
wadah class Mendefinisikan class
anon lambda Fungsi anonymous
serahkan yield Generator function

KONTROL ALUR (CONDITIONAL)

Indonesian Python Fungsi
jika if Kondisi jika
jikalau elif Kondisi alternatif
selain else Kondisi selain
pasti assert Assertion

PERULANGAN (LOOPS)

Indonesian Python Fungsi
selagi while Perulangan while
ulangi for Perulangan for
henti break Hentikan loop
lanjut continue Lanjutkan ke iterasi berikutnya
lewat pass Pass statement

TIPE DATA

Indonesian Python Fungsi
teks str String/Text
bilangan int Integer
desimal float Float
logika bool Boolean
daftar list List/Array
peta dict Dictionary
panjang len Panjang
jenis type Tipe data
rentang range Range

BOOLEAN & SPECIAL VALUES

Indonesian Python Fungsi
BENAR True Boolean true
SALAH False Boolean false
KOSONG None Null/None value

OPERATOR LOGIKA

Indonesian Python Fungsi
dan and Logical AND
atau or Logical OR
bukan not Logical NOT
dalam in Membership test
adalah is Identity test

MODUL & IMPORT

Indonesian Python Fungsi
impor import Import module
dari from Import from module
sbg as Alias untuk import

ERROR HANDLING

Indonesian Python Fungsi
coba try Try block
tangkapi except Except block
lontar raise Raise exception

SCOPE & VARIABEL

Indonesian Python Fungsi
umum global Global variable
lokal nonlocal Nonlocal variable
hapus del Delete variable

MATEMATIKA & UTILITAS

Indonesian Python Fungsi
maks max Maksimum
min min Minimum
total sum Jumlah total
urut sorted Sorting
abs abs Absolute value
bulat round Pembulatan
pangkat pow Perpangkatan

C. Contoh Penggunaan

1. Hello World

PitonX:

ketik("Halo Dunia dari PitonX!")

Python Equivalent:

print("Halo Dunia dari PitonX!")

2. Variabel & Tipe Data

PitonX:

nama = "Fathir"
usia = 25
tinggi = 175.5
aktif = BENAR

ketik(nama)
ketik(usia)
ketik(tinggi)
ketik(aktif)

Python Equivalent:

nama = "Fathir"
usia = 25
tinggi = 175.5
aktif = True

print(nama)
print(usia)
print(tinggi)
print(aktif)

3. Kondisi If-Else

PitonX:

nilai = 85

jika nilai >= 90:
    ketik("Grade A")
jikalau nilai >= 80:
    ketik("Grade B")
jikalau nilai >= 70:
    ketik("Grade C")
selain:
    ketik("Grade D")

Python Equivalent:

nilai = 85

if nilai >= 90:
    print("Grade A")
elif nilai >= 80:
    print("Grade B")
elif nilai >= 70:
    print("Grade C")
else:
    print("Grade D")

4. Perulangan For

PitonX:

ulangi i dalam rentang(1, 6):
    ketik(i)

Python Equivalent:

for i in range(1, 6):
    print(i)

Output:

1
2
3
4
5

5. Fungsi

PitonX:

buat jumlah(a, b):
    kembalikan a + b

buat halo(nama):
    ketik("Halo, " + nama + "!")

hasil = jumlah(10, 20)
ketik(hasil)

halo("Fathir")

Python Equivalent:

def jumlah(a, b):
    return a + b

def halo(nama):
    print("Halo, " + nama + "!")

hasil = jumlah(10, 20)
print(hasil)

halo("Fathir")

🏗️ Arsitektur Sistem

PitonX terdiri dari beberapa komponen utama:

pitonx/
├── __init__.py          # Entry point package
├── builtins.py          # Kamus Indonesian-Python dictionary
├── lexer.py             # Tokenizer untuk source code
├── parser.py            # Parser untuk membangun AST
├── transpiler.py        # Main transpiler (lexer + parser + codegen)
├── interpreter.py       # Executor untuk Python code
├── repl.py              # Interactive shell (REPL)
└── cli.py               # Command-line interface

setup.py                # Package configuration
README.md              # Documentation
LICENSE               # MIT License
assets/
├── pitonx.png         # Logo

Alur Kerja (Workflow)

PitonX Source Code
        ↓
    LEXER (lexer.py)
    Tokenization
        ↓
    PARSER (parser.py)
    AST Generation
        ↓
    TRANSPILER (transpiler.py)
    Python Code Generation
        ↓
    INTERPRETER (interpreter.py)
    Execution
        ↓
    Output

🎮 REPL Interactive Commands

Dalam mode interactive (piton), Anda bisa menggunakan perintah khusus:

Perintah Deskripsi
keluar / exit Keluar dari REPL
bantuan Tampilkan bantuan
kamus Tampilkan kamus lengkap

Contoh:

x> bantuan
[Menampilkan bantuan]

x> kamus
[Menampilkan kamus lengkap]

x> x = 10
•••

x> ketik(x)
10

x> keluar
Sampai jumpa! 👋

💻 Python Library API

Import PitonX

import pitonx as px

Method: run(code, variables=None)

Menjalankan code PitonX dan mengembalikan result.

Parameter:

  • code (str): Source code PitonX
  • variables (dict): Optional, variabel yang diinjeksi

Return:

  • Dictionary dari environment execution

Contoh:

import pitonx as px

code = """
x = 10
y = 20
total = x + y
ketik(total)
"""

px.run(code)

Method: transpile(code)

Transpile code PitonX ke Python.

Parameter:

  • code (str): Source code PitonX

Return:

  • str: Python source code

Contoh:

import pitonx as px

pitonx_code = "ketik('Halo Dunia')"
python_code = px.transpile(pitonx_code)
print(python_code)
# Output: print('Halo Dunia')

🧪 Testing

python -m pytest tests/

🤝 Kontribusi

Kami menerima kontribusi! Untuk berkontribusi:

  1. Fork repository
  2. Buat branch fitur (git checkout -b feature/AmazingFeature)
  3. Commit perubahan (git commit -m 'Add some AmazingFeature')
  4. Push ke branch (git push origin feature/AmazingFeature)
  5. Buka Pull Request

📝 Lisensi

Proyek ini dilisensikan di bawah MIT License - lihat file LICENSE untuk detail.


👨‍💻 Author

Jameson AlFathir Void


🙏 Terima Kasih

Terima kasih kepada semua kontributor dan pengguna PitonX!


📞 Support & Feedback

Jika Anda menemukan bug atau punya saran:

  1. Buka GitHub Issues
  2. Jelaskan masalah atau fitur yang diinginkan
  3. Kami akan merespons sesegera mungkin

Made with 🧠 by Jameson AlFathir Void

⭐ Jika project ini membantu Anda, jangan lupa kasih bintang! ⭐

Metadata

Release files for pitonx 8.0.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pitonx 8.0.7
File Size Uploaded
pitonx-8.0.7.tar.gz 22.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pitonx 8.0.7
File Interpreter ABI Platform
pitonx-8.0.7-py3-none-any.whl Python 3 none any Details

Total release size: 44.4 kB

Release files / pitonx-8.0.7.tar.gz

Download URL pitonx-8.0.7.tar.gz
Size 22.2 kB
Tags Source
SHA-256 checksum
How to use checksums
2d6e7b5b9171c4d832aa88832f545b1613a51e5516a4eb7bd8c9a26cb98f73ac
BLAKE2b-256 checksum
How to use checksums
e3e054eb232ade8a7c7a78a2a9fe63ab9f929c1fbee3be492179818615adb212
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release files / pitonx-8.0.7-py3-none-any.whl

Download URL pitonx-8.0.7-py3-none-any.whl
Size 22.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
75a3cd6b8299d0994d7e29cca1115c175e7644260ee5d77bf4ae9c7995f7cc44
BLAKE2b-256 checksum
How to use checksums
d45bc8633c5b76aff9ec1aa6aac76b5f09f333ecc212d2ee1151d35f9918d3fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release history Release notifications | RSS feed

This release

8.0.7 This release

2 release files

1.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page