Dokumentasi v1.0

Dokumentasi Bahasa Iza

Panduan lengkap untuk menulis dan menjalankan program dalam Bahasa Iza.

Instalasi

Bahasa Iza tersedia untuk macOS, Linux, dan Windows. Pilih sesuai sistem operasi kamu.

Download binary sesuai chip Mac kamu, lalu install:

Terminal — Apple Silicon (M1–M5)
xattr -d com.apple.quarantine iza
chmod +x iza
sudo mv iza /usr/local/bin/iza
Terminal — Intel Mac (x86_64)
xattr -d com.apple.quarantine iza
chmod +x iza
sudo mv iza /usr/local/bin/iza
⚠️
Muncul peringatan "cannot be verified"?
Jalankan perintah xattr -d com.apple.quarantine iza setelah download untuk menghapus blokir dari macOS.

Download binary static yang kompatibel dengan semua distro Linux x86_64:

Terminal
curl -L https://izalang.dev/iza-linux-x64 -o iza
chmod +x iza
sudo mv iza /usr/local/bin/iza
ℹ️
Binary menggunakan musl libc (static) — tidak perlu dependensi tambahan. Kompatibel dengan Ubuntu, Debian, Arch, Fedora, dan distro lainnya.

Download iza-windows.exe lalu letakkan di folder yang ada di PATH:

Command Prompt / PowerShell
# Setelah download iza-windows.exe:
# Pindahkan ke C:\Windows\System32\ agar bisa dipakai global
move iza-windows.exe C:\Windows\System32\iza.exe

Atau jalankan langsung dari folder download:

Command Prompt
iza.exe program.iza

Build dari source code memerlukan g++ dengan dukungan C++17:

Terminal
git clone https://github.com/izalang/iza
cd iza
g++ -std=c++17 -O2 -o iza main.cpp
sudo mv iza /usr/local/bin/iza

Verifikasi Instalasi

Pastikan Iza sudah terinstall dengan benar:

Terminal
iza --version
# Output: Bahasa Iza v1.0

Halo Derr

Program pertama dalam Bahasa Iza — tradisi turun-temurun di dunia pemrograman:

halo.iza
sakmasaknasi("Halo, Derr!");
Output
Halo, Derr!

Kata kunci sakmasaknasi digunakan untuk mencetak output ke layar, diikuti tanda kurung dan tanda titik koma di akhir.

Menjalankan Program

Simpan kode dalam file berekstensi .iza, lalu jalankan dari terminal:

Terminal
iza namafile.iza

Tidak ada langkah compile terpisah. Interpreter Iza langsung membaca dan menjalankan kode kamu.

Variabel & Konstanta

Bahasa Iza memiliki dua jenis deklarasi nilai:

bos — Variabel

Digunakan untuk mendeklarasikan variabel yang nilainya bisa diubah.

Sintaks
bos namaVariabel = nilai;
Contoh
bos umur = 20;
bos nama = "Iza";
bos saldo = 0;

// Nilai bisa diubah
umur = 21;
saldo = saldo + 50000;

masmot — Konstanta

Digunakan untuk nilai yang tidak boleh diubah setelah dideklarasikan.

Contoh
masmot PAJAK = 11;
masmot NAMA_APP = "KasirIza";

// PAJAK = 12; ← ini akan error!
⚠️
Variabel harus dideklarasikan dengan bos atau masmot sebelum digunakan. Menggunakan variabel yang belum dideklarasikan akan menghasilkan error.

Tipe Data

Bahasa Iza mendukung dua tipe data utama:

TipeContoh NilaiKeterangan
Integer10, -5, 0Bilangan bulat
String"Halo", "Iza"Teks, diapit tanda kutip ganda
Booleanbener, salahNilai benar/salah (disimpan sebagai 1/0)

Penggabungan String

Gunakan operator + untuk menggabungkan string dengan string atau dengan angka:

Contoh
bos nama = "Iza";
bos umur = 20;
sakmasaknasi("Nama: " + nama);
sakmasaknasi("Umur: " + umur + " tahun");
Output
Nama: Iza
Umur: 20 tahun

Operator

Operator Aritmatika

OperatorNamaContohHasil
+Penjumlahan / Gabung String5 + 38
-Pengurangan10 - 46
*Perkalian3 * 412
/Pembagian (bulat)10 / 33
%Sisa bagi (modulo)10 % 31

Operator Perbandingan

OperatorArti
==Sama dengan
!=Tidak sama dengan
>Lebih dari
<Kurang dari
>=Lebih dari atau sama dengan
<=Kurang dari atau sama dengan

Operator Logika

OperatorArtiContoh
&&Dan (AND)x > 0 && x < 10
||Atau (OR)x == 1 || x == 2
!Tidak (NOT)!bener

Input & Output

sakmasaknasi — Cetak Output

Sintaks
sakmasaknasi(nilai);

Mencetak nilai ke layar dan pindah ke baris baru. Bisa mencetak string, angka, dan ekspresi.

Contoh
sakmasaknasi("Halo!");
sakmasaknasi(42);
sakmasaknasi(10 + 5);
sakmasaknasi("Nilai: " + 100);

karbakarkayu — Baca Input

Sintaks
karbakarkayu(namaVariabel);

Membaca input dari keyboard dan menyimpannya ke variabel. Tipe input (angka atau teks) ditentukan dari tipe variabel saat dideklarasikan.

Contoh — Input Angka
bos umur = 0;           // deklarasi sebagai angka
sakmasaknasi("Umur kamu?");
karbakarkayu(umur);
sakmasaknasi("Umur: " + umur);
Contoh — Input Teks
bos nama = "";          // deklarasi sebagai string
sakmasaknasi("Nama kamu?");
karbakarkayu(nama);
sakmasaknasi("Halo, " + nama + "!");

Kondisional

Gunakan kalo untuk mengeksekusi blok kode berdasarkan kondisi tertentu.

Sintaks
kalo (kondisi) {
    // dieksekusi jika kondisi benar
} kalokaga {
    // dieksekusi jika kondisi salah
}
Contoh
bos nilai = 85;

kalo (nilai >= 90) {
    sakmasaknasi("Nilai A - Istimewa!");
} kalokaga {
    kalo (nilai >= 75) {
        sakmasaknasi("Nilai B - Lulus!");
    } kalokaga {
        sakmasaknasi("Remedial.");
    }
}
Output
Nilai B - Lulus!
ℹ️
Bagian kalokaga bersifat opsional. Kamu bisa menggunakan kalo tanpa kalokaga.

Perulangan

Gunakan selama untuk mengulang blok kode selama kondisi terpenuhi.

Sintaks
selama (kondisi) {
    // diulang selama kondisi benar
}
Contoh — Hitung 1 sampai 5
bos i = 1;
selama (i <= 5) {
    sakmasaknasi("Angka ke-" + i);
    i = i + 1;
}
Output
Angka ke-1
Angka ke-2
Angka ke-3
Angka ke-4
Angka ke-5

tired & lanjut

tired — Keluar dari Perulangan

Contoh
bos i = 0;
selama (bener) {
    kalo (i == 3) {
        tired;         // keluar dari loop
    }
    sakmasaknasi(i);
    i = i + 1;
}
Output
0
1
2

lanjut — Lewati Iterasi

Contoh — Lewati angka genap
bos i = 0;
selama (i < 6) {
    i = i + 1;
    kalo (i % 2 == 0) {
        lanjut;         // lewati iterasi ini
    }
    sakmasaknasi(i);
}
Output
1
3
5

Fungsi

Gunakan deym untuk mendefinisikan fungsi yang bisa dipanggil berkali-kali.

Sintaks
deym namaFungsi(param1, param2) {
    // isi fungsi
}
Contoh
deym sapa(nama) {
    sakmasaknasi("Halo, " + nama + "!");
}

sapa("Iza");
sapa("Muchtar");
Output
Halo, Iza!
Halo, Muchtar!

Return (dahlah)

Gunakan dahlah untuk mengembalikan nilai dari fungsi.

Contoh
deym tambah(a, b) {
    dahlah a + b;
}

deym maksimal(a, b) {
    kalo (a > b) {
        dahlah a;
    } kalokaga {
        dahlah b;
    }
}

bos hasil = tambah(10, 5);
sakmasaknasi("10 + 5 = " + hasil);
sakmasaknasi("Maks(7,3) = " + maksimal(7, 3));
Output
10 + 5 = 15
Maks(7,3) = 7

Rekursi

Fungsi bisa memanggil dirinya sendiri (rekursi).

Contoh — Faktorial
deym faktorial(n) {
    kalo (n <= 1) {
        dahlah 1;
    }
    dahlah n * faktorial(n - 1);
}

sakmasaknasi(faktorial(5));  // 120
sakmasaknasi(faktorial(6));  // 720
Output
120
720

Tabel Kata Kunci

Daftar lengkap semua kata kunci dalam Bahasa Iza:

Kata Kunci IzaPadanan Bahasa LainFungsi
bos / letmasmotvar / letDeklarasi variabel
masmotconstDeklarasi konstanta
deymfunction / defMendefinisikan fungsi
dahlahreturnMengembalikan nilai dari fungsi
kaloifPernyataan kondisional
kalokagaelseCabang alternatif kondisional
selamawhilePerulangan while
tiredbreakKeluar dari perulangan
lanjutcontinueLanjut ke iterasi berikutnya
sakmasaknasi(x)print(x) / console.log(x)Mencetak output
karbakarkayu(x)input() / scanfMembaca input dari user
benertrueNilai boolean benar
salahfalseNilai boolean salah

Pesan Error

Bahasa Iza menampilkan pesan error dalam Bahasa Indonesia yang mudah dipahami:

[IZA ERROR] Baris 3: variabel 'x' belum dideklarasi
✅ Fix: Tambah bos x = 0; sebelum menggunakan x
[IZA ERROR] Baris 5: 'kalo' butuh '(' sebelum kondisi
✅ Fix: Tulis kalo (kondisi) { ... }
[IZA ERROR] Baris 7: string tidak ditutup '"'
✅ Fix: Pastikan string ditutup dengan tanda kutip: "teks"
[IZA ERROR] Baris 9: deklarasi 'nama' butuh ';' di akhir
✅ Fix: Tambah titik koma: bos nama = "Iza";

Contoh Program

1. Kalkulator Sederhana

kalkulator.iza
bos a = 0;
bos b = 0;

sakmasaknasi("Masukkan angka pertama: ");
karbakarkayu(a);
sakmasaknasi("Masukkan angka kedua: ");
karbakarkayu(b);

sakmasaknasi("Penjumlahan : " + (a + b));
sakmasaknasi("Pengurangan : " + (a - b));
sakmasaknasi("Perkalian   : " + (a * b));
sakmasaknasi("Pembagian   : " + (a / b));

2. FizzBuzz

fizzbuzz.iza
bos i = 1;
selama (i <= 20) {
    kalo (i % 15 == 0) {
        sakmasaknasi("FizzBuzz");
    } kalokaga {
        kalo (i % 3 == 0) {
            sakmasaknasi("Fizz");
        } kalokaga {
            kalo (i % 5 == 0) {
                sakmasaknasi("Buzz");
            } kalokaga {
                sakmasaknasi(i);
            }
        }
    }
    i = i + 1;
}

3. Cek Bilangan Prima

prima.iza
deym cekPrima(n) {
    kalo (n < 2) { dahlah 0; }
    bos i = 2;
    selama (i * i <= n) {
        kalo (n % i == 0) { dahlah 0; }
        i = i + 1;
    }
    dahlah 1;
}

bos angka = 0;
sakmasaknasi("Cek angka: ");
karbakarkayu(angka);

kalo (cekPrima(angka) == 1) {
    sakmasaknasi(angka + " adalah bilangan prima!");
} kalokaga {
    sakmasaknasi(angka + " bukan bilangan prima.");
}