Lua - Fungsi: Panduan untuk Pemula

Hai teman-teman yang sedang belajar pemrograman! Hari ini, kita akan masuk ke dunia yang menakjubkan dari fungsi Lua. Jangan khawatir jika Anda belum pernah menulis baris kode sebelumnya – saya akan menjadi panduan yang ramah dalam perjalanan yang menarik ini. Pada akhir panduan ini, Anda akan dapat membuat dan menggunakan fungsi seperti seorang ahli!

Lua - Functions

Apa Itu Fungsi?

Sebelum kita memulai, mari bicarakan apa sebenarnya fungsi itu. Bayangkan Anda sedang membuat kue (enak!). Daripada menjelaskan seluruh resep setiap kali Anda ingin membuat kue, Anda dapat hanya berkata "Mari buat kue!" dan semua orang akan tahu apa yang harus dilakukan. Dalam pemrograman, fungsi seperti resep ini – itu adalah blok kode yang dapat digunakan kembali dan melakukan tugas-tugas spesifik.

Mendefinisikan Fungsi

Mari mulai dengan dasar-dasar bagaimana membuat, atau "mendefinisikan", fungsi dalam Lua.

Sintaks Fungsi Dasar

function namaFungsi()
-- Kode Anda disini
end

Ini adalah bentuk paling sederhana dari fungsi Lua. Mari kitauraikan ini:

  1. Kita mulai dengan kata kunci function.
  2. Kemudian kita beri nama pada fungsi (dalam hal ini, namaFungsi).
  3. Kita menambahkan tanda kurung () setelah nama.
  4. Kita menulis kode kita antara do dan end.

Ini adalah contoh yang nyata:

function katakanHalo()
print("Halo, dunia!")
end

Fungsi ini, saat dipanggil, akan mencetak "Halo, dunia!" ke konsol. Mudah, kan?

Memanggil Fungsi

Sekarang kita telah mendefinisikan sebuah fungsi, bagaimana kita menggunakannya? Kita "panggil" fungsi dengan menggunakan namanya diikuti oleh tanda kurung.

katakanHalo()  -- Ini akan mencetak "Halo, dunia!"

Setiap kali Anda menulis katakanHalo(), Lua akan menjalankan kode di dalam fungsi. Itu seperti menekan tombol yang membuat sesuatu terjadi!

Argumen Fungsi

Fungsi menjadi lebih kuat saat kita dapat memberikan informasi untuk diproses. Informasi ini kita sebut "argumen" atau "parameter".

function sapa(name)
print("Halo, " .. name .. "!")
end

sapa("Alice")  -- Ini akan mencetak "Halo, Alice!"
sapa("Bob")    -- Ini akan mencetak "Halo, Bob!"

Dalam contoh ini, name adalah argumen. Kita dapat memberikan nama yang berbeda ke fungsi, dan itu akan menyapa setiap orang secara individual. Bagus kan?

Argumen Ganda

Kita juga dapat menggunakan argumen ganda dalam fungsi:

function tambahAngka(a, b)
return a + b
end

hasil = tambahAngka(5, 3)
print(hasil)  -- Ini akan mencetak 8

Fungsi ini menerima dua angka, menambahkannya, dan memberikan kita hasilnya menggunakan kata kunci return.

Menugaskan dan Menyampaikan Fungsi

Dalam Lua, fungsi adalah "warga pertama kelas". Ini berarti kita dapat memperlakukannya seperti nilai lainnya – kita dapat menugaskannya ke variabel, menyampaikannya sebagai argumen ke fungsi lain, dan bahkan mengembalikannya dari fungsi!

-- Menugaskan fungsi ke variabel
local fungsiSaya = function(x)
return x * 2
end

print(fungsiSaya(5))  -- Ini akan mencetak 10

-- Menyampaikan fungsi sebagai argumen
function applyTwice(func, value)
return func(func(value))
end

hasil = applyTwice(fungsiSaya, 3)
print(hasil)  -- Ini akan mencetak 12 (3 * 2 * 2)

Ini mungkin terlihat sedikit membingungkan pada awalnya, tapi sangat kuat sekali Anda mengenalinya!

Fungsi Dengan Argumen Variabel

kadang-kadang, kita tidak tahu sebelumnya berapa banyak argumen yang akan diterima sebuah fungsi. Lua memiliki fitur yang menarik untuk ini: sintaks ....

function jumlah(...)
local total = 0
for _, v in ipairs({...}) do
total = total + v
end
return total
end

print(jumlah(1, 2, 3))      -- Ini akan mencetak 6
print(jumlah(10, 20, 30, 40))  -- Ini akan mencetak 100

Fungsi ini dapat menerima sejumlah argumen dan menambahkannya semua. Sintaks ... menangkap semua argumen yang diberikan ke fungsi.

Kesimpulan

Selamat! Anda telah mengambil langkah pertama ke dalam dunia fungsi Lua. Kita telah melihat banyak hal, mulai dari definisi fungsi dasar hingga konsep yang lebih maju seperti argumen variabel dan penyaluran fungsi.

Ingat, kunci untuk menguasai fungsi (dan pemrograman pada umumnya) adalah latihan. Cobalah membuat fungsi Anda sendiri, eksperimen dengan argumen yang berbeda, dan jangan takut untuk membuat kesalahan – itu adalah cara kita belajar!

Dalam tahun-tahun saya mengajar, saya menemukan bahwa siswa yang bermain dengan kode dan mencoba untuk merusaknya sering kali belajar tercepat. Jadi, teruskanlah, gunakan contoh ini, geser mereka, lipat mereka, lihat apa yang terjadi. Dan yang paling penting, bersenang-senang!

Selamat coding, para ahli Lua masa depan!



Tabel:


| Tipe Fungsi       | Sintaks                    | Contoh                                      |
|-------------------|----------------------------|---------------------------------------------|
| Fungsi Dasar      | `function nama() ... end`  | `function katakanHalo() print("Halo!") end` |
| Fungsi Dengan Argumen | `function nama(arg1, arg2) ... end` | `function tambah(a, b) return a + b end` |
| Fungsi Anonim     | `local nama = function() ... end` | `local gandakan = function(x) return x * 2 end` |
| Fungsi Dengan Argumen Variabel | `function nama(...) ... end` | `function jumlah(...) ... end` |

Credits: Image by storyset