Selamat Datang ke 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 dalam pemrograman. Percayalah, 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 kita. Itu seperti menyiapkan 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 apakah Lua terinstal dengan benar, buka terminal atau command prompt 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 pemrogram!

Buat file baru bernama hello.lua dan ketik sebagai berikut:

print("Hello, World!")

Simpan file dan jalankan di terminal:

lua hello.lua

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

Apa yang terjadi di sini?

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

Variabel dan Tipe Data

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

-- Angka
age = 25
pi = 3.14159

-- String
name = "Alice"
greeting = 'Hai, 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 mengassign nilai ke variabel
  • Lua adalah tipa dinamis, artinya Anda tidak perlu mendeklarasikan jenis variabel
  • String dapat menggunakan single atau double quote
  • Komentar di Lua dimulai dengan --
  • nil adalah nilai khusus yang mewakili "tidak ada nilai" atau "tidak ada"

Operasi Dasar

Ayo melakukan operasi 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 Kendali

Statement If

Struktur kendali membantu kita membuat keputusan dalam kode. mari 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 contoh loop for:

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

Dan ini 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. Itu seperti resep yang Anda dapat gunakan berkali-kali:

function greet(name)
return "Hai, " .. 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("Jumlah:", sum)
print("Perbedaan:", difference)
print("Produk:", 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 multifungsi. Pikirkan mereka seperti 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 dictionary
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 .. " adalah " .. member.age .. " tahun")
end

Penjelasan:

  • Tabel dapat digunakan sebagai array, dictionary, 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 sering 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 minimum dari argumen
math.random([m [, n]]) Menghasilkan bilangan acak
table table.insert(t, [pos,] value) Menyisipkan nilai 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 = "Hai, 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 baru saja 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!

Seperti yang diungkapkan Grace Hopper, ilmuwan komputer ternama: "Kata yang paling merusak di dalam bahasa adalah 'Kami selalu melakukan itu dengan cara ini'." Jadi, jaga terbuka, tetap curiga, dan jangan pernah berhenti belajar. Selamat coding!

Credits: Image by storyset