Bekerja dengan String
Teks di AHA! Lang: literal, escape sequence, penggabungan, perbandingan, dan panjang string.
Bekerja dengan String
String adalah data teks — nama, kalimat, pesan, atau apa pun yang berbentuk huruf. Di AHA! Lang, string ditulis di antara tanda kutip ganda: `"..."
Membuat String
let nama = "Budi";
let pesan = "Selamat datang di AHA! Lang!";
let kosong = "";Mencetak dan Menggabungkan
Untuk menggabungkan dua string, gunakan +:
let nama = "Budi";
let sapaan = "Halo, " + nama + "!";
print_str(sapaan); // Halo, Budi!Penggabungan bekerja untuk string dengan string saja — "umur " + 25 akan ditolak kompiler karena tipe tidak cocok (String + Int).
Escape Sequence
Beberapa karakter khusus butuh cara khusus untuk ditulis di dalam string:
| Escape | Makna |
|---|---|
\n | Baris baru |
\t | Tab |
\\ | Garis miring \ |
\" | Tanda kutip ganda |
\r | Carriage return |
\0 | Null |
Contoh:
print_str("Kelas A\tKelas B\nSelesai");Output:
Kelas A Kelas B
SelesaiBagaimana kalau mau mencetak tanda kutip di dalam string? Pakai \":
print_str("Dia berkata, \"AHA!\"");Panjang String dengan len()
Builtin len() mengembalikan jumlah karakter:
print(len("hello")); // 5
print(len("")); // 0
print(len("AHA! Lang"));
// 9 — hitung sendiri!len() di AHA! Lang sangat cepat: panjang string sudah disimpan sebagai bagian dari data, jadi dibaca langsung dalam O(1) — tidak perlu menghitung ulang.
Membandingkan String
String bisa dibandingkan isinya dengan == dan !=:
let jawaban = "aha";
if jawaban == "aha" { // hasilnya 1 (benar)
print_str("Benar!\n");
} else {
print_str("Salah.\n");
}Perbandingan membandingkan isi — "aha" == "aha aja" adalah 0 (salah).
String di Dalam Fungsi
String bisa dikirim ke fungsi dan dikembalikan dari fungsi:
fn seru(teks) {
teks + "!"
}
fn sapaan_panjang(nama) {
"Halo, " + nama + "! Semoga harimu menyenangkan."
}
print_str(seru("yuhuu")); // yuhuu!
print_str(sapaan_panjang("Dina")); // Halo, Dina! ...Kompiler menyimpulkan tipe kembalian fungsi secara otomatis.
Ringkasan
| Operasi | Sintaks | Contoh |
|---|---|---|
| Gabung | + | "a" + "b" → "ab" |
| Sama dengan | == | "a" == "a" → 1 |
| Tidak sama | != | "a" != "b" → 1 |
| Panjang | len(s) | len("abc") → 3 |
Latihan
- Gabungkan
"Nama saya "dengan nama kamu, lalu cetak. - Cetak baris puisi tiga baris menggunakan satu
print_strdengan\n. - Buat fungsi
kata_sambutan(jam)yang mengembalikan"Selamat pagi!"jikajam < 12dan"Selamat malam!"jika bukan (petunjuk: pakaiifyang akan kamu pelajari lebih dalam di pelajaran berikutnya — boleh coba sekarang!). - Cetak panjang nama lengkapmu dengan
len().
Lanjut ke Keputusan dengan if / else