Perulangan — selama
Perulangan digunakan untuk mengeksekusi blok kode berulang kali selama kondisi terpenuhi.
Sintaks Dasar
Sintaks
selama kondisi {
// kode yang diulang
}
Perulangan dengan Counter
Contoh — Hitungan 1 sampai 5
buat i = 1
selama i <= 5 {
tampilkan("Hitungan:", i)
i += 1
}
Output
Hitungan: 1 Hitungan: 2 Hitungan: 3 Hitungan: 4 Hitungan: 5
Iterasi melalui Array
Contoh
buat buah = ["Apel", "Mangga", "Pepaya", "Durian"]
buat i = 0
selama i < panjang(buah) {
tampilkan(i + 1, ".", buah[i])
i += 1
}
Output
1 . Apel 2 . Mangga 3 . Pepaya 4 . Durian
Menghentikan Loop — putus
Contoh
buat i = 1
selama i <= 10 {
jika i == 6 {
tampilkan("Berhenti di:", i)
putus // keluar dari loop
}
tampilkan(i)
i += 1
}
Output
1 2 3 4 5 Berhenti di: 6
Lewati Iterasi — lanjut
Contoh — Cetak bilangan ganjil saja
buat i = 1
selama i <= 10 {
jika i % 2 == 0 {
i += 1
lanjut // lewati iterasi ini
}
tampilkan(i, "(ganjil)")
i += 1
}
Output
1 (ganjil) 3 (ganjil) 5 (ganjil) 7 (ganjil) 9 (ganjil)
Loop Akumulasi
Contoh — Jumlah 1 + 2 + ... + 100
buat i = 1
buat jumlah = 0
selama i <= 100 {
jumlah += i
i += 1
}
tampilkan("Jumlah 1 s.d. 100 =", jumlah)
Output
Jumlah 1 s.d. 100 = 5050
Loop Bersarang (Nested Loop)
Contoh — Tabel Perkalian
buat i = 1
selama i <= 3 {
buat j = 1
selama j <= 3 {
tampilkan(ke_teks(i) + " x " + ke_teks(j) + " = " + ke_teks(i * j))
j += 1
}
i += 1
}
Output
1 x 1 = 1 1 x 2 = 2 1 x 3 = 3 2 x 1 = 2 2 x 2 = 4 2 x 3 = 6 3 x 1 = 3 3 x 2 = 6 3 x 3 = 9
Pastikan kondisi loop akan menjadi
salah pada suatu saat, atau gunakan putus, untuk menghindari infinite loop yang membuat program tidak berhenti.For-Each — untuk ... dalam
NusaScript mendukung loop for-each yang lebih ekspresif untuk iterasi array, peta, string, dan range bilangan.
| Sintaks | Deskripsi |
|---|---|
untuk x dalam array { } | Iterasi setiap elemen |
untuk i, x dalam array { } | Iterasi dengan indeks |
untuk n dalam 10 { } | Iterasi range 0..9 |
untuk k, v dalam peta { } | Iterasi kunci dan nilai peta |
untuk c dalam "teks" { } | Iterasi per karakter |
Contoh — Iterasi Array
buat buah = ["apel", "mangga", "jeruk"]
// Cara lama (selama)
// buat i = 0
// selama i < panjang(buah) { tampilkan(buah[i]); i += 1 }
// Cara baru (untuk...dalam) — jauh lebih ringkas
untuk b dalam buah {
tampilkan("Buah:", b)
}
Output
Buah: apel Buah: mangga Buah: jeruk
Contoh — Dengan Indeks
buat kota = ["Jakarta", "Surabaya", "Bandung"]
untuk i, k dalam kota {
tampilkan("[" + i + "] " + k)
}
Output
[0] Jakarta [1] Surabaya [2] Bandung
Contoh — Range Bilangan
// Iterasi 0 sampai 4
untuk n dalam 5 {
tampilkan("n =", n)
}
Output
n = 0 n = 1 n = 2 n = 3 n = 4
Contoh — Iterasi Peta
buat profil = peta("nama", "Budi", "kota", "Jakarta", "umur", 25)
untuk kunci, nilai dalam profil {
tampilkan(kunci + ": " + nilai)
}
Output
nama: Budi kota: Jakarta umur: 25
Contoh — Iterasi String
untuk c dalam "Nusa" {
tampilkan(c)
}
Output
N u s a
String Interpolation — ${...}
Sisipkan variabel atau ekspresi langsung di dalam string menggunakan ${}.
Contoh — Interpolasi Variabel & Ekspresi
buat nama = "Dewi"
buat umur = 22
buat kota = "Bandung"
// Tanpa interpolasi (cara lama)
tampilkan("Halo " + nama + ", umur " + umur + " dari " + kota)
// Dengan interpolasi (jauh lebih bersih!)
tampilkan("Halo ${nama}, umur ${umur} dari ${kota}")
// Ekspresi langsung di dalam ${}
buat harga = 50000
buat qty = 3
tampilkan("Total: Rp ${harga * qty}")
tampilkan("Huruf besar: ${huruf_besar(nama)}")
Output
Halo Dewi, umur 22 dari Bandung Halo Dewi, umur 22 dari Bandung Total: Rp 150000 Huruf besar: DEWI