Dunia Bahasa Pemrograman sepertinya tidak akan pernah berakhir. Saat pertama kali bahasa pemrograman diciptakan pada tahun 1956 hingga sekarang, banyak sekali tercipta bahasa pemrograman yang baru ataupun sebuah framework baru. Semua bahasa pemrograman yang ada sekarang ini mempunyai ciri khas dan kegunaannya sendiri. Ada yang digunakan untuk membuat sebuah website, ada juga untuk sebuah aplikasi android, game PC, dan lain lain. Kita dapat menemukan banyak sekali contoh penerapan bahasa pemrograman pada sebuah aplikasi pada gadget kita.
Dilihat dari waktu ke waktu, kebutuhan dalam mengakses sebuah informasi menjadi sangat cepat. Sebuah bahasa pemrograman dapat menentukan kecepatan dan keefektifan dalam mengakses sebuah informasi. Maka dari itu, kita memerlukan sebuah bahasa pemrograman yang cepat, ringan, dan tidak kalah efisiennya dengan bahasa pemrograman lain. Kita dapat menemukan hal tersebut pada bahasa pemrograman Lua.
Sejarah Lua
Lua pertama kali ditulis 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.
Tujuan Lua diciptakan karena pada saat itu pemerintah Brazil membuat kebijakan yang membatasi perdagangan perangkat keras maupun perangkat lunak. Dikarenakan hal itu, team Tecgraf membuat bahasa scripting mereka sendiri yang dinamakan Lua. Nama Lua datang dari bahasa Portugis yang berarti "Bulan".
Apa itu Lua?
Lua pada dasarnya adalah sebuah "bahasa scripting" dimana seorang programmer dapat mengintegrasikannya kedalam sebuah software. Bahasa Scripting merupakan bahasa pemrograman yang menyediakan fasilitas penerjemahan serta kompilasi kode dalam satu rangkaian proses. Contoh gampangnya jika kamu sedang mencoba menjalankan Java untuk aplikasi android, kamu perlu menunggu proses compile sebuah file Java menjadi sebuah Apk. Tapi dengan menggunakan bahasa scripting, kamu tidak perlu menunggu proses compile untuk menjalankannya. Bagaimana? hebat bukan?
Dikarenakan fungsi utama Lua yaitu untuk bahasa scripting. Jarang ditemukan bahasa ini digunakan sebagai pondasi utama dalam pembuatan sebuah aplikasi. Mengesampingkan itu, Lua seringkali menjadi pilihan utama dalam bahasa scripting yang dapat diintegrasikan kedalam sebuah program yang kerap kali menggunakan bahasa C dan C++.
Contoh penggunaan Lua
Dikarenakan Lua mempunyai performa yang baik sekaligus cepat dan tidak kalah dengan bahasa pemrograman lain. Banyak developer terkenal telah menjadikan Lua sebagai bahasa pemrograman utama di aplikasi mereka. Berikut contoh penggunaan Lua;
- Menjadi komponen populer dalam pembuatan video game dan game engine. Contoh game yang menggunakan Lua dalam video game yaitu pada Warframe dan World of Warcraft. Untuk game engine kita dapat menemui pada CRYENGINE yang menggunakan Lua sepenuhnya.
- Menjadi bahasa pemrograman di banyak aplikasi jaringan. Seperti CISCO System, Nmap, dan ModSecurity
- Menjadi bahasa pemrograman di aplkasi industri seperti Adobe Lightroom dan MySQL Workbench
- Menjadi sebuah library dimanan progammer dapat mengintegrasikannya kedalam program mereka menjadi sebuah fungsi scripting
Kelebihan dan Kekurangan Lua
Seperti bahasa pemrogaman Lain, Lua memiliki kelebihan dan kekurangan sendiri
Kelebihan Lua
- Integrasi Aplikasi yang mudah, memiliki performa yang tinggi dan memiliki total ukuran kecil yang membuat Lua menjadi mudah untuk diintegrasikan kedalam sebuah aplikasi.
- Sintaks yang simpel. Sintaks dalam Lua relatif mempunyai struktur yang simpel. Membuat kamu dapat menggunakan Lua secara mudah
- Cross-platform. Dalam mengintegrasikannya dengan C maupun C++, kamu dapat menjalankan Lua di platform apapun yang dapat disupport bahasa C maupun C++.
- Variabel yang dinamis. Lua dapat mendefinisikan sebuah variabel tanpa mendefiniskan tipe variabel tersebut. tipe variabel akan ditentukan secara automatis berdasar nilai yang diberikan
- Debug yang mudah. Dikarenakan Lua adalah bahasa scripting, kamu tidak perlu menunggu compile saat menjalankan Lua
- Dokumentasi yang lengkap. Kamu akan menemukan dokumentasi Lua secara mudah dan lengkap pada website resminya dan pada forum lainnya.
Kekurangan Lua
- Kemampuan terbatas dalam membimbing ke sebuah baris kode yang menyebabkan terjadinya error
- Semua variabel dapat dibuat menjadi sebuah global variabel yang dimana dapat menyebabkan error saat membuat variabel baru
Baca Juga : Tips Praktis! Mempelajari Coding untuk Pemula
Penulisan Lua
Dalam pembahasan terakhir pada artikel kali ini, mari kita lihat beberapa contoh penulisan kode di dalam Lua.
Untuk membuat sebuah fungsi dan menampilkan "Hello World", kamu dapat menuliskannya seperti ini
function bilangHai()
print("Hello World!")
end
Output : Hello World!
Untuk mendeklarasikan sebuah variabel kamu cukup membuat sebuah variabel tanpa mendefinisikan tipe varibel tersebut. Kamu juga tidak perlu mengakhiri sebuah sintak dengan ";" atau tanda tutup lainnya. Dan ingat, di dalam penggunaan variabel Lua juga masih Case Sensitive. contohnya :
function hitungUmur()
local varKalimat = "Dina akan berumur"
varUmur = 18
varTanggalLahir = "tahun pada tanggal 10 Agustus 2021"
print(varUmur..varKalimat..varTanggalLahir)
end
Output : Dina akan berumur 18 tahun pada tanggal 10 Agustus 2021
Sebagai catatan, penggunaan tipe data 'local' pada variabel 'varKalimat'
local varKalimat
local berfungsi untuk mendeklarasikan tipe variabel tersebut menjadi sebuah lokal variabel (yang hanya dapat diakses didalam file itu saja). Jika kamu tidak menggunakan 'local' pada variabel kamu. maka Lua akan membuat variabel tersebut menjadi global dimana variabel tersebut dapat digunakan di seluruh file Lua.
Bagaimana? terlihat mudah kan saat menggunakan Lua? Kalau kamu ingin menjadi sebuah Game Progammer, kamu bisa banget menjadikan Lua sebagai refrensi belajar kamu untuk kedepannya. Karena Lua menjadi salah satu kompenen penting dalam dunia game development saat ini.
Refrensi :
- lua.org/history.html
- ionos.com/digitalguide/websites/web-development/what-is-lua/
- bmc.com/blogs/lua-programming-language/#_What_is_Lua?
- wikipedia.org/wiki/Lua_(programming_language)