Senin, 28 September 2026
22:14 WIB
TERKINI
Berita Fenomena Unik 'Hujan Salju' di Lapangan Sempur Bogor, Warga Sambut Riang Internasional Profesor Biao Xiang: Idola Gen Z China yang Berani Bahas Kecemasan Hidup Berita Pelaku Injak Al-Qur'an di Lebak Divonis Penjara, Wajib Minta Maaf Publik Berita Dilema Ganjil Genap Jakarta: Evaluasi Setelah 1 Dekade, Relaksasi Jadi Perdebatan Berita Evakuasi Buaya Peliharaan di Bandar Lampung Penuh Haru, Pemilik Sempat Pingsan Berita Polemik Buku 'Memburu Muhammad': Penulis dan Tokoh Islam Jelaskan Niat Baik Regional Flyover Ciroyom Bandung Rampung, Solusi Baru Atasi Kemacetan Kota Regional Informasi Persiapan Vihara Jelang Imlek Belum Tersedia Regional Wujudkan Rumah Impian: Pendaftaran KPR Kini dalam Genggaman dengan BTN Mobile Prelude Mengungkap Akal-akalan Aturan Pemilu Melalui Lensa Pareto Berita Fenomena Unik 'Hujan Salju' di Lapangan Sempur Bogor, Warga Sambut Riang Internasional Profesor Biao Xiang: Idola Gen Z China yang Berani Bahas Kecemasan Hidup Berita Pelaku Injak Al-Qur'an di Lebak Divonis Penjara, Wajib Minta Maaf Publik Berita Dilema Ganjil Genap Jakarta: Evaluasi Setelah 1 Dekade, Relaksasi Jadi Perdebatan Berita Evakuasi Buaya Peliharaan di Bandar Lampung Penuh Haru, Pemilik Sempat Pingsan Berita Polemik Buku 'Memburu Muhammad': Penulis dan Tokoh Islam Jelaskan Niat Baik Regional Flyover Ciroyom Bandung Rampung, Solusi Baru Atasi Kemacetan Kota Regional Informasi Persiapan Vihara Jelang Imlek Belum Tersedia Regional Wujudkan Rumah Impian: Pendaftaran KPR Kini dalam Genggaman dengan BTN Mobile Prelude Mengungkap Akal-akalan Aturan Pemilu Melalui Lensa Pareto

Wikipedia:Lua

40px-Info_non-talk.svg.png?utm_source=id.wikipedia.org&utm_campaign=parser&utm_content=thumbnailIni adalah halaman informasi yang menerangkan konsensus komunal mengenai aspek norma dan praktik Wikipedia. Meski bukan berupa kebijakan atau pedoman, halaman ini bertujuan melengkapi atau mengklarifikasi praktik dan kebijakan Wikipedia yang lain. Mohon patuhi kebijakan atau pedoman yang relevan jika ada ketidaksamaan antara halaman tersebut dan halaman ini.
Pintas:
WP:Lua
WP:LUA
Struktur data Wikipedia
Ruang nama
Ruang nama subjekRuang nama pembicaraan
0 (Utama/Artikel)Pembicaraan 1
2 PenggunaPembicaraan Pengguna 3
4 WikipediaPembicaraan Wikipedia 5
6 BerkasPembicaraan Berkas 7
8 MediaWikiPembicaraan MediaWiki 9
10 TemplatPembicaraan Templat 11
12 BantuanPembicaraan Bantuan 13
14 KategoriPembicaraan Kategori 15
100 PortalPembicaraan Portal 101
126 MOSPembicaraan MOS 127
710 TimedTextTimedText talk 711
828 ModulPembicaraan Modul 829
2600 Topik 2601
Tidak digunakan lagi
2300 [[Wikipedia:Perkakas|]] 2301
2302 [[Wikipedia:Perkakas|]] 2303
Tidak dipasang
90 ThreadThread talk 91
92 SummarySummary talk 93
108 Buku 109
118 Draf 119
442 CourseCourse talk 443
444 InstitutionInstitution talk 445
446 Program pendidikan 447
Dalam fitur beta
1074 StoryPembicaraan Story 1075
Ruang nama virtual
-1 Istimewa
-2 Media
Daftar saat ini (panggilan API)

Lua adalah bahasa pemrograman yang sekarang tersedia melalui ekstensi MediaWiki Scribunto, di Wikipedia bahasa Indonesia. Kode Lua dapat digunakan pada templat-templat wiki dengan fungsi scribunto "{{#invoke:}}". Ekstensi ini mendukung Lua versi 5.1 hinggaJuli 2015[update].

Kode sumber Lua disimpan di halaman bernama modul (misalnya Modul:Pisang). Kode-kode tunggal ini dapat dipanggil (dengan perintah {{#invoke:}}) di halaman templat (contoh pada halaman Modul:Pisang/doc menggunakan kode {{#invoke:Pisang|hello}} untuk menghasilkan teks "Hello, world!").

Menjalankan modul

Modul dapat dijalankan di halaman wiki normal menggunakan fungsi parser #invoke. Sintaks #invoke mirip dengan sintaks templat, tetapi terdapat beberapa perbedaan. Perbedaan yang paling penting adalah Anda memerlukan nama fungsi. Sebuah fungsi adalah satu set perintah yang mengambil nilai input, memprosesnya, dan menghasilkan suatu nilai output.[1] Sistemnya sangat mirip dengan templat: Anda memasukan argumen, kemudian modul akan memprosesnya, dan Anda akan mendapat hasil keluaran. Bagaimanapun, Anda dapat mendefinisikan beberapa fungsi dalam satu modul, sedangkan templat, Anda hanya dapat menggunakan satu fungsi untuk satu halaman.

Tambahan lagi, Anda tidak dapat menjalankan modul secara langsung — Anda hanya dapat menjalankan salah satu fungsi modul. Modul hanyalah tempat untuk menampung fungsi, dan tidak bisa bekerja sendiri. Jadi ada dua alasan mengapa kita perlu memasukan nama fungsi: kita tidak bisa menjalankan modul tanpanya, dan tanpa merinci nama fungsi, Lua tidak akan tahu fungsi mana yang akan kita jalankan.

Cara paling sederhana untuk menjalankan lua dari halaman wiki adalah:

{{#invoke:<Module name>|<Function name>|(optional) param1 | param2...}}, for example:

Teks Wiki Hasil
{{#invoke:Example|hello}} Hello World!

Menggunakan argumen

Argumen pada modul bekerja dengan cara yang sama seperti pada templat, tetapi setelah karakter pipa pertama selalu berisi nama fungsi; argumen pertama adalah teks setelah tanda "pipa" kedua.

{{#invoke:module name|function name|first positional argument|second positional argument|named argument = value}}

Sebagai contoh, pada Modul:PisangArgs, fungsi "hai" menyapa orang yang berbeda tergantung pada argumen pertama. Seperti ini:

  • {{#invoke:PisangArgs|hai|Om Joko}} → Hai, Om Joko!
  • {{#invoke:PisangArgs|hai|Mbah Darmo}} → Hai, Mbah Darmo!

Pada modul PisangArgs juga memiliki fungsi bernama "hitung_semua" yang menggunakan argumen bernama pisang dan donat untuk menghitung jumlah pisang dan donat yang kita miliki. Seperti ini:

  • {{#invoke:PisangArgs|hitung_semua|donat=13|pisang=21}} → Aku punya 21 pisang dan 13 donat
  • {{#invoke:PisangArgs|hitung_semua|pisang=17|donat=6}} → Aku punya 17 pisang dan 6 donat

Modul memiliki halaman dokumentasi yang akan menjelaskan tentang argumen dan cara penggunaannya.

Contoh modul

  • Modul:Pisang: Skrip paling sederhana, berisi fungsi tunggal tanpa argumen.
  • Modul:PisangArgs: Mendemonstrasikan bagaimana mengakses dan menggunakan parameter.

Tentang Lua

Lihat juga Brad Jorsch's short presentation for a basic example of how to convert a wikitext template into a Lua module.

Lua adalah bahasa skrip yang dapat digunakan untuk menganalisis data, mengeksekusi suatu ekspresi, dan memformat hasil menggunakan fungsi atau pemrograman berorientasi objek. Meskipun beberapa skrip Lua dibuat sederhana, untuk mempermudah pemahaman, Lua memungkinan juga struktur kompleks termasuk tabel, fungsi dinamis, susunan asosiatif dimana indeks subskrip bisa berupa kata atau nomor indeks. Lua juga mendukung rekursi fungsi 're-nested', sehingga pemeliharaan harus dilakukan untuk menghindari kompleksitas yang berlebihan yang mengakibatkan pengguna lain tidak akan mengerti bagaimana mengatur modul Lua. Berikut ini adalah contoh kode sumber Lua untuk fungsi hello world yang terdapat di modul Modul:HelloWorld:

localp={};--Setiap modul Lua di Wikipedia harus dimulai dengan mendefinisikan
--sebuah variabel yang akan memegang fungsinya yang dapat diakses
--secara eksternal.
--Variabel-variabel tersebut dapat dinamai sesuai keinginan Anda
--dan mungkin mengandung bermacam-macam data maupun fungsi juga.
p.hello=function(frame)--Menambahkan sebuah fungsi ke "p".
--Fungsi tersebut dapat dipanggil di Wikipedia
--melalui perintah #invoke.
--"frame" akan berisi data yang dikirim Wikipedia
--ketika fungsi ini dijalankan.
-- 'Hello' adalah nama yang Anda pilih. Nama yang sama dirujuk ketika modul digunakan.

localstr="Hello World!"--Mendeklarasikan variabel lokal dan mengaturnya
--sama dengan "Hello World!"

returnstr--Pemberitahuan untuk keluar dari fungsi ini dan mengirimkan
--informasi di "str" kembali ke Wikipedia.

end--akhir dari fungsi "hello"
functionp.hello_to(frame)--Menambahkan fungsi lain
localname=frame.args[1]--Untuk mengakses argumen yang diteruskan ke modul,
--gunakan `frame.args`, `frame.args[1]` merujuk
--kepada parameter tanpa nama pertama yang diberikan
--kepada modul.
return"Halo, "..name.."!"-- `..` menggabungkan string. Ini akan memunculkan
-- salam yang disesuaikan dengan nama yang diberikan,
-- seperti "Halo, Fred!"
end
functionp.count_fruit(frame)
localnum_bananas=frame.args.bananas-- Argumen bernama ({{#invoke:Example|count_fruit|foo=bar}}) yang juga 
localnum_apples=frame.args.apples-- diakses dengan mengindeks `frame.args` dari nama (`frame.args["bananas"]`, or)
-- ekuivalen dengan `frame.args.bananas`.
return'Aku punya '..num_bananas..' pisang dan '..num_apples..' apel'
-- Sama seperti yang di atas, menggabungkan
-- sekelompok string bersama-sama untuk
-- menghasilkan sebuah kalimat berdasarkan
-- argumen yang diberikan.
end

returnp--Semua modul diakhiri dengan me-return variabelnya yang berisi fungsinya ke Wikipedia.
-- Sekarang kita bisa gunakan modulnya dengan memanggil {{#invoke: Example | hello }},
-- {{#invoke: Example | hello_to | foo }}, atau {{#invoke:Example|count_fruit|bananas=5|apples=6}}
-- Perhatikan bahwa bagian pertama invoke adalah nama halaman wiki dari Modul,
-- dan bagian kedua adalah nama salah satu fungsi yang melekat kepada 
-- variabel yang Anda return-kan.

-- Fungsi "print" tidak diperbolehkan di Wikipedia. Semua output diselesaikan
-- melalui string "returned" (dikembalikan) ke Wikipedia.

A sample of Lua is highlighted by tag <syntaxhighlight>...</syntaxhighlight> terletak diantara kode sumber Lua. Untuk melihat beberapa contoh yang lebih kompleks, lihat artikel: "Lua (bahasa pemrograman)".

Untuk instruksi tentang penggunaan Lua dalam lingkup MediaWiki (dan tentu saja Wikipedia), lihat mw:Extension:Scribunto/Lua reference manual.

Catatan

  1. ↑ Anda juga dapat menggunakan lebih dari satu nilai keluaran, tapi bukan berarti bahwa fungsi yang melakukanya dapat diakses dari sebuah halaman wiki normal.

Lihat pula

Prinsip dasar Wikipedia

 

Pancapilar
Dasar-dasar Wikipedia

Pernyataan Jimbo
Prinsip dasar dalam sejarah

Aturan yang disederhanakan
Ringkasan konvensi Wikipedia

Prinsip dasar proyek
Berlaku di semua proyek
(di meta-wiki)

Daftar
Daftar lengkap kebijakan resmi

 

Berkontribusi
Kebijakan
Pedoman
Menyunting
Pedoman
Memelihara
Kebijakan
Pedoman
Bertingkah laku
Kebijakan
Pedoman
Hukum
Kebijakan
Proposal
Konten
Pedoman
Rumah tangga
Kebijakan
Pedoman
Untuk mendapat bantuan teknis pribadi, kunjungi Warung Kopi, Beranda Bantuan, Warung Kopi (Teknis), halaman pembicaraan atau Komunitas WBI.
Tanya jawab teknis
Terkait halaman istimewa
Markah wiki
Pranala & beda/diff
Audio, video dan berkas
Grafik lainnya
Templat
dan modul Lua
Stuktur data
HTML dan CSS
Kustomisasi dan peralatan
Penyuntingan otomatis
Panduan menulis
Membuat sebuah artikel
Mari kita mulai
Tata letak
Struktur visual artikel
Artikel yang sempurna
Daftar periksa komponen artikel
Pengembangan artikel
Tahap yang disarankan untuk sebuah artikel
Pedoman gaya
Pedoman gaya menulis komprehensif
Menulis artikel yang lebih baik
Kumpulan nasihat
Daftar Wikipedia dalam berbagai bahasa di dunia menurut jumlah artikel
6.000.000+
2.000.000+
1.000.000+
100.000
–999.999
10.000
–99.999
>10.000
Konten disalin dari Wikipedia Bahasa Indonesia (lisensi CC BY-SA) Lihat versi asli di Wikipedia

Rekomendasi Pilihan