Belajar pemrograman otodidak untuk pemula
Resep dan Tips kamu dalam belajar pemrograman pertama kali.
Bahasa pemrograman yang cabe rawit, kecil, ringan dan powerful.
November 23, 2023
Bahasa pemrograman tidak ada habisnya untuk ditelusuri, tiap-tiapnya punya keunikan dan masalah yang ingin diselesaikan, seperti Python yang ingin mudah dipelajari atau Go untuk membangun software yang efisien namun ngodingnya tetap produktif dan sebagainya.
Kali ini kesempatan Lua untuk bersinar, mungkin dari kamu baru tahu namanya sekarang, padahal umurnya Lua sudah 30 tahun lho. Lua sendiri lahir di Brazil, yang dalam bahasa sana (portugis) Lua artinya Bulan.
Lua itu bahasa pemrograman dengan tipe dinamis yang dievaluasi secara interpretasi atau skripting, selain itu juga kemampuan multi paradigma seperti prosedural, object-oriented, fungsional dan data-driven.
Lua bisa dikompilasi ke program biner dengan LuaJIT
Diluar dari fitur bahasa, faktor teknis yang menarik adalah Lua sangat ringan dalam segi ukuran bahkan digunakan untuk bahasa skripting dalam program seperti Lua disispkan kedalam game World of Warcraft, web server Apache HTTP dan alat jaringan NMAP yang dinamai NMAP scripting engine.
Penulis sendiri menggunakan Lua untuk membuat game dengan game engine LOVE2D dan Defold, karena ringan di komputer dan bahasanya simpel (terutama LOVE2D).
Cepat (kata websitenya, seharusnya ada benchmark)
Mudah disisipkan (Embbedable) baik ditanam sebagai skripting dalam perangkat lunak maupun perangkat keras.
Ukuran yang ringan dan portable ke berbagai sistem operasi, cross-platform termasuk Android.
Cukup mature sebagai bahasa pemrograman dan sudah digunakan dalam berbagai produksi perangkat lunak.
Biar tidak seperti beli kucing dalam karung, mari kita liat bahasa Lua sebelum kita memasangnya di komputer. Bagi yang pernah menggunakan Python atau Javascript, Lua ibarat campuran dari keduanya.
Kamu bisa coba kode ini tanpa install Lua di Lua live demo.
Lua membagi variable menjadi 2 jenis, variabel lokal
dan global
.
nama = "Kyoni"
local umur = 18
print(nama)
print(umur)
Keyword local
hanya membuat variabel tersedia ada lingkup sekitarnya, karena by default
variable di Lua bersifat global yang bisa diakses dari mana saja. Sangat disarankan menggunakan keyword local
untuk membuat variable.
Lua memiliki fitur pemilihan dengan ekpresi logika, sepintas mirip dengan Python.
x = 9
if x > 8 then
print("mendapat angka lebih dari 8")
elseif x > 0 then
print("mendapat angka lebih dari 0")
else
print("mendapat angka 0 atau kurang darinya")
end
Lua tidak mempunya pencocokan berbasis nilai, seperti penyataan switch-case
di bahasa Javascript dan Python.
Lua punya pre-check (cek kondisi kemudia jalankan kode) dan post-check(jalankan kode baru cek kondisi) looping.
while-do
.x = 0
while x <= 5 do
x = x + 1
end
repeat-until
.x = 0
repeat
x = x + 1
until x >= 5
pernyataan repeat-until
memiliki keunikan dalam pengecekan kondisi yang berbeda dari while-do
, yang berhenti ketika kondisi until
bernilai true
, ini bertolak belakang dengan while-do
yang berhenti ketika kondisi bernilai false
.
Lua punya dua perulangan pencacah : numerical for
(pencacah berbasish angka) dan generic for
(pencacah berbasis objek atau iterator).
numerical for
-- local i = 0, basis awal
-- 10, batas looping
-- 2 step looping, i = i + 2 setiap loop.
for local i = 0,10,2 do
print(i)
end
generic for
bulan = {
"Januari","Februari", "Maret","April", "Mei","Juni",
"Juli","Agustus","September","Oktober","November","Desemeber"
}
for indeks,b in ipairs(bulan) do
print(b)
end
Pernyataan generic for
memerlukan fungsi iterator maka dari itu kenapa perlu adanya ipairs
atau pairs
, saat kita ingin melihat nilai isi dari koleksi.
Membuat fungsi di Lua menggunakan keyword function
function ini_fungsi(ini_parameternya)
local nilai_return = ini_parameternya
return nilai_return
end
Apa yang orang lain lakukan dengan Lua, dan mungkin menjadi kasus pakai untuk kamu juga:
Penulis tertarik dengan Lua karena bekenalan dengan dunia pengembangan game. Banyak game engine yang mendukung Lua, salah satunya yang paling terkenal adalah Love 2D dan melahirkan game-game keren.
Selain itu, ada juga Defold yang sedang naik daun karena kemiripan Unity dan Godot.
Cukup disayangkan ekosistem untuk web di Lua terbilang kurang tetapi bukan berarti tidak ada. Ada satu web framework di Lua, yakni Lapis, menurut hemat penulis framework ini serupa dengan Flask di Python.
Sifat dari Embbeddable Lua membuatnya jadi pelanggan untuk pemrograman sistem yang butuh fitur skripting untuk kustomisasi tertentu bahkan sistem tertanam dalam perangkat keras elektronik.
Teladan untuk pendekatan ini bisa dilihat di halaman Where Lua is Used.
Kamu sudah melihat bagaimana sintaks dan kasus guna Lua. Sekarang saatnya kita menginstallnya:
Installasi Lua di Window mungkin yang rumit dari sistem operasi lainnya, tapi masih bisa dilakukan.
Ada 2 cara untuk bisa ngoding Lua di Windows:
(Opsi ini disarankan) Install IDE ZeroBrane, Lua sudah tertanam di IDE jadi tidak perlu install, tapi tidak tersedia untuk keseluruhan sistem. Ini sudah menjadi kebanyakan standar untuk Lua ditanamkan ke program, termasuk program editor di Defold.
Download Lua dari LuaBinaries, supaya tidak bingung ini panduan downoladnya:
LuaBinaries
Download
di halaman menu sebelah kiri.Windows x64 Executables
dan Windows x64 DLL and Includes (MingW-w64 6 Built)
.C:\lua
(kalau tiada foldernya, dibuat baru!).PATH
di Environment Variable dengan nilai C:\lua
.Installasi Lua cukup menggunakan paket manager yang tersedia seperti apt install lua
dan sebagainya (menyesuaikan paket manager yang ada).
Kemudian, jangan lupa menginstall LuaRocks untuk urusan perpaketan.
Lua bahasa yang sederhana dan punya fitur yang tidak kalah dengan bahasa pada umumnya. Yang membuat kurang populer karena bahasa ini mempunyai niche yang khusus, pengembangan game dan sistem tertanam.
Terlepas dari itu, tidak ada salahnya menggunakan lua sebagai bahasa pemrograman untuk pemula, meskipun tidak memiliki fitur pertipean seperti C\C++ yang menegaskan pentingnya tipe data eksplisit.
Blog ini tidak dibiayai oleh iklan untuk bayar server dan jajan milkshake. Agar tetap terus beroperasi dan menorehkan lebih banyak tulisan yang (semoga) bermanfaat!
Beri sedikit tips ke Loka Kode untuk bayar server dan beli milkshake.
Resep dan Tips kamu dalam belajar pemrograman pertama kali.