Lua
ParadigmaMultiparadigma: skrip, imperatif (prosedural, berbasis prototipe berorientasi objek), fungsional
Dirancang olehRoberto Ierusalimschy
Waldemar Celes
Luiz Henrique de Figueiredo
Pertama kali muncul1993; 33 tahun lalu (1993)
Rilis stabil
5.5[1] Edit this on Wikidata / 22 Desember 2025 (22 Desember 2025)
Tata tertib penjenisanDinamis, kuat, duck
SOMultiplatform
LisensiLisensi MIT
Ekstensi nama berkas.lua
Situs webwww.lua.org
Pelaksanaan utama
Lua, LuaJIT, LuaVela, MoonSharp, Luvit, LuaRT, LuaU
Dialek
Metalua, Idle, GSL Shell, Luau
Dipengaruhi oleh
C++, CLU, Modula, Scheme, SNOBOL
Memengaruhi
Io, GameMonkey, Squirrel, Falcon, MiniD

Lua (/ˈlə/ dari bahasa Portugis: lua yang berarti "bulan") merupakan bahasa pemrograman ringkas yang dirancang sebagai bahasa pemrograman dinamis berbasis skrip dengan semantik yang dapat dikembangkan atau ditambahkan. Sebagai bahasa skrip, Lua memiliki API dalam bahasa C yang relatif lebih sederhana dibandingkan bahasa skrip lainnya.

Sejarah

sunting

Lua ditulis pertama kali oleh Roberto Ierusalimschy, Luiz Henrique de Figueiredo, dan Waldemar Celes yang merupakan anggota Computer Graphics Technology Group (Tecgraf) pada universitas Pontifical Catholic, Rio de Janeiro, Brasil, pada tahun 1993.

Sebelumnya, sejak tahun 1977 hingga tahun 1992, pemerintah Brazil menerapkan kebijakan perdagangan yang membatasi perdagangan termasuk pertukaran baik perangkat keras ataupun perangkat lunak komputer. Dalam atmosfer yang demikian, banyak klien Tecgraf tidak mampu, baik secara politik maupun finansial, untuk membeli perangkat lunak dari luar. Alasan itulah yang mendorong Tecgraf untuk mengimplementaskan perangkat utilitas dasar yang dibutuhkan.[2]

Secara historis, bahasa pemrograman Lua berawal dari bahasa pemrograman yang digunakan untuk pendeskripsian serta entri data, serta pengkonfigurasian suatu sistem yang masing-masing dikembangkan secara terpisah oleh tecgraf dari tahun 1992 hingga tahun 1993.[3] Tujuan pengembangan tersebut awalnya merupakan usaha untuk menambahkan fitur serta meningkatkan fleksibilitas atas dua proyek pengembangan perangkat lunak yang sedang mereka kerjakan saat itu. Namun terdapat kekurangan atas alur kontrol atas bahasa tersebut sehingga menumbuhkan ide untuk mengembangkannya lebih lanjut dengan fitur-fitur dasar yang lengkap sebagai sebuah bahasa pemrograman.

Fitur

sunting

Secara umum Lua digambarkan sebagai bahasa pemrograman multi paradigma yang menyediakan seperangkat kecil atas fitur-fitur umum yang dapat dikembangkan lebih lanjut untuk memenuhi ragam kebutuhan yang berbeda-beda, karenanya Lua tidak menyediakan fitur yang lengkap dan kompleks yang hanya berfokus pada satu paradigma pemrograman. Sebagai contoh, Lua tidak secara eksplisit mendukung inheritance yang merupakan kemampuan untuk menurunkan sifat sebuah objek dalam konsepsi pemrograman berorientasi objek tetapi Lua menyediakan fasilitas metatable yang memungkinkan hal tersebut diimplementasikan relatif cukup mudah.

Secara umum, Lua berusaha untuk menyediakan fitur-fitur abstrak/meta yang lebih fleksibel dan dapat dikembangkan jika dibutuhkan dibandingkan menyediakan seperangkat pustaka yang lengkap untuk memenuhi satu kebutuhan tertentu. Hal tersebut menjadikan Lua sebagai bahasa pemrograman yang ringkas dan dapat secara mudah diadaptasikan untuk memenuhi beragam jenis kebutuhan.

Lua merupakan bahasa pemrograman dinamis yang ditujukan untuk digunakan sebagai bahasa skrip, dan cukup ringkas untuk disisipkan dalam berbagai jenis platform utama. Lua hanya mendukung beberapa jenis struktur data atomik seperti; boolean, floating point, serta string. Jenis-jenis tipe/struktur data lainnya seperti; larik, set, ataupun list direpresentasikan dalam Lua melalui satu bentuk tipe data, table.

Contoh program Lua

sunting

Contoh klasik sebuah program hello world dapat ditulis dengan bahasa Lua sebagai berikut:

 print("Hello World!")

Komentar menggunakan sintaksis yang lebih kurang sama dengan Ada, Eiffel, SQL dan VHDL:

-- Sebuah komentar di Lua dimulai dengan tanda hubung ganda dan berlaku sampai ke akhir baris.
--[[ String dengan beberapa baris & komentar
     dibuka dan ditutup dengan kurung siku ganda. ]]
--[=[ Komentar seperti ini dapat memiliki --[[komentar]] didalamnya. ]=]

Contoh lainnya, fungsi rekursif atas faktorial:

 function factorial(n)
  if n == 0 then
    return 1
  else
    return n * factorial(n - 1)
  end
 end

Lihat pula

sunting

Rujukan

sunting
  1. ^ https://lua.org/versions.html#5.5.
  2. ^ Ierusalimschy, R.; Figueiredo, L. H.; Celes, W. (2007). "The evolution of Lua" (PDF). Proc. of ACM HOPL III. hlm. 2–1–2–26. doi:10.1145/1238844.1238846. ISBN 978-1-59593-766-X.
  3. ^ "The evolution of an extension language: a history of Lua". 2001. Diakses tanggal 2008-12-18.

Bacaan lanjutan

sunting

Pranala luar

sunting

📚 Artikel Terkait di Wikipedia

Lua

entri Lua di kamus bebas Wikikamus. Lua dapat mengacu pada: Lua (dewi), seorang dewi Romawi Lua (seni bela diri), seni bela diri tradisional Hawaii Lua (bahasa

Universitas Mulawarman

mahasiswa mencapai lebih dari 30.577 orang. Kampus utamanya terletak di Gunung Kelua, sedangkan kampus lainnya terdapat di Jalan Pahlawan, Jalan Banggeris dan

Marga Mandailing

keturunan atau satu dusun. Marga juga bisa berasal dari singkatan 'naMA keluaRGA'. Namun, tidak semua orang Mandailing mencantumkan marga dalam namanya

Padang Lua, Banuhampu, Agam

Padang Lua merupakan salah satu nagari yang terdapat dalam Kecamatan Banuhampu, Kabupaten Agam, Provinsi Sumatera Barat, Indonesia Padang lua punya wilayah

Robert

(el); Роберт (sjd); Роберт (sr); Роберт / Робер (os); ロバート (ja); Robert (lua); 羅拔 (zh-hk); Robert (mul); רוברט (he); റോബർട്ട് (ml); 羅伯特 (zh-tw); Robert

Chả lụa

Chả lụa (Saigon: [ca᷉ lûˀə]) atau giò lụa (Hanoi: [zɔ̂ lûˀə]) adalah jenis sosis yang paling umum dalam kuliner Vietnam, terbuat dari daging babi dan

Roblox

yang seluruhnya dibuat menggunakan sebuah dialek dari bahasa pemrograman Lua dan mesin permainan platform tersebut, Roblox Studio. Meskipun Roblox dapat

Weki Meki

Choi Yoojung, Kim Doyeon, Sei, Lua, Rina, dan Lucy. Pada tahun 2015, anggota i-Teen Girls Kim Do-yeon, Choi Yoo-jung, Lua, Lucy dan Elly (serta mantan trainee