Study
← Semua Kategori

Lua

Pengenalan Lua

Pengertian Lua, bahasa scripting ringan yang sering dipakai untuk embedding di game/aplikasi lain.

Variabel & Tipe Data di Lua

Membuat variabel di Lua, tipe data dasar (nil, number, string, boolean), dan sifat dynamically typed.

Operator di Lua

Operator aritmatika, perbandingan, logika, dan operator penggabungan string (..) di Lua.

Percabangan di Lua

Struktur kontrol if, elseif, else, end di Lua untuk mengeksekusi kode berdasarkan kondisi.

Perulangan di Lua

Perulangan for (numeric & generic), while, dan repeat-until di Lua.

String di Lua

Manipulasi string dengan library string bawaan Lua: len, upper, lower, sub, dan find.

Fungsi di Lua

Mendefinisikan fungsi dengan function...end, parameter, dan return value di Lua.

Multiple Return Values

Fungsi di Lua bisa mengembalikan lebih dari satu nilai sekaligus, ditangkap dengan multiple assignment.

Table Dasar (Array-like)

Table sebagai satu-satunya struktur data Lua, dipakai sebagai array dengan indexing berbasis 1.

Table sebagai Dictionary (Key-Value)

Table dipakai sebagai dictionary/associative array dengan key string, diakses lewat [] atau dot notation.

Iterasi Table: pairs & ipairs

Perbedaan pairs() (semua key) dan ipairs() (index array berurutan) saat melakukan for-in pada table.

Closure di Lua

Fungsi yang "mengingat" variabel dari scope luar tempat ia didefinisikan, dipakai untuk membuat counter/generator.

Table sebagai Object (OOP Sederhana)

Lua tidak punya class bawaan — object dibuat dengan table berisi data & fungsi, dipanggil lewat sintaks method (:).

Metatable & Metamethod

Mengubah perilaku default table (operator, inheritance) lewat metatable dan metamethod seperti __index dan __add.

Modul & require di Lua

Memecah kode jadi beberapa file dengan modul, memuatnya lewat require().

Coroutine Dasar di Lua

Menjalankan fungsi yang bisa dijeda dan dilanjutkan lagi (cooperative multitasking) dengan coroutine.

Error Handling: pcall & error

Menangani error di Lua dengan pcall() (protected call) dan melempar error kustom dengan error().

Tugas Akhir

Latihan akhir menggabungkan table, fungsi OOP sederhana, closure, dan error handling dalam satu program Lua.