Skip to main content

Bahasa Pemrograman Sofinco - Sintaks Bahasa Bugis-Makassar Berbasis Python

Project description

SOFINCO - Bahasa Pemrograman Bahasa Bugis-Makassar

Bahasa pemrograman dengan sintaks Bahasa Bugis-Makassar yang berjalan di atas Python. Semua fitur Python bisa digunakan dengan nama dalam Bahasa Bugis-Makassar!

📦 CARA INSTAL

pip install sofinco

🚀 CARA PAKAI

Menjalankan Program Sofinco

sofinco namafile.sofinco
# atau
sofinco run namafile.sofinco

Opsi tambahan:

sofinco namafile.sofinco --nosv  # Tidak menyimpan file Python hasil konversi

Convert Python ke Sofinco

Convert single file:

sofinco convert file.py

Convert direktori (rekursif):

sofinco convert /path/to/directory

Convert direktori (non-rekursif):

sofinco convert /path/to/directory --no-recursive

📝 CONTOH PROGRAM

# Program sederhana
paccerak("Assalamu Alaikum!")

# Fungsi
pangngaseng sapa(jeneng):
    paccerak("Halo,", jeneng)
    baliki "Selamat datang!"

hasil = sapa("Makassar")

# Kondisi
umuru = 20
nakko umuru >= 18:
    paccerak("Dewasa")
nakkopa umuru >= 13:
    paccerak("Remaja")
narekko:
    paccerak("Anak-anak")

# Loop
ulangi i rilaleng jangka(1, 6):
    paccerak(i)

# List operations
daptar_nama = daptar(["Ali", "Budi", "Citra"])
daptar_nama.tambai("Dedi")
paccerak("Jumlah:", carakna(daptar_nama))

# Exception handling
coba:
    bilanga("abc")
nakkosala ValueError siaganga e:
    paccerak("Error:", e)
nakkosedding:
    paccerak("Selesai")

🔤 REFERENSI LENGKAP SYNTAX

📥 Input/Output

Sofinco Python Arti
paccerak print Cetak ke layar
cetak print Cetak ke layar (alternatif)
passuluak input Terima input
terima input Terima input (alternatif)

🔢 Tipe Data

Sofinco Python Arti
bilanga int Bilangan bulat
uwinru int Bilangan bulat (alternatif)
aksara str String/teks
sura str String/teks (alternatif)
desimal float Bilangan desimal
daptar list List/daftar
kumpulan list List/daftar (alternatif)
tupel tuple Tuple
peta dict Dictionary
pada dict Dictionary (alternatif)
himpunan set Set
bolean bool Boolean

✅ Nilai Boolean

Sofinco Python Arti
makanja True Benar
makasiri True Benar (alternatif)
demakanja False Salah
tamakasiri False Salah (alternatif)
taniaapa None Kosong/None
kosong None Kosong/None
tannia None Kosong/None (alternatif)

🔀 Kontrol Alur

Sofinco Python Arti
nakko if Jika
wennang if Jika (alternatif)
nakkopa elif Jika lagi
wennangpa elif Jika lagi (alternatif)
narekko else Selain itu
naiya else Selain itu (alternatif)
ulangi for Perulangan untuk
sedding while Perulangan selama
tappai break Hentikan loop
laoi continue Lanjut iterasi
lewati pass Lewati/pass
pilih match Pilih kasus (Python 3.10+)
kasus case Kasus (Python 3.10+)

🔧 Fungsi & Kelas

Sofinco Python Arti
pangngaseng def Definisi fungsi
pangngadereng def Definisi fungsi (alternatif)
baliki return Kembalikan nilai
pole return Kembalikan nilai (alternatif)
fungsi_singkat lambda Fungsi lambda
kelas class Definisi kelas
pangngassengang class Definisi kelas (alternatif)
inisialisasi init Konstruktor
statis staticmethod Metode statis
kelas_metode classmethod Metode kelas
properti property Properti
induk super Super class

⚠️ Exception Handling

Sofinco Python Arti
coba try Coba eksekusi
nakkosala except Tangkap error
nakkosedding finally Akhirnya
bangkitki raise Bangkitkan error
kudu assert Pastikan kondisi

📦 Import & Module

Sofinco Python Arti
impor import Import modul
riboko from Dari modul
siaganga as Sebagai alias

📁 Operasi File

Sofinco Python Arti
bukka open Buka file
tulis write Tulis ke file
baca read Baca file
bacabarisa readline Baca per baris
bacasemua readlines Baca semua baris
tutup close Tutup file
modetulis "w" Mode tulis
modebaca "r" Mode baca
modeambah "a" Mode tambah
modebiner "b" Mode biner

🛠️ Fungsi Built-in

Sofinco Python Arti
jangka range Rentang angka
carakna len Panjang/jumlah
jumlahki sum Jumlahkan
palingciddi min Nilai minimum
palinglompo max Nilai maksimum
urutki sorted Urutkan (baru)
balikkidaptar reversed Balik urutan
hitungurut enumerate Hitung dengan urutan
gabung_daptar zip Gabung list
petakan map Petakan fungsi
saring filter Saring data
semua all Semua benar
ada any Ada yang benar
mutlak abs Nilai mutlak
bulatki round Bulatkan
pangkat pow Pangkat
tipe type Tipe data
daftar_atribut dir Daftar atribut
variabel vars Variabel objek
bantuan help Bantuan
evaluasi eval Evaluasi ekspresi
eksekusi exec Eksekusi kode
kompilasi compile Kompilasi kode
formatki format Format string
karakter chr Karakter dari kode
nilai_karakter ord Kode dari karakter
heksadesimal hex Konversi ke hex
oktal oct Konversi ke oktal
biner bin Konversi ke biner
iris slice Slice objek
induk super Akses parent class

📋 Metode List

Sofinco Python Arti
tambai append Tambah di akhir
burakne pop Ambil & hapus
urutkanki sort Urutkan (in-place)
balikidaptar reverse Balik urutan
sisipki insert Sisipkan di posisi
hapuski remove Hapus nilai
bersihki clear Kosongkan
hitungki count Hitung kemunculan
indexki index Cari indeks
extendki extend Gabung list
copyaki copy Salin list

📚 Metode Dictionary

Sofinco Python Arti
kunci keys Ambil semua kunci
nilai values Ambil semua nilai
pasangan items Ambil pasangan key-value
ambilki get Ambil nilai
perbaharui update Perbarui dictionary
bersihki clear Kosongkan
burakne pop Ambil & hapus
salinki copy Salin dictionary

🔢 Metode Set

Sofinco Python Arti
tambahki add Tambah elemen
buangki discard Buang elemen
hapuski remove Hapus elemen
bersihki clear Kosongkan
gabungan union Gabungan set
irisan intersection Irisan set
selisih difference Selisih set
selisih_simetris symmetric_difference Selisih simetris

📝 Metode String

Sofinco Python Arti
sappai find Cari posisi
gantiki replace Ganti teks
lompo upper Huruf besar
ciddi lower Huruf kecil
kapital capitalize Kapital awal
judul title Format judul
potongki strip Potong spasi
pecaki split Pecah string
gabungki join Gabung string
mulai_dengan startswith Mulai dengan
akhiri_dengan endswith Akhiri dengan
huruf_semua isalpha Cek huruf semua
angka_semua isdigit Cek angka semua
huruf_angka isalnum Cek huruf/angka
spasi_semua isspace Cek spasi semua
ciddi_semua islower Cek huruf kecil
lompo_semua isupper Cek huruf besar
isi_nol zfill Isi dengan nol
tengahki center Rata tengah
kiri_rata ljust Rata kiri
kanan_rata rjust Rata kanan
tukar_huruf swapcase Tukar besar-kecil
enkode encode Encode string
dekode decode Decode string

🔗 Operator Logika

Sofinco Python Arti
rilaleng in Di dalam
taniarilaleng not in Tidak di dalam
sisamaya is Adalah (identitas)
taniasisamaya is not Bukan (identitas)
dan and Dan
atau or Atau
tania not Tidak

💡 CONTOH LENGKAP

Convert Python ke Sofinco

# File Python
cat example.py
def greet(name):
    print(f"Hello, {name}!")
    return True

for i in range(5):
    print(i)
# Convert ke Sofinco
sofinco convert example.py
# Hasil: example.sofinco
cat example.sofinco
pangngaseng greet(name):
    paccerak(f"Hello, {name}!")
    baliki makanja

ulangi i rilaleng jangka(5):
    paccerak(i)

Operasi File

# Tulis file
siaganga bukka("data.txt", modetulis) siaganga berkas:
    berkas.tulis("Halo Makassar!\n")

# Baca file
siaganga bukka("data.txt", modebaca) siaganga berkas:
    isi = berkas.baca()
    paccerak(isi)

Exception Handling

coba:
    angka = bilanga(passuluak("Masukkan angka: "))
    hasil = 100 / angka
    paccerak("Hasil:", hasil)
nakkosala ValueError:
    paccerak("Input bukan angka!")
nakkosala ZeroDivisionError:
    paccerak("Tidak bisa dibagi nol!")
nakkosedding:
    paccerak("Program selesai")

Kelas & Objek

kelas Manusia:
    pangngaseng inisialisasi(diri, nama, umur):
        diri.nama = nama
        diri.umur = umur
    
    pangngaseng perkenalan(diri):
        paccerak("Nama saya", diri.nama)
        paccerak("Umur saya", diri.umur)

orang = Manusia("Ahmad", 25)
orang.perkenalan()

List & Dictionary

# List operations
angka = daptar([5, 2, 8, 1, 9])
angka.urutkanki()
paccerak("Terurut:", angka)
paccerak("Terkecil:", palingciddi(angka))
paccerak("Terbesar:", palinglompo(angka))

# Dictionary
data = peta({"nama": "Budi", "umur": 20})
paccerak(data.get("nama"))

Loop & Kondisi

# Loop dengan break dan continue
ulangi i rilaleng jangka(1, 11):
    nakko i == 5:
        laoi  # Skip angka 5
    nakko i == 8:
        tappai  # Berhenti di 8
    paccerak(i)

# While loop
hitung = 0
sedding hitung < 5:
    paccerak("Hitung:", hitung)
    hitung = hitung + 1

⚙️ PERSYARATAN SISTEM

  • Python 3.8 atau lebih baru
  • Sofinco TIDAK BISA berjalan tanpa Python (transpiler berbasis Python)

🎨 SYNTAX HIGHLIGHTING

Sofinco mendukung syntax highlighting di berbagai editor!

Supported Editors:

  • VSCode
  • Vim/Neovim
  • LazyVim
  • Sublime Text
  • Nano

Quick Install (LazyVim):

cp sofinco-syntax/lazyvim/lua/plugins/sofinco.lua ~/.config/nvim/lua/plugins/
cp sofinco-syntax/vim/syntax/sofinco.vim ~/.config/nvim/syntax/
cp sofinco-syntax/vim/ftdetect/sofinco.vim ~/.config/nvim/ftdetect/

Quick Install (VSCode):

cp -r sofinco-syntax/vscode ~/.vscode/extensions/sofinco-vscode

Lihat dokumentasi lengkap di GitHub untuk panduan instalasi syntax highlighting.

🤝 KONTRIBUSI

Kontribusi sangat diterima! Silakan buat issue atau pull request di GitHub.

📄 LISENSI

MIT License

🔗 LINKS

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sofinco-2.0.0.tar.gz (30.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sofinco-2.0.0-py3-none-any.whl (24.1 kB view details)

Uploaded Python 3

File details

Details for the file sofinco-2.0.0.tar.gz.

File metadata

  • Download URL: sofinco-2.0.0.tar.gz
  • Upload date:
  • Size: 30.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for sofinco-2.0.0.tar.gz
Algorithm Hash digest
SHA256 16905890da080b2ea5941248f288b0d7a6298eda4c0dd51e4168ae3dd5e22ba3
MD5 acd2cd9808d366cd120b8dd0e90abb6a
BLAKE2b-256 1cced1c784efe068a26c5f1069d794f0063050d2867ef992edd3bafa00badacb

See more details on using hashes here.

File details

Details for the file sofinco-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: sofinco-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 24.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for sofinco-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0effd9508fcc3588ccd82ca6acd9e330b3a30f06b459246e684fdbe9b81386c8
MD5 6dd2ce5ca1a46167ce7c87314ffb718c
BLAKE2b-256 8731604ffb6ada724dea290748a23a04a22c5615f674666b0f423841dd72bf8a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page