Selamat Datang di Lua: Langkah Pertama Anda ke Dunia Pemrograman

Hai sana, pemrogram masa depan! Saya sangat senang menjadi panduan Anda dalam perjalanan menarik ini ke dunia Lua. Sebagai guru ilmu komputer dengan tahun-tahun pengalaman, saya telah melihat banyak siswa seperti Anda mengambil langkah pertama mereka ke dalam pemrograman. Percayakan saya, ini selalu sebuah petualangan!

Lua - Home

apa itu Lua?

Lua (yang berarti "bulan" dalam Bahasa Portugis) adalah bahasa pemrograman ringan dan mudah dipelajari. Itu seperti alien ramah dari bulan, datang ke Bumi untuk membuat pemrograman menyenangkan dan mudah bagi semua orang!

Mengapa Lua?

  1. Sintaks sederhana
  2. Ramah bagi pemula
  3. Fleksibel (digunakan dalam permainan, aplikasi web, dan lainnya)
  4. Eksekusi cepat

Menyiapkan Lingkungan Lua Anda

Sebelum kita mulai mengoding, kita perlu menyiapkan ruang kerja kami. Itu seperti mempersiapkan dapur Anda sebelum memasak makanan lezat!

  1. Kunjungi situs web resmi Lua (www.lua.org)
  2. Unduh versi terbaru untuk sistem operasi Anda
  3. Install Lua mengikuti petunjuk yang diberikan

Untuk memeriksa jika Lua terinstal dengan benar, buka terminal atau command prompt Anda dan ketik:

lua -v

Jika Anda melihat nomor versi Lua, Anda sudah siap!

Program Lua Pertama Anda: Hello, World!

Ayo mulai dengan program "Hello, World!" klasik. Itu adalah tradisi pemrograman, seperti salam rahasia antara para pemrogram!

Buat file baru yang disebut hello.lua dan ketik hal berikut:

print("Hello, World!")

Simpan file dan jalankan itu di terminal Anda:

lua hello.lua

Anda seharusnya melihat "Hello, World!" dicetak di layar Anda. Selamat! Anda telah menulis dan menjalankan program Lua pertama Anda!

apa yang terjadi disini?

  • print() adalah fungsi di Lua yang mengoutputkan teks ke layar
  • Teks di dalam kurung dan tanda petik disebut string
  • Lua menjalankan kode baris per baris, dari atas ke bawah

Variabel dan Tipe Data

Pikirkan variabel sebagai wadah yang menahan jenis data yang berbeda. mari kita jelajahi beberapa jenis data umum di Lua:

-- Bilangan
age = 25
pi = 3.14159

-- String
name = "Alice"
greeting = 'Hello, Lua!'

-- Boolean
is_sunny = true
is_raining = false

-- Nil (mewakili keabsenan nilai)
empty_variable = nil

-- Mencetak variabel
print(name)
print(age)
print(is_sunny)
print(empty_variable)

Jalankan kode ini dan lihat apa yang terjadi!

Penjelasan:

  • Kita menggunakan = untuk memberikan nilai ke variabel
  • Lua secara dinamis ditipekan, artinya Anda tidak perlu mendeklarasikan jenis variabel
  • String bisa menggunakan petik tunggal atau ganda
  • Komentar di Lua dimulai dengan --
  • nil adalah nilai khusus yang mewakili "tidak ada nilai" atau "tidak ada"

Operasi Dasar

Ayo melakukan sesuatu matematika dan manipulasi string:

-- Operasi aritmetik
a = 10
b = 3

print(a + b)  -- Penjumlahan
print(a - b)  -- Pengurangan
print(a * b)  -- Perkalian
print(a / b)  -- Pembagian
print(a % b)  -- Modulus (sisa)
print(a ^ b)  -- Eksponen

-- Konkatenasi string
first_name = "John"
last_name = "Doe"
full_name = first_name .. " " .. last_name
print(full_name)

-- Panjang string
print(#full_name)

Penjelasan:

  • Lua mendukung semua operasi aritmetik dasar
  • Operator .. digunakan untuk konkatenasi string
  • Operator # mengembalikan panjang string atau tabel

Struktur Kontrol

Statement If

Struktur kontrol membantu kita membuat keputusan dalam kode. mari kita mulai dengan statement if:

age = 18

if age >= 18 then
print("Anda adalah orang dewasa")
elseif age >= 13 then
print("Anda adalah remaja")
else
print("Anda adalah anak")
end

Coba ubah nilai age dan lihat bagaimana output berubah!

Loop

Loop memungkinkan kita mengulangi aksi. Ini adalah contoh loop for:

for i = 1, 5 do
print("Iterasi " .. i)
end

Dan ini adalah contoh loop while:

count = 1
while count <= 5 do
print("Count adalah: " .. count)
count = count + 1
end

Fungsi

Fungsi adalah blok kode yang dapat digunakan kembali. Mereka seperti resep yang Anda bisa gunakan berkali-kali:

function greet(name)
return "Hello, " .. name .. "!"
end

message = greet("Alice")
print(message)

-- Fungsi dengan kembalian ganda
function calculate(a, b)
return a + b, a - b, a * b, a / b
end

sum, difference, product, quotient = calculate(10, 5)
print("Penjumlahan:", sum)
print("Pengurangan:", difference)
print("Perkalian:", product)
print("Pembagian:", quotient)

Penjelasan:

  • Fungsi didefinisikan menggunakan kata kunci function
  • Mereka dapat menerima parameter dan mengembalikan nilai
  • Fungsi Lua dapat mengembalikan nilai ganda

Tabel

Tabel adalah satu-satunya struktur data Lua, tetapi mereka sangat fleksibel. Pikirkan mereka sebagai pisau Swiss Army untuk data:

-- Membuat tabel sederhana
fruits = {"apple", "banana", "orange"}

-- Mengakses elemen
print(fruits[1])  -- Ingat, array Lua dimulai dari 1!
print(fruits[2])

-- Menambahkan elemen
fruits[4] = "grape"

-- Mengulang tabel
for i, fruit in ipairs(fruits) do
print(i, fruit)
end

-- Tabel sebagai kamus
person = {
name = "Bob",
age = 30,
city = "New York"
}

print(person.name)
print(person["age"])

-- Tabel bersarang
family = {
{name = "Alice", age = 35},
{name = "Bob", age = 37},
{name = "Charlie", age = 8}
}

for _, member in ipairs(family) do
print(member.name .. " berusia " .. member.age .. " tahun")
end

Penjelasan:

  • Tabel dapat digunakan sebagai array, kamus, atau campuran keduanya
  • Indeks array di Lua dimulai dari 1, bukan 0
  • Kita dapat mengakses elemen tabel menggunakan kurung kotak atau notasi titik
  • Fungsi ipairs() digunakan untuk mengulang tabel seperti array

Pustaka Standar Lua

Lua datang dengan beberapa pustaka bawaan yang menyediakan fungsi yang berguna. Berikut adalah tabel dari beberapa pustaka dan fungsi yang umum digunakan:

Pustaka Fungsi Deskripsi
string string.upper(s) Mengkonversi s ke huruf besar
string.lower(s) Mengkonversi s ke huruf kecil
string.len(s) Mengembalikan panjang s
math math.max(x, ...) Mengembalikan nilai maksimal dari argumen
math.min(x, ...) Mengembalikan nilai minimal dari argumen
math.random([m [, n]]) Menghasilkan nomor acak
table table.insert(t, [pos,] value) Menyisipkan value ke t pada posisi pos
table.remove(t [, pos]) Menghapus elemen dari t pada posisi pos
table.sort(t [, comp]) Mengurutkan elemen tabel dalam urutan tertentu

Berikut adalah contoh penggunaan beberapa fungsi ini:

-- Manipulasi string
text = "Hello, Lua!"
print(string.upper(text))
print(string.lower(text))
print(string.len(text))

-- Operasi matematika
numbers = {5, 2, 8, 1, 9}
print(math.max(table.unpack(numbers)))
print(math.min(table.unpack(numbers)))
print(math.random(1, 10))

-- Operasi tabel
fruits = {"apple", "banana", "orange"}
table.insert(fruits, "grape")
table.sort(fruits)
for _, fruit in ipairs(fruits) do
print(fruit)
end

Dan itu adalah! Anda telah mengambil langkah besar pertama Anda ke dunia pemrograman Lua. Ingat, belajar mengoding adalah seperti belajar bahasa baru atau alat musik - itu memerlukan latihan dan kesabaran. Jangan takut untuk mencoba, membuat kesalahan, dan terutama, bersenang-senang!

Saat kita mengakhiri pengenalan ini ke Lua, saya teringat tentang kutipan Grace Hopper, ilmuwan komputer yang terkenal: "Kata yang paling merusak di dalam bahasa adalah 'Kami selalu melakukan seperti itu'." Jadi, jaga terbuka, tetap curiga, dan jangan pernah berhenti belajar. Selamat coding!

Credits: Image by storyset