Tipe Data

NusaScript mendukung beberapa tipe data dasar: bilangan, desimal, teks, boolean, array, peta, dan nihil.

Ringkasan Tipe Data

TipeKata KunciContohKeterangan
Bilangan Bulatbilangan42, -10, 0Integer 64-bit
Bilangan Desimaldesimal3.14, -0.5Float 64-bit
Teksteks"Halo"String UTF-8
Booleanboolbenar, salahtrue / false
Arrayarray[1, 2, 3]Koleksi berurutan
Petapetapeta("k", "v")Key-value store
Tipe Customtipetipe Nama { }Struct buatan sendiri
NihilnihilnihilTidak ada nilai

Bilangan Bulat

Contoh
buat positif = 100
buat negatif = -50
buat nol = 0
buat besar = 1000000

tampilkan(positif + negatif)  // 50
tampilkan(tipe(positif))      // bilangan
Output
50
bilangan

Bilangan Desimal

Contoh
buat pi = 3.14159
buat suhu = -12.5
buat persen = 0.85

tampilkan(pi * 2)        // 6.28318
tampilkan(tipe(pi))      // desimal
Output
6.28318
desimal

Teks (String)

Contoh
buat kota = "Bandung"
buat sapaan = "Halo, " + kota + "!"
buat multiline = "Baris pertama\nBaris kedua"

tampilkan(sapaan)
tampilkan(panjang(kota))   // 7 karakter
tampilkan(tipe(kota))      // teks
Output
Halo, Bandung!
7
teks

Boolean

Contoh
buat sukses = benar
buat gagal = salah
buat cek = 10 > 5   // benar

tampilkan(sukses)         // benar
tampilkan(tidak sukses)   // salah
tampilkan(tipe(sukses))   // bool
Output
benar
salah
bool

Konversi Antar Tipe

FungsiDariKeContoh
ke_teks(x)Apa sajaTekske_teks(42)"42"
ke_bilangan(x)Teks / DesimalBilanganke_bilangan("10")10
ke_desimal(x)Teks / BilanganDesimalke_desimal("3.14")3.14
Contoh Konversi
buat angka = 42
buat teks_angka = ke_teks(angka)   // "42"
buat kembali = ke_bilangan(teks_angka) // 42

tampilkan(teks_angka + " rupiah")  // "42 rupiah"
tampilkan(kembali + 8)             // 50
Output
42 rupiah
50

Cek Tipe Data — tipe()

Contoh
tampilkan(tipe(42))          // bilangan
tampilkan(tipe(3.14))        // desimal
tampilkan(tipe("halo"))      // teks
tampilkan(tipe(benar))       // bool
tampilkan(tipe([1,2,3]))     // array
tampilkan(tipe(nihil))       // nihil
Output
bilangan
desimal
teks
bool
array
nihil

Tipe Data Custom (Struct)

NusaScript memungkinkan Anda mendefinisikan tipe data sendiri menggunakan keyword tipe. Ini seperti struct di Go atau class di bahasa lain.

Mendefinisikan Tipe

Definisi Struct
tipe Pengguna {
    nama: teks
    umur: bilangan
    email: teks
}
📌 Aturan: Nama tipe harus diawali huruf kapital — contoh: Pengguna, Produk, Pesanan.

Membuat Instance

Instansiasi Struct
buat user = Pengguna {
    nama: "Budi Santoso",
    umur: 25,
    email: "budi@contoh.com"
}

tampilkan(user.nama)      // "Budi Santoso"
tampilkan(user.umur)      // 25
Output
Budi Santoso
25

Mengubah Field

Ubah Nilai Field
user.umur = 26
tampilkan(user.umur)      // 26

Struct ke JSON

Serialisasi JSON
tampilkan(ke_json(user))
// {"nama":"Budi Santoso","umur":26,"email":"budi@contoh.com"}

Struct sebagai Model API

Contoh — Struct di API
tipe Produk {
    id: bilangan
    nama: teks
    harga: bilangan
    stok: bilangan
}

rute(app, "POST", "/api/produk", fungsi(req) {
    buat body = dari_json(req.body)
    buat produk = Produk {
        id: 1,
        nama: body.nama,
        harga: body.harga,
        stok: body.stok
    }
    kembalikan ke_json(produk)
})