PitonX - Transpiler Python X
A lightweight Python-based transpiler that enables you to write Python code with Indonesian syntax.
🌟 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 PitonXvariables(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:
- Fork repository
- Buat branch fitur (
git checkout -b feature/AmazingFeature) - Commit perubahan (
git commit -m 'Add some AmazingFeature') - Push ke branch (
git push origin feature/AmazingFeature) - Buka Pull Request
📝 Lisensi
Proyek ini dilisensikan di bawah MIT License - lihat file LICENSE untuk detail.
👨💻 Author
Jameson AlFathir Void
- GitHub: @Fathirthe-founder1
- Email: fathirthefound@example.com
🙏 Terima Kasih
Terima kasih kepada semua kontributor dan pengguna PitonX!
📞 Support & Feedback
Jika Anda menemukan bug atau punya saran:
- Buka GitHub Issues
- Jelaskan masalah atau fitur yang diinginkan
- 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)
| File | Size | Uploaded | |
|---|---|---|---|
| pitonx-8.0.7.tar.gz | 22.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|