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:
xattr -d com.apple.quarantine iza chmod +x iza sudo mv iza /usr/local/bin/iza
xattr -d com.apple.quarantine iza chmod +x iza sudo mv iza /usr/local/bin/iza
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:
curl -L https://izalang.dev/iza-linux-x64 -o iza chmod +x iza sudo mv iza /usr/local/bin/iza
Download iza-windows.exe lalu letakkan di folder yang ada di PATH:
# 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:
iza.exe program.iza
Build dari source code memerlukan g++ dengan dukungan C++17:
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:
iza --version
# Output: Bahasa Iza v1.0
Halo Derr
Program pertama dalam Bahasa Iza — tradisi turun-temurun di dunia pemrograman:
sakmasaknasi("Halo, Derr!");
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:
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.
bos namaVariabel = nilai;
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.
masmot PAJAK = 11; masmot NAMA_APP = "KasirIza"; // PAJAK = 12; ← ini akan error!
bos atau masmot sebelum digunakan. Menggunakan variabel yang belum dideklarasikan akan menghasilkan error.Tipe Data
Bahasa Iza mendukung dua tipe data utama:
| Tipe | Contoh Nilai | Keterangan |
|---|---|---|
Integer | 10, -5, 0 | Bilangan bulat |
String | "Halo", "Iza" | Teks, diapit tanda kutip ganda |
Boolean | bener, salah | Nilai benar/salah (disimpan sebagai 1/0) |
Penggabungan String
Gunakan operator + untuk menggabungkan string dengan string atau dengan angka:
bos nama = "Iza"; bos umur = 20; sakmasaknasi("Nama: " + nama); sakmasaknasi("Umur: " + umur + " tahun");
Nama: Iza Umur: 20 tahun
Operator
Operator Aritmatika
| Operator | Nama | Contoh | Hasil |
|---|---|---|---|
+ | Penjumlahan / Gabung String | 5 + 3 | 8 |
- | Pengurangan | 10 - 4 | 6 |
* | Perkalian | 3 * 4 | 12 |
/ | Pembagian (bulat) | 10 / 3 | 3 |
% | Sisa bagi (modulo) | 10 % 3 | 1 |
Operator Perbandingan
| Operator | Arti |
|---|---|
== | Sama dengan |
!= | Tidak sama dengan |
> | Lebih dari |
< | Kurang dari |
>= | Lebih dari atau sama dengan |
<= | Kurang dari atau sama dengan |
Operator Logika
| Operator | Arti | Contoh |
|---|---|---|
&& | Dan (AND) | x > 0 && x < 10 |
|| | Atau (OR) | x == 1 || x == 2 |
! | Tidak (NOT) | !bener |
Input & Output
sakmasaknasi — Cetak Output
sakmasaknasi(nilai);
Mencetak nilai ke layar dan pindah ke baris baru. Bisa mencetak string, angka, dan ekspresi.
sakmasaknasi("Halo!"); sakmasaknasi(42); sakmasaknasi(10 + 5); sakmasaknasi("Nilai: " + 100);
karbakarkayu — Baca Input
karbakarkayu(namaVariabel);
Membaca input dari keyboard dan menyimpannya ke variabel. Tipe input (angka atau teks) ditentukan dari tipe variabel saat dideklarasikan.
bos umur = 0; // deklarasi sebagai angka sakmasaknasi("Umur kamu?"); karbakarkayu(umur); sakmasaknasi("Umur: " + umur);
bos nama = ""; // deklarasi sebagai string sakmasaknasi("Nama kamu?"); karbakarkayu(nama); sakmasaknasi("Halo, " + nama + "!");
Kondisional
Gunakan kalo untuk mengeksekusi blok kode berdasarkan kondisi tertentu.
kalo (kondisi) { // dieksekusi jika kondisi benar } kalokaga { // dieksekusi jika kondisi salah }
bos nilai = 85; kalo (nilai >= 90) { sakmasaknasi("Nilai A - Istimewa!"); } kalokaga { kalo (nilai >= 75) { sakmasaknasi("Nilai B - Lulus!"); } kalokaga { sakmasaknasi("Remedial."); } }
Nilai B - Lulus!
kalokaga bersifat opsional. Kamu bisa menggunakan kalo tanpa kalokaga.Perulangan
Gunakan selama untuk mengulang blok kode selama kondisi terpenuhi.
selama (kondisi) { // diulang selama kondisi benar }
bos i = 1; selama (i <= 5) { sakmasaknasi("Angka ke-" + i); i = i + 1; }
Angka ke-1 Angka ke-2 Angka ke-3 Angka ke-4 Angka ke-5
tired & lanjut
tired — Keluar dari Perulangan
bos i = 0; selama (bener) { kalo (i == 3) { tired; // keluar dari loop } sakmasaknasi(i); i = i + 1; }
0 1 2
lanjut — Lewati Iterasi
bos i = 0; selama (i < 6) { i = i + 1; kalo (i % 2 == 0) { lanjut; // lewati iterasi ini } sakmasaknasi(i); }
1 3 5
Fungsi
Gunakan deym untuk mendefinisikan fungsi yang bisa dipanggil berkali-kali.
deym namaFungsi(param1, param2) { // isi fungsi }
deym sapa(nama) { sakmasaknasi("Halo, " + nama + "!"); } sapa("Iza"); sapa("Muchtar");
Halo, Iza! Halo, Muchtar!
Return (dahlah)
Gunakan dahlah untuk mengembalikan nilai dari fungsi.
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));
10 + 5 = 15 Maks(7,3) = 7
Rekursi
Fungsi bisa memanggil dirinya sendiri (rekursi).
deym faktorial(n) { kalo (n <= 1) { dahlah 1; } dahlah n * faktorial(n - 1); } sakmasaknasi(faktorial(5)); // 120 sakmasaknasi(faktorial(6)); // 720
120 720
Tabel Kata Kunci
Daftar lengkap semua kata kunci dalam Bahasa Iza:
| Kata Kunci Iza | Padanan Bahasa Lain | Fungsi |
|---|---|---|
bos / letmasmot | var / let | Deklarasi variabel |
masmot | const | Deklarasi konstanta |
deym | function / def | Mendefinisikan fungsi |
dahlah | return | Mengembalikan nilai dari fungsi |
kalo | if | Pernyataan kondisional |
kalokaga | else | Cabang alternatif kondisional |
selama | while | Perulangan while |
tired | break | Keluar dari perulangan |
lanjut | continue | Lanjut ke iterasi berikutnya |
sakmasaknasi(x) | print(x) / console.log(x) | Mencetak output |
karbakarkayu(x) | input() / scanf | Membaca input dari user |
bener | true | Nilai boolean benar |
salah | false | Nilai boolean salah |
Pesan Error
Bahasa Iza menampilkan pesan error dalam Bahasa Indonesia yang mudah dipahami:
bos x = 0; sebelum menggunakan xkalo (kondisi) { ... }"teks"bos nama = "Iza";Contoh Program
1. Kalkulator Sederhana
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
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
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."); }