Lompat ke isi

Bantuan:Ungkapan bersyarat: Perbedaan antara revisi

Dari Wikipedia bahasa Indonesia, ensiklopedia bebas
Konten dihapus Konten ditambahkan
Kenrick95 (bicara | kontrib)
Tidak ada ringkasan suntingan
RaFaDa20631 (bicara | kontrib)
 
(17 revisi perantara oleh 10 pengguna tidak ditampilkan)
Baris 1: Baris 1:
{{update}}
:''Lihat versi terbaru di {{en}}[[:m:Help:ParserFunctions]]''
{{Templat:Bantuan:Bantuan/seri tab}}<!-- templat ini hanya digunakan untuk halaman Bantuan: , bukan Wikipedia:-->
{{pintas|[[B:PF]]}}
{{Templat:Bantuan:Bantuan/sidebar}}<!-- templat ini hanya digunakan untuk halaman Bantuan: , bukan Wikipedia:-->
:''Lihat versi terbaru di {{en}} [[:mw:Help:ParserFunctions]]''
{{pintas|WP:PF}}
'''''ParserFunctions''''' (fungsi-[[Bantuan:fungsi parser|fungsi parser]]) adalah sekumpulan fungsi-fungsi logika dan kalkulasi dalam [[MediaWiki]]: [[mw:Extension:ParserFunctions]]. Sejak pertengahan April 2006 piranti lunak MediaWiki dengan menggunakan Sintaks-Wiki memperbolehkan digunakannya beberapa konstruksi suatu bahasa pemrograman untuk diterapkan dalam templat.
'''''ParserFunctions''''' (fungsi-[[Bantuan:fungsi parser|fungsi parser]]) adalah sekumpulan fungsi-fungsi logika dan kalkulasi dalam [[MediaWiki]]: [[mw:Extension:ParserFunctions]]. Sejak pertengahan April 2006 piranti lunak MediaWiki dengan menggunakan Sintaks-Wiki memperbolehkan digunakannya beberapa konstruksi suatu bahasa pemrograman untuk diterapkan dalam templat.


Baris 7: Baris 10:
Berbeda dengan fungsi parser biasa yang bisa tidak menggunakan tanda pagar "'''#'''", penggunaan ParserFunctions harus memakai tanda pagar di awal fungsi. ParserFunctions memiliki sintaks seperti berikut:
Berbeda dengan fungsi parser biasa yang bisa tidak menggunakan tanda pagar "'''#'''", penggunaan ParserFunctions harus memakai tanda pagar di awal fungsi. ParserFunctions memiliki sintaks seperti berikut:


*: <tt><nowiki>{{#namafungsi: argumen1 | argumen2 | argumen3..}}</nowiki></tt>
*: <code><nowiki>{{#namafungsi: argumen1 | argumen2 | argumen3..}}</nowiki></code>


Mohon perhatikan bahwa ekstensi ini harus dipasang secara manual, dan tidak langsung terpasang ketika sebuah MediaWiki baru dipasang. Lihat [[Istimewa:Versi]] untuk mengetahui apakan ekstensi ini sudah dipasang atau belum.
Mohon perhatikan bahwa ekstensi ini harus dipasang secara manual, dan tidak langsung terpasang ketika sebuah MediaWiki baru dipasang. Lihat [[Istimewa:Versi]] untuk mengetahui apakan ekstensi ini sudah dipasang atau belum.


== Fungsi-fungsi ==
== Fungsi-fungsi ==
Sekarang ini, modul ini memiliki sepuluh [[fungsi]] yaitu:
Sekarang ini, modul ini memiliki sepuluh [[fungsi]] yaitu:
<tt>[[##expr:|expr]]</tt>,
<code>[[##expr:|expr]]</code>,
<tt>[[##if:|if]]</tt>,
<code>[[##if:|if]]</code>,
<tt>[[##ifeq:|ifeq]]</tt>,
<code>[[##ifeq:|ifeq]]</code>,
<tt>[[##ifexist:|ifexist]]</tt>,
<code>[[##ifexist:|ifexist]]</code>,
<tt>[[##ifexpr:|ifexpr]]</tt>,
<code>[[##ifexpr:|ifexpr]]</code>,
<tt>[[##iferror:|iferror]]</tt>,
<code>[[##iferror:|iferror]]</code>,
<tt>[[##switch:|switch]]</tt>,
<code>[[##switch:|switch]]</code>,
<tt>[[##time:|time]]</tt>,
<code>[[##time:|time]]</code>,
<tt>[[##rel2abs:|rel2abs]]</tt>, dan
<code>[[##rel2abs:|rel2abs]]</code>, dan
<tt>[[##titleparts:|titleparts]]</tt>.
<code>[[##titleparts:|titleparts]]</code>.


<h3 style="background: beige">#expr:</h3>
<h3 style="background: beige">#expr:</h3>
sintaks:
sintaks:
*: {{ft|#expr|ekspresi}}
*: {{ft|#expr|ekspresi}}


Fungsi <tt>expr</tt> digunakan untuk menghitung perhitungan (ekspresi) matematika didasarkan atas permutasi dari angka-angka (atau variabel/parameter yang diterjemahkan dalam angka-angka) dan operator. Fungsi ini tidak berlaku untuk string. (gunakan [[##ifeq|ifeq]] untuk string). Keakuratan dan format angka berbeda-beda tergantung dari sistem operasi peladen.
Fungsi <code>expr</code> digunakan untuk menghitung perhitungan (ekspresi) matematika didasarkan atas permutasi dari angka-angka (atau variabel/parameter yang diterjemahkan dalam angka-angka) dan operator. Fungsi ini tidak berlaku untuk string. (gunakan [[##ifeq|ifeq]] untuk string). Keakuratan dan format angka berbeda-beda tergantung dari sistem operasi peladen.


Dalam perhitungan kompleks, operator dihitung dari kiri ke kanan dengan preseden tertentu:
Dalam perhitungan kompleks, operator dihitung dari kiri ke kanan dengan preseden tertentu:
# pengelompokan (tanda kurung);
# pengelompokan (tanda kurung);
# ''unary'' (tanda +/- dan NOT);
# ''unary'' (tanda +/- dan NOT);
Baris 40: Baris 43:
# logical OR.
# logical OR.


Jika menghitung sebagai boolean, "0" dianggap FALSE (salah) dan karakter lain selain spasi "TRUE" (benar) (TRUE di boolean dilambangkan sebagai "{{#expr: 30 and 7}}").<!--
Jika menghitung sebagai boolean, "0" dianggap FALSE (salah) dan karakter lain selain spasi "TRUE" (benar) (TRUE di boolean dilambangkan sebagai "{{#expr: 30 and 7}}").<!--


Scientific notation with <tt>E</tt> plus exponent is '''meanwhile''' supported also on input for expressions (see [[Help:Calculation]]).
Scientific notation with <code>E</code> plus exponent is '''meanwhile''' supported also on input for expressions (see [[Help:Calculation]]).
-->
-->


Baris 81: Baris 84:
| {{#expr:30 / 7}}<br />{{#expr:30 div 7}}
| {{#expr:30 / 7}}<br />{{#expr:30 div 7}}
|-
|-
! <tt>+</tt>
! <code>+</code>
| Penjumlahan
| Penjumlahan
| {{ft|#expr|30 + 7}}
| {{ft|#expr|30 + 7}}
| {{#expr:30 + 7}}
| {{#expr:30 + 7}}
|-
|-
! <tt>-</tt>
! <code>-</code>
| Pengurangan
| Pengurangan
| {{ft|#expr|30 - 7}}
| {{ft|#expr|30 - 7}}
Baris 95: Baris 98:
! not
! not
| ''Unary'' NOT<br />logical NOT
| ''Unary'' NOT<br />logical NOT
| {{ft|#expr|not 0 * 7}}<br />{{ft|#expr|not 30 + 7}}
| {{ft|#expr|not 0 * 7}}<br />{{ft|#expr|not 30 + 7}}
| {{#expr: not 0 * 7}}<br />{{#expr:not 30+7}}
| {{#expr: not 0 * 7}}<br />{{#expr:not 30+7}}
|-
|-
Baris 119: Baris 122:
! &lt;&gt;<br />!=
! &lt;&gt;<br />!=
| Pertidaksamaan, ''logical exclusive or''
| Pertidaksamaan, ''logical exclusive or''
| {{ft|#expr|30 &lt;&gt; 7}}<br />{{ft|#expr|<nowiki>1 != 0</nowiki>}}
| {{ft|#expr|30 &lt;&gt; 7}}<br />{{ft|#expr|<nowiki>1 != 0</nowiki>}}
| {{#expr:30 <> 7}}<br />{{#expr:1 != 0}}
| {{#expr:30 <> 7}}<br />{{#expr:1 != 0}}
|-
|-
Baris 180: Baris 183:


<h3 style="background: beige">#if:</h3>
<h3 style="background: beige">#if:</h3>
sintaks:
sintaks:
*: {{ft|#if|<nowiki><string kondisi> | <kode jika benar></nowiki>}}
*: {{ft|#if|<nowiki><string kondisi> | <kode jika benar></nowiki>}}
atau bisa juga dilihat dalam pola ''if-then-else'' sebagai berikut:
atau bisa juga dilihat dalam pola ''if-then-else'' sebagai berikut:
Baris 187: Baris 190:
Fungsi <code>if</code> bekerja seperti ''if-then-else'' (jika-maka-jika_tidak). Kondisi yang diberikan akan selalu benar kecuali dikosongkan atau hanya berisi spasi. Kode di argumen kedua akan dijalankan jika nilai fungsinya benar, dan argumen ketiga akan dijalankan jika nilai fungsinya salah (salah satu atau keduanya dapat kosong, dan kode-jika-salah dapat tidak ditulis sama sekali).
Fungsi <code>if</code> bekerja seperti ''if-then-else'' (jika-maka-jika_tidak). Kondisi yang diberikan akan selalu benar kecuali dikosongkan atau hanya berisi spasi. Kode di argumen kedua akan dijalankan jika nilai fungsinya benar, dan argumen ketiga akan dijalankan jika nilai fungsinya salah (salah satu atau keduanya dapat kosong, dan kode-jika-salah dapat tidak ditulis sama sekali).


Perbandingan yang dilakukan adalah untuk teks, bukan ekspresi matematika, jadi perbandingan matematika akan selalu dianggap benar; Contoh: <tt><nowiki>{{#if: 1 = 2|benar|salah}}</nowiki></tt> akan menghasilkan "benar", karena [[string]] "1 = 2" tidak merupakan string kosong. Untuk membandingkan string gunakan [[##ifeq|ifeq]]. Sedangkan untuk membandingkan angka, gunakan [[#ifexpr|ifexpr]].
Perbandingan yang dilakukan adalah untuk teks, bukan ekspresi matematika, jadi perbandingan matematika akan selalu dianggap benar; Contoh: <code><nowiki>{{#if: 1 = 2|benar|salah}}</nowiki></code> akan menghasilkan "benar", karena [[string]] "1 = 2" tidak merupakan string kosong. Untuk membandingkan string gunakan [[##ifeq|ifeq]]. Sedangkan untuk membandingkan angka, gunakan [[#ifexpr|ifexpr]].
<---
<---
It is not possible to distinguish between an undefined parameter in a template and a blank one (it is possible with <tt>[[#.23ifexpr:|#ifexpr]]</tt>).
It is not possible to distinguish between an undefined parameter in a template and a blank one (it is possible with <code>[[#.23ifexpr:|#ifexpr]]</code>).
-->
-->


Baris 223: Baris 226:
Isu: (belum diterjemahkan)
Isu: (belum diterjemahkan)
<!--
<!--
* Text between &lt;nowiki&gt; tags is temporarily replaced by a unique code. This affects comparisons: {{ft|#ifeq|<nowiki>&lt;nowiki&gt;abc&lt;/nowiki&gt; | &lt;nowiki&gt;abc&lt;/nowiki&gt; | equal | not equal</nowiki>}} returns "{{#ifeq:<nowiki>abc</nowiki> | <nowiki>abc</nowiki> | equal | not equal}}".
* Text between &lt;nowiki&gt; tags is temporarily replaced by a unique code. This affects comparisons: {{ft|#ifeq|<nowiki>&lt;nowiki&gt;abc&lt;/nowiki&gt; | &lt;nowiki&gt;abc&lt;/nowiki&gt; | equal | not equal</nowiki>}} returns "{{#ifeq:<nowiki>abc</nowiki> | <nowiki>abc</nowiki> | equal | not equal}}".
-->
-->


Baris 237: Baris 240:


Contoh:
Contoh:
<!--
<!--
The usual case-sensitivity applies: if a page exists then also a non-canonical name for that page gives a positive result. E.g. on Meta:
The usual case-sensitivity applies: if a page exists then also a non-canonical name for that page gives a positive result. E.g. on Meta:
:{{ft|#ifexist|<nowiki>Bugs|Foo|RFC 3092</nowiki>}} gives {{#ifexist:Bugs|Foo|RFC 3092}}, because [[Bugs]] exists
:{{ft|#ifexist|<nowiki>Bugs|Foo|RFC 3092</nowiki>}} gives {{#ifexist:Bugs|Foo|RFC 3092}}, because [[Bugs]] exists
Baris 267: Baris 270:
Contoh:
Contoh:
:{{ft|#ifexpr| 10 > 9<nowiki> | ya | tidak</nowiki>}} {{#ifexpr: 10 > 9|ya|tidak}} -- Karena 10 lebih besar dari 9
:{{ft|#ifexpr| 10 > 9<nowiki> | ya | tidak</nowiki>}} {{#ifexpr: 10 > 9|ya|tidak}} -- Karena 10 lebih besar dari 9
<!--
<!--
;At the moment the ''else text'' is also returned for an empty expression:
;At the moment the ''else text'' is also returned for an empty expression:
:{{ft|#ifexpr|<nowiki>{{ns:0}}|Toast| '''or else'''</nowiki>}} gives {{#ifexpr: {{ns:0}}|Toast|'''or else'''}}
:{{ft|#ifexpr|<nowiki>{{ns:0}}|Toast| '''or else'''</nowiki>}} gives {{#ifexpr: {{ns:0}}|Toast|'''or else'''}}
Baris 279: Baris 282:
:{{ft|#if|{{ft sub|#ifexpr|<nowiki>a=b</nowiki>}}<nowiki> | wrong | correct</nowiki>}} {{#if:{{#ifexpr: a=b}}|wrong|correct}} ("a=b" not allowed, to compare strings use #ifeq)
:{{ft|#if|{{ft sub|#ifexpr|<nowiki>a=b</nowiki>}}<nowiki> | wrong | correct</nowiki>}} {{#if:{{#ifexpr: a=b}}|wrong|correct}} ("a=b" not allowed, to compare strings use #ifeq)


Example of an application: <nowiki>{{ #if: {{#ifexpr: {{PAGENAME}} }} || </nowiki>''action if PAGENAME is a number (or correct numeric expression)'' }}
Example of an application: <nowiki>{{ #if: {{#ifexpr: {{PAGENAME}} }} || </nowiki>''action if PAGENAME is a number (or correct numeric expression)'' }}


For another application, see also {{tim|evalns}}.
For another application, see also {{tim|evalns}}.
-->
-->


Baris 300: Baris 303:
}}
}}


<!--
<!--
Note that it's also possible to have "fall through" for values (reducing the need to duplicate results). For example:
Note that it's also possible to have "fall through" for values (reducing the need to duplicate results). For example:


Baris 365: Baris 368:
Fungsi <code>time</code> adalah untuk pemformatan waktu dan tanggal ('''hanya untuk waktu sejak 1 Jan 1970!'''). Jika "waktu" tidak diberikan, fungsi ini akan memakai waktu saat artikel yang bersangkutan dikonversi ke [[HTML]]. Dikarenakan adanya ''[[cache]]'', halaman yang memakai fungsi ini perlu untuk diperbaharui dengan ''[[purge]]'' atau ''null edit''.
Fungsi <code>time</code> adalah untuk pemformatan waktu dan tanggal ('''hanya untuk waktu sejak 1 Jan 1970!'''). Jika "waktu" tidak diberikan, fungsi ini akan memakai waktu saat artikel yang bersangkutan dikonversi ke [[HTML]]. Dikarenakan adanya ''[[cache]]'', halaman yang memakai fungsi ini perlu untuk diperbaharui dengan ''[[purge]]'' atau ''null edit''.
<!--
<!--
The ''format'' parameter is a format string similar to the one used by [http://www.php.net/date PHP's date].
The ''format'' parameter is a format string similar to the one used by [http://www.php.net/date PHP's date].


The following format codes have the same meaning as in PHP. Significant differences from PHP's behaviour, apart from internationalisation (i.e. language and locale differences), should be considered an error of ParserFunctions and should be reported. All numeric format codes return numbers formatted according to the local language, use the xn code described below to override this.
The following format codes have the same meaning as in PHP. Significant differences from PHP's behaviour, apart from internationalisation (i.e. language and locale differences), should be considered an error of ParserFunctions and should be reported. All numeric format codes return numbers formatted according to the local language, use the xn code described below to override this.
Baris 440: Baris 443:
| {{#time:D}}
| {{#time:D}}
|-
|-
| <code>l</code>
| l
| Nama hari lengkap.
| Nama hari lengkap.
| Senin hingga Minggu
| Senin hingga Minggu
Baris 448: Baris 451:
| Tanggal dalam seminggu (menurut minggu ISO 8601).
| Tanggal dalam seminggu (menurut minggu ISO 8601).
| 1 (untuk Senin) hingga 7 (untuk Minggu)
| 1 (untuk Senin) hingga 7 (untuk Minggu)
| {{#time:N}}<!--
| {{#time:N}}<!--
|-
|-
| w
| w
Baris 463: Baris 466:
|-
|-
| A
| A
| Sama dengan kode <tt>a</tt> di atas, dengan huruf besar
| Sama dengan kode <code>a</code> di atas, dengan huruf besar
| AM atau PM
| AM atau PM
| {{#time:A}}
| {{#time:A}}
Baris 530: Baris 533:


{| cellpadding="6" style="border:1px solid #C0C0C0; border-collapse:collapse;"
{| cellpadding="6" style="border:1px solid #C0C0C0; border-collapse:collapse;"
! Code
! Code
! Description
! Description
|--------------
|--------------
Baris 554: Baris 557:
| The full month name in Iranian calendar
| The full month name in Iranian calendar
|--------------
|--------------
| xin
| xin
| The month number in Iranian calendar
| The month number in Iranian calendar
|--------------
|--------------
Baris 560: Baris 563:
| The full year in Iranian calendar
| The full year in Iranian calendar
|--------------
|--------------
| xjj
| xjj
| The day of the month in Hebrew calendar
| The day of the month in Hebrew calendar
|--------------
|--------------
Baris 566: Baris 569:
| The full month name in Hebrew calendar
| The full month name in Hebrew calendar
|--------------
|--------------
| xjx
| xjx
| Genitive form of the month name in Hebrew calendar
| Genitive form of the month name in Hebrew calendar
|--------------
|--------------
| xjn
| xjn
| The month number in Hebrew calendar
| The month number in Hebrew calendar
|--------------
|--------------
| xjY
| xjY
| The full year in Hebrew calendar
| The full year in Hebrew calendar
|--------------
|--------------
| xkY
| xkY
| The full year in Thai solar calendar
| The full year in Thai solar calendar
|}
|}
Baris 588: Baris 591:
Kode-kode format tambahan mungkin akan ditambahkan di masa mendatang. Fungsi "time" juga mengenal format waktu relatif dan absolut seperti "11 Desember" dan atau "+10 hours" yang bisa digunakan dalam konversi zona waktu.
Kode-kode format tambahan mungkin akan ditambahkan di masa mendatang. Fungsi "time" juga mengenal format waktu relatif dan absolut seperti "11 Desember" dan atau "+10 hours" yang bisa digunakan dalam konversi zona waktu.


Jika nilai dari eskpresi menghasilkan nol, maka <else> akan dikembalikan, selain itu <then> akan dikembalikan. <ekspresi> sama dengan pemakaian pada ''function'' <tt>expr</tt>. ''Function'' ini merupakan bentuk pendek dari <tt>{{#if:{{#expr}}|..|..}}</tt>
Jika nilai dari eskpresi menghasilkan nol, maka <else> akan dikembalikan, selain itu <then> akan dikembalikan. <ekspresi> sama dengan pemakaian pada ''function'' <code>expr</code>. ''Function'' ini merupakan bentuk pendek dari <code>{{#if:{{#expr}}|..|..}}</code>


Contoh:
Contoh:
* {{ft|#time|<nowiki>l j F Y | 20070304</nowiki>}} menghasilkan "{{#time:l j F Y|20070304}}"
* {{ft|#time|<nowiki>l j F Y | 20070304</nowiki>}} menghasilkan "{{#time:l j F Y|20070304}}"
* {{ft|#time|<nowiki>l j F Y | 2007-03-04</nowiki>}} menghasilkan "{{#time:l j F Y|2007-03-04}}"
* {{ft|#time|<nowiki>l j F Y | 2007-03-04</nowiki>}} menghasilkan "{{#time:l j F Y|2007-03-04}}"
Baris 602: Baris 605:
* {{ft|#time|<nowiki>H:i | 8:15 +6 hours</nowiki>}} menghasilkan "{{#time:H:i|8:15 +6 hours}}"
* {{ft|#time|<nowiki>H:i | 8:15 +6 hours</nowiki>}} menghasilkan "{{#time:H:i|8:15 +6 hours}}"
* {{ft|#time|<nowiki>m/Y | -17 months</nowiki>}} menghasilkan "{{#time:m/Y|-17 months}}" (17 bulan yang lalu)
* {{ft|#time|<nowiki>m/Y | -17 months</nowiki>}} menghasilkan "{{#time:m/Y|-17 months}}" (17 bulan yang lalu)
<!--
<!--
In combination with [[Help:Date formatting and linking|user-specified date formatting]]:
In combination with [[Help:Date formatting and linking|user-specified date formatting]]:
*{{ft|#time|<nowiki>l [[j F]] [[Y]] | 4 March 2007</nowiki>}} gives "{{#time:l [[j F]] [[Y]] | 4 March 2007}}"
*{{ft|#time|<nowiki>l [[j F]] [[Y]] | 4 March 2007</nowiki>}} gives "{{#time:l [[j F]] [[Y]] | 4 March 2007}}"
Baris 613: Baris 616:


Use quotes to surround the link code:
Use quotes to surround the link code:
*{{ft|#time|<nowiki>l [[F j|"Fourth of" F]] [[Y]] | 4 March 2007</nowiki>}} gives "{{#time:l [[F j|"Fourth of" F]] [[Y]] | 4 March 2007}}"
*{{ft|#time|<nowiki>l [[F j|"Fourth of" F]] [[Y]] | 4 March 2007</nowiki>}} gives "{{#time:l [[F j|"Fourth of" F]] [[Y]] | 4 March 2007}}"
-->
-->


Jangkauan:
Jangkauan:
<!--
<!--
The range of proper functioning is 01 January 1970 00:00:01 through 19 January 2038 03:14:07, or 1 through <math>2^{31}-1</math> seconds after the start of 1970 (the [[w:en:Year 2038 problem|Year 2038 problem]]). For arbitrary dates that may exceed this range, use [[:Category:Date computing template|date computing templates]] such as {{tim|dowa}} instead.
The range of proper functioning is 01 January 1970 00:00:01 through 19 January 2038 03:14:07, or 1 through <math>2^{31}-1</math> seconds after the start of 1970 (the [[w:en:Year 2038 problem|Year 2038 problem]]). For arbitrary dates that may exceed this range, use [[:Category:Date computing template|date computing templates]] such as {{tim|dowa}} instead.


Baris 623: Baris 626:


*{{xpd|#time:c|5 April 1967}}
*{{xpd|#time:c|5 April 1967}}
*{{xpd|#time:c|5 April 1867}}
*{{xpd|#time:c|5 April 1867}}
-->
-->


Tanggal tak lengkap
Tanggal tak lengkap
<!--
<!--
*{{evd|#time:c|2007}} (not a year but a time: today, 20:07)
*{{evd|#time:c|2007}} (not a year but a time: today, 20:07)
*{{evd|#time:c|1997}} (19:97 is not a valid time, therefore interpreted as year, giving the current date and time in that year)
*{{evd|#time:c|1997}} (19:97 is not a valid time, therefore interpreted as year, giving the current date and time in that year)
Baris 638: Baris 641:


29 Februari:
29 Februari:
<!--
<!--
Caution should be taken with February 29, as <nowiki>{{#time:j|February 29}}</nowiki> will vary with the year. For example
Caution should be taken with February 29, as <nowiki>{{#time:j|February 29}}</nowiki> will vary with the year. For example


Baris 646: Baris 649:


Zona Waktu
Zona Waktu
<!--
<!--
Give UTC for a specified time, expressed in time zone UTC-3:
Give UTC for a specified time, expressed in time zone UTC-3:
*{{evd|#time:H:i:s|7:00:00 -0300}}
*{{evd|#time:H:i:s|7:00:00 -0300}}
Baris 672: Baris 675:


Contoh:
Contoh:
* Di dalam <tt>Bantuan:Foo/bar</tt>, <tt><nowiki>{{#rel2abs|../baz}}</nowiki></tt> menghasilkan <tt>Bantuan:Foo/baz</tt>
* Di dalam <code>Bantuan:Foo/bar</code>, <code><nowiki>{{#rel2abs|../baz}}</nowiki></code> menghasilkan <code>Bantuan:Foo/baz</code>
* Di dalam <tt>Bantuan:Foo</tt>, <tt><nowiki>{{#rel2abs|../baz}}</nowiki></tt> menghasilkan <tt>baz</tt>
* Di dalam <code>Bantuan:Foo</code>, <code><nowiki>{{#rel2abs|../baz}}</nowiki></code> menghasilkan <code>baz</code>
* Di dalam <tt>Bantuan:Foo</tt>, <tt><nowiki>{{#rel2abs|../../baz}}</nowiki></tt> menghasilkan <tt>Error: Invalid depth in path: "Help:Foo/../../baz" (tried to access a node above the root node)"</tt>
* Di dalam <code>Bantuan:Foo</code>, <code><nowiki>{{#rel2abs|../../baz}}</nowiki></code> menghasilkan <code>Error: Invalid depth in path: "Help:Foo/../../baz" (tried to access a node above the root node)"</code>
* <tt><nowiki>{{#rel2abs|../baz &#124; Bantuan:Bar/foo}}</nowiki></tt> menghasilkan <tt>Bantuan:Bar/baz</tt>
* <code><nowiki>{{#rel2abs|../baz &#124; Bantuan:Bar/foo}}</nowiki></code> menghasilkan <code>Bantuan:Bar/baz</code>
* <tt><nowiki>{{#rel2abs|Bantuan:Foo/bar/../baz}}</nowiki></tt> menghasilkan <tt>Bantuan:Foo/baz</tt>
* <code><nowiki>{{#rel2abs|Bantuan:Foo/bar/../baz}}</nowiki></code> menghasilkan <code>Bantuan:Foo/baz</code>


<h3 style="background: beige">#titleparts:</h3>
<h3 style="background: beige">#titleparts:</h3>
Baris 684: Baris 687:
* Ruang Nama untuk ''namahalaman'' dikonversikan ke Ruang Nama bahasa lokal
* Ruang Nama untuk ''namahalaman'' dikonversikan ke Ruang Nama bahasa lokal


Fungsi <code>titleparts</code> ini akan menghasilkan bagian dari suatu judul halaman sesuai tingkat yang diisi pada parameter.
Fungsi <code>titleparts</code> ini akan menghasilkan bagian dari suatu judul halaman sesuai tingkat yang diisi pada parameter.


Contoh:
Contoh:
:<tt><nowiki>{{#titleparts:ABC/DEF/GHI|1}}</nowiki></tt> menghasilkan <tt>{{#titleparts:ABC/DEF/GHI|1}}</tt>
:<code><nowiki>{{#titleparts:ABC/DEF/GHI|1}}</nowiki></code> menghasilkan <code>{{#titleparts:ABC/DEF/GHI|1}}</code>
:<tt><nowiki>{{#titleparts:ABC/DEF/GHI|2}}</nowiki></tt> menghasilkan <tt>{{#titleparts:ABC/DEF/GHI|2}}</tt>
:<code><nowiki>{{#titleparts:ABC/DEF/GHI|2}}</nowiki></code> menghasilkan <code>{{#titleparts:ABC/DEF/GHI|2}}</code>
:<tt><nowiki>{{#titleparts:ABC/DEF/GHI|3}}</nowiki></tt> menghasilkan <tt>{{#titleparts:ABC/DEF/GHI|3}}</tt>
:<code><nowiki>{{#titleparts:ABC/DEF/GHI|3}}</nowiki></code> menghasilkan <code>{{#titleparts:ABC/DEF/GHI|3}}</code>


Contoh dengan satu parameter numerik:
Contoh dengan satu parameter numerik:
* {{evd|#titleparts:Help:Link/a/b|0|}}
* {{evd|#titleparts:Help:Link/a/b|0|}}
* {{evd|#titleparts:Help:Link/a/b|1|}}
* {{evd|#titleparts:Help:Link/a/b|1|}}
* {{evd|#titleparts:Help:Link/a/b|2|}}
* {{evd|#titleparts:Help:Link/a/b|2|}}
* {{evd|#titleparts:Help:Link/a/b|3|}}
* {{evd|#titleparts:Help:Link/a/b|3|}}
* {{evd|#titleparts:Help:Link/a/b|4|}}
* {{evd|#titleparts:Help:Link/a/b|4|}}


Contoh dengan dua parameter numerik:
Contoh dengan dua parameter numerik:
* {{evd|#titleparts:Help:Link/a/b|2|2}}<!--
* {{evd|#titleparts:Help:Link/a/b|2|2}}<!--
:This gives two parts of the title, starting at the second part. Likewise: -->
:This gives two parts of the title, starting at the second part. Likewise: -->
* {{evd|#titleparts:Help:Link/a/b|1|2}}
* {{evd|#titleparts:Help:Link/a/b|1|2}}
Baris 705: Baris 708:


Contoh dengan parameter negatif (artinya "dihitung dari kanan"):
Contoh dengan parameter negatif (artinya "dihitung dari kanan"):
* {{evd|#titleparts:Help:Link/a/b|-1|}}
* {{evd|#titleparts:Help:Link/a/b|-1|}}
* {{evd|#titleparts:Help:Link/a/b|1|-1|}}
* {{evd|#titleparts:Help:Link/a/b|1|-1|}}
<!--
<!--


Introduced in [[rev:22711|r22711]], fixed to allow negative parameters in [[rev:28708|r28708]]. See also [[bugzilla:6067|bug 6067]].
Introduced in [[rev:22711|r22711]], fixed to allow negative parameters in [[rev:28708|r28708]]. See also [[bugzilla:6067|bug 6067]].
Baris 717: Baris 720:


Contoh:
Contoh:
* <code><nowiki>{{#iferror:{{#expr:1+1}}|masukan bermasalah|ekspresi valid}}</nowiki></code> menghasilkan {{#iferror:{{#expr:1+1}}|masukan bermasalah|ekspresi valid}}
* <code><nowiki>{{#iferror:{{#expr:1+1}}|masukan bermasalah|ekspresi valid}}</nowiki></code> menghasilkan {{#iferror:{{#expr:1+1}}|masukan bermasalah|ekspresi valid}}
* <code><nowiki>{{#iferror:{{#expr:1+Z}}|masukan bermasalah|ekspresi valid}}</nowiki></code> menghasilkan {{#iferror:{{#expr:1+Z}}|masukan bermasalah|ekspresi valid}}
* <code><nowiki>{{#iferror:{{#expr:1+Z}}|masukan bermasalah|ekspresi valid}}</nowiki></code> menghasilkan {{#iferror:{{#expr:1+Z}}|masukan bermasalah|ekspresi valid}}
<!--
<!--
The last two parameters are also optional. If the ''success'' parameter is omitted, then the ''expression'' is returned on success. If the ''error'' parameter is also omitted, then no output is generated on error, and ''expression'' is returned on success.
The last two parameters are also optional. If the ''success'' parameter is omitted, then the ''expression'' is returned on success. If the ''error'' parameter is also omitted, then no output is generated on error, and ''expression'' is returned on success.
*<code><nowiki>{{#iferror:{{#expr:1+1}}|bad input}}</nowiki></code> gives {{#iferror:{{#expr:1+1}}|bad input}}
*<code><nowiki>{{#iferror:{{#expr:1+1}}|bad input}}</nowiki></code> gives {{#iferror:{{#expr:1+1}}|bad input}}
Baris 737: Baris 740:
==language==
==language==
''Function'' ini memiliki sintaks:
''Function'' ini memiliki sintaks:
:<tt><nowiki>{{ #language: <kode bahasa> }}</nowiki></tt>
:<code><nowiki>{{ #language: <kode bahasa> }}</nowiki></code>
Fungsi ini akan mengembalikan nama bahasa dalam bahasa itu sendiri sesuai dengan kode bahasa yang diinput dalam parameter. Contoh:
Fungsi ini akan mengembalikan nama bahasa dalam bahasa itu sendiri sesuai dengan kode bahasa yang diinput dalam parameter. Contoh:
:<tt><nowiki>{{#language:en}}</nowiki></tt> menghasilkan {{#language:en}}
:<code><nowiki>{{#language:en}}</nowiki></code> menghasilkan {{#language:en}}
:<tt><nowiki>{{#language:de}}</nowiki></tt> menghasilkan {{#language:de}}
:<code><nowiki>{{#language:de}}</nowiki></code> menghasilkan {{#language:de}}
:<tt><nowiki>{{#language:nl}}</nowiki></tt> menghasilkan {{#language:nl}}
:<code><nowiki>{{#language:nl}}</nowiki></code> menghasilkan {{#language:nl}}
:<tt><nowiki>{{#language:zh}}</nowiki></tt> menghasilkan {{#language:zh}}
:<code><nowiki>{{#language:zh}}</nowiki></code> menghasilkan {{#language:zh}}
:<tt><nowiki>{{#language:ja}}</nowiki></tt> menghasilkan {{#language:ja}}
:<code><nowiki>{{#language:ja}}</nowiki></code> menghasilkan {{#language:ja}}
-->
-->


==Lihat pula==
== Lihat pula ==
* {{en}} [[:meta:ParserFunction|ParserFunction on meta]]
* {{en}} [[:meta:ParserFunction|ParserFunction on meta]]
* [[Bantuan:Fungsi parser]]
* [[Bantuan:Fungsi parser]]
* [[Bantuan:Kata ajaib]]
* [[Bantuan:Variabel]]
* [[Bantuan:Variabel]]
* [[meta:ParserFunctions]]
* [[:Kategori:Templat yang menggunakan ParserFunction|Templat di Wikipedia bahasa Indonesia yang menggunakan ParserFunction]] (sangat banyak)
{{Navbox Gabungan Pedoman WBI}}

[[Kategori:Fitur Wikipedia|ParserFunctions]]
[[Kategori:Fitur Wikipedia|ParserFunctions]]
[[Kategori:Bantuan Wikipedia]]

[[de:Hilfe:Vorlagenprogrammierung]]
[[meta:ParserFunctions]]
[[es:Ayuda:Funciones del analizador sintáctico]]
[[he:ויקיפדיה:חידושים בתוכנה#ParserFunctions בעברית – זה כאן!]]
[[he:ויקיפדיה:חידושים בתוכנה#ParserFunctions בעברית – זה כאן!]]
[[it:Aiuto:ParserFunctions]]
[[it:Aiuto:ParserFunctions]]
[[ja:Wikipedia:条件文]]
[[ja:Wikipedia:条件文]]
[[ko:위키백과:특수 함수]]
[[nl:Help:Parserfuncties]]
[[pl:Wikipedia:Funkcje parsera]]
[[pl:Wikipedia:Funkcje parsera]]
[[pt:Ajuda:ParserFunctions]]
[[pt:Ajuda:ParserFunctions]]
[[ru:Википедия:Функции парсера]]
[[vi:Trợ giúp:Tính toán]]
[[zh:Help:模板扩展语法]]
[[zh:Help:模板扩展语法]]

Revisi terkini sejak 26 Oktober 2023 15.25

 Seri Bantuan
Selamat datang! Halaman ini memberikan bantuan mengenai hal yang sering ditanyakan di Wikipedia. Untuk memulai, silakan mengeklik pranala yang Anda butuhkan di bawah ini, atau gunakan fitur pencari yang tersedia.

Lihat versi terbaru di (Inggris) mw:Help:ParserFunctions

ParserFunctions (fungsi-fungsi parser) adalah sekumpulan fungsi-fungsi logika dan kalkulasi dalam MediaWiki: mw:Extension:ParserFunctions. Sejak pertengahan April 2006 piranti lunak MediaWiki dengan menggunakan Sintaks-Wiki memperbolehkan digunakannya beberapa konstruksi suatu bahasa pemrograman untuk diterapkan dalam templat.

Konstruksi-konstruksi bahasa program ini seharusnya hanya digunakan secara eksklusif dalam ruang nama templat dan dipertimbangkan saat digunakan. Tidak setiap kemungkinan pemanfaatannya benar-benar berarti atau bermanfaat. Sintaks-sintaks bahasa pemrograman ini masih dapat berubah. Konstruksi pemrograman yang tidak cukup terdokumentasi, akan kembali dihapuskan.

Berbeda dengan fungsi parser biasa yang bisa tidak menggunakan tanda pagar "#", penggunaan ParserFunctions harus memakai tanda pagar di awal fungsi. ParserFunctions memiliki sintaks seperti berikut:

  • {{#namafungsi: argumen1 | argumen2 | argumen3..}}

Mohon perhatikan bahwa ekstensi ini harus dipasang secara manual, dan tidak langsung terpasang ketika sebuah MediaWiki baru dipasang. Lihat Istimewa:Versi untuk mengetahui apakan ekstensi ini sudah dipasang atau belum.

Fungsi-fungsi

Sekarang ini, modul ini memiliki sepuluh fungsi yaitu: expr, if, ifeq, ifexist, ifexpr, iferror, switch, time, rel2abs, dan titleparts.

#expr:

sintaks:

  • {{ #expr: ekspresi }}


Fungsi expr digunakan untuk menghitung perhitungan (ekspresi) matematika didasarkan atas permutasi dari angka-angka (atau variabel/parameter yang diterjemahkan dalam angka-angka) dan operator. Fungsi ini tidak berlaku untuk string. (gunakan ifeq untuk string). Keakuratan dan format angka berbeda-beda tergantung dari sistem operasi peladen.

Dalam perhitungan kompleks, operator dihitung dari kiri ke kanan dengan preseden tertentu:

  1. pengelompokan (tanda kurung);
  2. unary (tanda +/- dan NOT);
  3. perkalian(*, /, div, mod);
  4. penjumlahan (+, -);
  5. pembulatan;
  6. perbandingan (=, !=, <, >, dll.);
  7. logical AND;
  8. logical OR.

Jika menghitung sebagai boolean, "0" dianggap FALSE (salah) dan karakter lain selain spasi "TRUE" (benar) (TRUE di boolean dilambangkan sebagai "1").

Macam operator:

Operator Operasi Contoh Hasil
tidak ada {{ #expr: 123456789012345 }} 1.2345678901234E+14
{{ #expr: 0.000001 }} 1.0E-6
Aritmatika
+ Unary tanda positif {{ #expr: +30 * +7 }} 210
- Unary tanda negatif {{ #expr: -30 * -7 }} 210
* Perkalian {{ #expr: 30 * 7 }} 210
/
div
Pembagian {{ #expr: 30 / 7 }}


{{ #expr: 30 div 7 }}

4.2857142857143
4.2857142857143
+ Penjumlahan {{ #expr: 30 + 7 }} 37
- Pengurangan {{ #expr: 30 - 7 }} 23
Logika
not Unary NOT
logical NOT
{{ #expr: not 0 * 7 }}


{{ #expr: not 30 + 7 }}

7
7
and Logical AND

{{ #expr: 4 < 5 and 4 mod 2 }}

0
or Logical OR

{{ #expr: 4 < 5 or 4 mod 2 }}

1
Perbandingan
= Persamaan (numerical & logical) {{ #expr: 30 = 7 }} 0
<>
!=
Pertidaksamaan, logical exclusive or {{ #expr: 30 <> 7 }}


{{ #expr: 1 != 0 }}

1
1
< Kurang dari

{{ #expr: 30 < 7 }}

0
> Lebih dari

{{ #expr: 30 > 7 }}

1
<= Kurang dari sama dengan

{{ #expr: 30 <= 7 }}

0
>= Lebih dari sama dengan

{{ #expr: 30 >= 7 }}

1
Lain-lain
( ) Operator pengelompokan {{ #expr: (30 + 7) * 7 }} 259
mod "Modulo" sisa pembagian.
Catatan: div dan mod berbeda dari semua bahasa pemrograman.
{{ #expr: 30 mod 7 }}


{{ #expr: -8 mod -3 }}
{{ #expr: 8 mod 2.7 }}

2
-2
0
round Membulatkan. {{ #expr: 30 / 7 round 4 }}


{{ #expr: 30 / 7 round 1 }}
{{ #expr: 1911 round -2 }}
{{ #expr: -2.5 round 0 }}

4.2857
4.3
1900
-3
trunc Menghilangkan desimal. {{ #expr: trunc1.2 }}


{{ #expr: trunc-1.2 }}

1
-1
floor Membulatkan ke intejer terdekat yang sama dengan atau lebih kecil dari angka tersebut. {{ #expr: floor1.2 }}


{{ #expr: floor-1.2 }}

1
-2
ceil Membulatkan ke intejer terdekat yang sama dengan atau lebih besar dari angka tersebut. {{ #expr: ceil1.2 }}


{{ #expr: ceil-1.2 }}

2
-1

#if:

sintaks:

  • {{ #if: <string kondisi> | <kode jika benar> }}

atau bisa juga dilihat dalam pola if-then-else sebagai berikut:

  • {{ #if: <string kondisi> | <kode jika benar> | <kode jika salah> }}


Fungsi if bekerja seperti if-then-else (jika-maka-jika_tidak). Kondisi yang diberikan akan selalu benar kecuali dikosongkan atau hanya berisi spasi. Kode di argumen kedua akan dijalankan jika nilai fungsinya benar, dan argumen ketiga akan dijalankan jika nilai fungsinya salah (salah satu atau keduanya dapat kosong, dan kode-jika-salah dapat tidak ditulis sama sekali).

Perbandingan yang dilakukan adalah untuk teks, bukan ekspresi matematika, jadi perbandingan matematika akan selalu dianggap benar; Contoh: {{#if: 1 = 2|benar|salah}} akan menghasilkan "benar", karena string "1 = 2" tidak merupakan string kosong. Untuk membandingkan string gunakan ifeq. Sedangkan untuk membandingkan angka, gunakan ifexpr. <--- It is not possible to distinguish between an undefined parameter in a template and a blank one (it is possible with #ifexpr). -->

Fungsi if digunakan untuk menggantikan pemakaian "hiddenstructure" dan templat {{qif}}. Templat {{qif}} memiliki tingkat kompleksitas tinggi yang menyebabkan waktu yang lama untuk menghasilkan halaman wiki yang memakai templat tersebut.

Contoh:

  • {{ #if: foo | lakukan jika benar | lakukan jika salah }}
= lakukan jika benar
  • {{ #if: 0 | lakukan jika benar | lakukan jika salah }}
= lakukan jika benar
  • {{ #if: | lakukan jika benar | lakukan jika salah }}
= lakukan jika salah

Dalam templat, function if dapat digunakan dalam sintaks berikut:

                         {{Templat|parameter=sesuatu}}  {{Templat}}          {{Templat|parameter=}}
                                      |                       |                         |
                                      |                       |                         |
                                      |                       |                         |
{{#if: {{{parameter|}}} | parameter didefinisikan | parameter tidak didefinisikan atau kosong }}

#ifeq:

sintaks:

  • {{ #ifeq: <teks 1> | <teks 2> | <kode jika setara> }}
  • {{ #ifeq: <teks 1> | <teks 2> | <kode jika setara> | <kode jika tak setara> }}


Fungsi ifeq membandingkan dua string atau angka, dan akan menghasilkan argumen ketiga jika nilai fungsinya benar, atau akan menghasilkan argumen keempat jika nilai fungsinya salah (salah satu atau keduanya dapat kosong, dan kode-jika-tak-setara dapat tidak ditulis sama sekali).

Perbandingan string ini sensitif terhadap huruf besar/huruf kecil (contoh, A != a). Jika kedua string dapat dijadikan angka, mereka akan dibandingkan secara numerikal (contoh, 01 = 1); Untuk memaksa perbadingan string, tambahkan karakter non-angka (seperti tanda kutip ") pada kedua argumen.

Isu: (belum diterjemahkan)

Contoh:

  • {{ #ifeq: teks 1 | teks 2 | kode setara | kode tak setara }}
= kode tak setara
  • {{ #ifeq: teks 1 | teks 1 | kode setara | kode tak setara }}
= kode setara

#ifexist:

sintaks:

  • {{ #ifexist: <nama halaman> | <kode jika ada> | <kode jika tidak ada> }}


Fungsi ifexist menghasilkan salah satu dari dua kemungkinan, tergantung dari apakah nama halaman yang dimasukkan ada atau tidak.

Contoh:

#ifexpr:

sintaks:

  • {{ #ifexpr: <ekspresi> | <maka> | <jika tidak> }}


Fungsi ifexpr menghitung suatu operasi (ekspresi) matematika (lihat expr) dan menghasilkan salah satu dari dua kemungkinan, tergantung dari perhitungan tersebut benar atau salah.

Contoh:

{{ #ifexpr: 10 > 9 | ya | tidak }}
ya -- Karena 10 lebih besar dari 9

#switch:

sintaks:

{{#switch: <nilai yang dibandingkan>
 | <nilai>1 = <hasil>1
 | <nilai>2 = <hasil>2
 | ...
 | <nilai>n = <hasil>n
 | <hasil> default
}}

Fungsi switch membandingkan antara suatu nilai dengan banyak nilai lainnya, dan menghasilkan string (yang berada setelah tanda samadengan) jika ada yang cocok. Jika tidak ada yang cocok, maka nilai terakhir yang tidak memiliki (jika ada) tanda samadengan-lah yang akan dihasilkan. Anda dapat memberikan hasil default dengan #default:

{{#switch: <nilai yang dibandingkan>
 | <nilai> = <hasil>
 | #default = <hasil default>
}}

"switch" dapat digunakan untuk semua penggunaan #ifeq (tapi tidak sebaliknya):

{{ #switch: a | a=benar| salah }}
menghasilkan benar
{{ #ifeq: a | a | benar| salah }}
menghasilkan benar

#time:

sintaks:

  • {{ #time: format }}
  • {{ #time: format| waktu }}


Fungsi time adalah untuk pemformatan waktu dan tanggal (hanya untuk waktu sejak 1 Jan 1970!). Jika "waktu" tidak diberikan, fungsi ini akan memakai waktu saat artikel yang bersangkutan dikonversi ke HTML. Dikarenakan adanya cache, halaman yang memakai fungsi ini perlu untuk diperbaharui dengan purge atau null edit.

Format kode/parameter:

Kode Deskripsi Contoh keluaran Hasil
Tahun:
Y 4-digit tahun. e.g. 2006 2024
y 2-digit tahun. 00 hingga 99, e.g. 06 untuk tahun 2006. 24
Bulan:
n Bulan ke- (tanpa awalan 0). 1 hingga 12 8
m Bulan ke- (dengan awalan 0). 01 hingga 12 08
M Tiga huruf nama bulan. Jan hingga Des Ags
F Nama bulan lengkap Januari hingga Desember Agustus
Minggu:
W ISO 8601 angka minggu (satu minggu dalam tahun ISO adalah dari senin hingga minggu, dan minggu ke-1 selalu memiliki tanggal 4 Januari atau hari kamis pertama pada kalender sipil), dengan awalan 0. 01 hingga 52 atau 53 34
Hari:
j Tanggal dalam sebulan (tanpa awalan 0). 1 hingga 31 21
d Tanggal dalam sebulan (dengan awalan 0). 01 hingga 31 21
z Tanggal dalam setahun (dimulai dari 0). 0 hingga 364 atau 365 233
D Tiga huruf nama hari. Sen hingga Min Rab
l Nama hari lengkap. Senin hingga Minggu Rabu
N Tanggal dalam seminggu (menurut minggu ISO 8601). 1 (untuk Senin) hingga 7 (untuk Minggu) 3
Jam:
a am (dari 01:00:00 hingga 12:59:59) atau pm, dengan huruf kecil (untuk format 12-jam)). am atau pm pm
A Sama dengan kode a di atas, dengan huruf besar AM atau PM PM
g Jam berformat 12-jam (tanpa awalan 0, menggunakan am/pm atau AM/PM). 1 hingga 12 6
h Jam berformat 12-jam (dengan awalan 0, menggunakan am/pm or AM/PM). 01 hingga 12 06
G Jam berformat 24-jam (tanpa awalan 0). 0 hingga 23 18
H Jam berformat 24-jam (tanpa awalan 0). 00 hingga 23 18
Menit dan detik:
i Menit (dengan awalan 0). 00 hingga 59 16
s Detik (dengan awalan 0). 00 hingga 59 13
U Detik sejak 1 Januari 1970 00:00:00 GMT. 0 hingga infiniti 1724264173
Lain-lain:
L Tahun kabisat atau bukan 1 jika tahun kabisat, 0 jika tidak. 1
t Jumlah hari dalam sebulan. 28, 29, 30, atau 31 31
c Tanggal berformat ISO 8601, sama dengan 2024-08-21UTC18:16:13+18:16|+0 062024u34UTC21, 21 PMu6 2024 18:16:13 +000013. string dengan panjang tertentu 2024-08-21T18:16:13+00:00
r Tanggal berformat RFC 2822, sama dengan Rab, 21 Ags 2024 18:16:13 +18:16|+0 062024u34UTC21, 21 PMu6 2024 18:16:13 +000013. string dengan panjang bervariasi Wed, 21 Aug 2024 18:16:13 +0000

Ketentuan-ketentuan yang berlaku:

  • Karakter format yang tidak dikenal akan ditampilkan apa adanya.
  • Karakter-karakter dalam tanda kutip akan ditampilkan apa adanya tanpa diformat, contoh:
    • Sekarang bulan Agustus → Sekarang bulan Januari
    • 16'13" → 20'11"
  • Karakter escape backslash seperti dalam fungsi date() di PHP's juga dikenal. \H menghasilkan huruf H, \" menghasilkan ".

Kode-kode format tambahan mungkin akan ditambahkan di masa mendatang. Fungsi "time" juga mengenal format waktu relatif dan absolut seperti "11 Desember" dan atau "+10 hours" yang bisa digunakan dalam konversi zona waktu.

Jika nilai dari eskpresi menghasilkan nol, maka <else> akan dikembalikan, selain itu <then> akan dikembalikan. <ekspresi> sama dengan pemakaian pada function expr. Function ini merupakan bentuk pendek dari ..

Contoh:

  • {{ #time: l j F Y | 20070304 }}
menghasilkan "Minggu 4 Maret 2007"
  • {{ #time: l j F Y | 2007-03-04 }}
menghasilkan "Minggu 4 Maret 2007"
  • {{ #time: l j F Y | 2007/03/04 }}
menghasilkan "Minggu 4 Maret 2007"
  • {{ #time: l j F Y | 4 March 2007 }}
menghasilkan "Minggu 4 Maret 2007"
  • {{ #time: l j F Y | 4 March, 2007 }}
menghasilkan "Senin 4 Maret 2024" (!kesalahan: koma seharusnya tidak diikutkan)
  • {{ #time: l j F Y | March 4 2007 }}
menghasilkan "Minggu 4 Maret 2007"
  • {{ #time: l j F Y | March 4, 2007 }}
menghasilkan "Minggu 4 Maret 2007"
  • {{ #time: l j F Y | -32 days }}
menghasilkan "Sabtu 20 Juli 2024" (32 hari yang lalu)
  • {{ #time: H:i | +6 hours }}
menghasilkan "00:16" (6 jam lebih awal dari UTC)
  • {{ #time: H:i | 8:15 +6 hours }}
menghasilkan "14:15"
  • {{ #time: m/Y | -17 months }}
menghasilkan "03/2023" (17 bulan yang lalu)

Jangkauan:

Tanggal tak lengkap

29 Februari:

Zona Waktu

#rel2abs:

sintaks:

  • {{ #rel2abs: <path> }}
  • {{ #rel2abs: <path> | <base path> }}


Fungsi rel2abs adalah untuk mengkonversi pranala relatif ke pranala absolut. Pranala relatif adalah yang dimulai dengan '/', './', '../'. atau mengandung '/../' atau '/.' atau string '..' atau'.'.Jika base path diberikan, maka perlu ditulis dalam sintaks absolut.

Contoh:

  • Di dalam Bantuan:Foo/bar, {{#rel2abs|../baz}} menghasilkan Bantuan:Foo/baz
  • Di dalam Bantuan:Foo, {{#rel2abs|../baz}} menghasilkan baz
  • Di dalam Bantuan:Foo, {{#rel2abs|../../baz}} menghasilkan Error: Invalid depth in path: "Help:Foo/../../baz" (tried to access a node above the root node)"
  • {{#rel2abs|../baz | Bantuan:Bar/foo}} menghasilkan Bantuan:Bar/baz
  • {{#rel2abs|Bantuan:Foo/bar/../baz}} menghasilkan Bantuan:Foo/baz

#titleparts:

sintaks:

  • {{ #titleparts: ''namahalaman'' | ''jumlah_segmen'' | ''mulai_dari '' }}
  • Jika mulai_dari dihilangkan, maka dianggap setara dengan 1
  • Ruang Nama untuk namahalaman dikonversikan ke Ruang Nama bahasa lokal

Fungsi titleparts ini akan menghasilkan bagian dari suatu judul halaman sesuai tingkat yang diisi pada parameter.

Contoh:

{{#titleparts:ABC/DEF/GHI|1}} menghasilkan ABC
{{#titleparts:ABC/DEF/GHI|2}} menghasilkan ABC/DEF
{{#titleparts:ABC/DEF/GHI|3}} menghasilkan ABC/DEF/GHI

Contoh dengan satu parameter numerik:

Contoh dengan dua parameter numerik:

Contoh dengan parameter negatif (artinya "dihitung dari kanan"):

#iferror:

  • {{ #iferror: ''ekspresi'' | ''bermasalah'' | ''berhasil'' }}


Fungsi iferror akan menghasilkan bermasalah jika ekspresi mengandung sebuah <strong class="error"> yang terkadang dihasilkan oleh #expr, #ifexpr, #time, #rel2abs, dan beberapa situasi lainnya di MediaWiki seperti kedalaman rekursif, dan loop templat. Fungsi ini berguna untuk menangkap masukan yang bermasalah.

Contoh:

  • {{#iferror:{{#expr:1+1}}|masukan bermasalah|ekspresi valid}} menghasilkan ekspresi valid
  • {{#iferror:{{#expr:1+Z}}|masukan bermasalah|ekspresi valid}} menghasilkan masukan bermasalah


Lihat pula