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.