Roblox
Belajar Luau 01: print, Variabel, Tipe Data, dan Operator
Langkah pertama belajar Luau untuk Roblox: menampilkan teks dengan print, menyimpan nilai di variabel, mengenal tipe data, dan memakai operator matematika serta perbandingan.

Ini pelajaran pertama dari jalur belajar membuat game Roblox. Kita mulai dari hal paling dasar di Luau, bahasa pemrograman yang dipakai Roblox: menampilkan teks, menyimpan nilai, dan menghitung.
Pelajaran 01–06 dijalankan di terminal dengan program luau, belum di Roblox Studio:
luau 01-variabel-dan-print.luau
Yang akan dipelajari
- Komentar dan
print - Variabel dengan
local - Tipe data: string, number, boolean, dan
nil - Operator matematika, menggabungkan teks, dan string interpolation
- Operator perbandingan
Komentar dan print
Baris yang diawali -- adalah komentar. Komentar tidak dijalankan; isinya hanya catatan untuk manusia.
print menampilkan tulisan ke layar. Di Roblox, hasilnya muncul di jendela Output.
-- Ini komentar, tidak dijalankan
print("Halo, Roblox!")
Variabel
Variabel adalah "kotak" bernama untuk menyimpan nilai. Selalu pakai local saat membuat variabel baru.
local namaPemain = "Budi" -- string (teks), pakai tanda kutip
local koin = 100 -- number (angka)
local kecepatan = 16.5 -- number juga boleh desimal
local sudahMenang = false -- boolean: hanya true atau false
local senjata = nil -- nil artinya "kosong / tidak ada"
print(namaPemain, koin, kecepatan, sudahMenang, senjata)
typeof() memberi tahu tipe sebuah nilai:
print(typeof(namaPemain), typeof(koin), typeof(sudahMenang), typeof(senjata))
Mengubah nilai variabel
Untuk mengubah nilai, tulis nama variabelnya tanpa local lagi:
koin = koin + 50
print("Koin sekarang:", koin) -- 150
koin += 25 -- singkatan dari: koin = koin + 25
print("Koin sekarang:", koin) -- 175
Operator matematika
print(10 + 3) -- 13 tambah
print(10 - 3) -- 7 kurang
print(10 * 3) -- 30 kali
print(10 / 3) -- 3.333... bagi
print(10 // 3) -- 3 bagi, dibulatkan ke bawah
print(10 % 3) -- 1 sisa bagi (modulo)
print(2 ^ 3) -- 8 pangkat
Menggabungkan teks
Teks digabung dengan ... Angka juga bisa digabung ke teks.
local sapaan = "Selamat datang, " .. namaPemain .. "!"
print(sapaan)
print(namaPemain .. " punya " .. koin .. " koin")
Cara yang lebih rapi adalah string interpolation dengan backtick `. Nilai di dalam { } langsung dimasukkan ke teks:
print(`{namaPemain} punya {koin} koin dan kecepatan {kecepatan}`)
Operator perbandingan
Hasil perbandingan selalu true atau false:
print(koin > 100) -- lebih besar
print(koin == 175) -- sama dengan (DUA tanda =)
print(koin ~= 175) -- TIDAK sama dengan
print(namaPemain == "Budi")
Perhatikan:
=untuk mengisi variabel, sedangkan==untuk membandingkan. Tidak sama dengan ditulis~=, bukan!=.
Latihan
- Buat variabel
nyawabernilai 3, lalu kurangi 1, lalu print hasilnya. - Buat variabel
hargaPedang= 250. Print apakah koin cukup untuk membeli pedang (pakai operator>=). - Pakai backtick, print kalimat: "Budi punya 2 nyawa dan butuh 75 koin lagi untuk beli pedang". Angka 2 dan 75 harus dihitung dari variabel, bukan diketik langsung.
Kunci jawaban
Coba kerjakan sendiri dulu sebelum membaca bagian ini. Variabel dari materi yang dipakai: namaPemain = "Budi" dan koin = 175.
Latihan 1: nyawa
local nyawa = 3
nyawa -= 1 -- sama dengan: nyawa = nyawa - 1
print(nyawa) -- 2
Latihan 2: apakah koin cukup?
local hargaPedang = 250
print(koin >= hargaPedang) -- false (175 < 250)
Kesalahan umum adalah menulis print(hargaPedang >= koin). Itu menanyakan "apakah harga >= koin?", hasilnya true, seolah-olah pemain bisa membeli padahal koinnya kurang. Baca kalimat soalnya: "koin cukup untuk harga", berarti koin >= harga.
Latihan 3: kalimat dengan angka yang dihitung
print(`{namaPemain} punya {nyawa} nyawa dan butuh {hargaPedang - koin} koin lagi untuk beli pedang`)
-- Budi punya 2 nyawa dan butuh 75 koin lagi untuk beli pedang
Poin penting:
- Di dalam
{ }boleh ada perhitungan, bukan hanya nama variabel. - Pakai
{namaPemain}, bukan mengetik"Budi"langsung, supaya kalimat ikut berubah kalau namanya berubah.
Discussion (0)
We store your optional name, your comment, and technical hashes (not your raw IP address) to prevent spam. A functional cookie lets you edit or delete your own comments from this browser. To request deletion, use the contact page.
No comments yet. Start the discussion.