Format Mata Uang Rupiah dalam PHP
Format Mata Uang Rupiah dalam PHP
dan Javascript
dan Javascript
Tutorial ini ditulis oleh
Tutorial ini ditulis oleh Achmad SolichinAchmad Solichin dan sudah dipubliasian di
dan sudah dipubliasian di http!""achmatim.nethttp!""achmatim.net pada tanggal #$ Maret %&#$ pada tanggal #$ Maret %&#$
'a
'alalam m pepembmbanangugunanan n dadan n pepengngembembanangagan n apapliliaasi si beberbrbasasis is (e(eb) b) een*n*amamanananan pen
penggugguna na merumerupapaan an salsalah ah satsatu u hal hal *an*ang g penpentinting g untuntu u dipdiperhaerhatitian. an. +al+alaupaupunun ban
ban*a *a ,ug,uga a *an*ang g menmengabgabaiaiannann*a. *a. -es-esuatuatu u *an*ang g ececil il sepseperterti i pemipemilihlihan an (ar(arna)na) pengaturan posisi atau la*out) pen*a,ian gambar) pemilihan ,enis tulisan) pen*a,ian pengaturan posisi atau la*out) pen*a,ian gambar) pemilihan ,enis tulisan) pen*a,ian ta
tabebel l dadan n sesebabagagainin*a*a) ) ,i,ia a titidada didilalauuaan n dedengngan an bebenanar r dadapapat t memengnggagangnggugu en
en*am*amanaanan n penpenggugguna na aplapliaiasi) si) *an*ang g padpada a ahahirnirn*a *a aaaan n mempmempengengaruaruhi hi tintingagatt epuasan pengguna terhadap apliasi.
epuasan pengguna terhadap apliasi. Te
Termrmasasu u didianantatara ra hahal l eecicil l *a*ang ng cucuuup p pepentntining g nanamun mun aadadang ng didiababaiaiaan n ololeheh programmer adalah pen*a,ian anga mata uang. -ebagai contoh) anga # ,uta rupiah programmer adalah pen*a,ian anga mata uang. -ebagai contoh) anga # ,uta rupiah ditampilan dengan #&&&&&& aan lebih sulit dibaca dibandingan ,ia ditampilan ditampilan dengan #&&&&&& aan lebih sulit dibaca dibandingan ,ia ditampilan dengan #.&&&.&&& dengan pemisah ribuan/. 'emiian ,uga dalam hal inputan anga dengan #.&&&.&&& dengan pemisah ribuan/. 'emiian ,uga dalam hal inputan anga rup
rupiahiah. . TenTentuntun*a *a penpenggugguna na aaaan n meramerasa sa leblebih ih n*an*aman man ,i,ia a padpada a saasaat t mengmenginpinputut anga rupiah di suatu te0tbo0 langsung ditambahan pemisah ribuan pada anga *ang anga rupiah di suatu te0tbo0 langsung ditambahan pemisah ribuan pada anga *ang dimasuan.
dimasuan.
1a
1alu lu babagagaimimanana a memelalauuaannnn*a*a2 2 'a'alalam m tututotoririal al sisingngaat t inini i aaan an didibabahahas s cacarara menampilan anga mata uang menggunaan 3ungsi *ang tersedia di PHP. -elan,utn*a menampilan anga mata uang menggunaan 3ungsi *ang tersedia di PHP. -elan,utn*a aa
aan n dicdicontontohohan an ,ug,uga a bagbagaimaimana ana mem3mem3ormormat at anganga a matmata a uanuang g secsecara ara otootomatmatisis menggunaan Javascript dan J4uer* dalam sebuah inputan. Mari ita
menggunaan Javascript dan J4uer* dalam sebuah inputan. Mari ita mulai.mulai.
Halaman # dari 5
Menampilkan Format Mata Uang Rupiah dengan PHP
Menampilkan Format Mata Uang Rupiah dengan PHP
'a
'alalam m bubuu u grgratatis is 66PemPemrorogrgramaman an WeWeb b dedengngan an PHPHP P dadan n MyMySS!!7 7 *a*ang ng bbisisaa dido
dido(nload di (ebs(nload di (ebsiteite http!""achmatim.nethttp!""achmatim.net) terdapat pembahasan husus mengenai) terdapat pembahasan husus mengenai 3ungsi83ungsi penanganan -tring. -alah satu 3ungsi tersebut adalah
3ungsi83ungsi penanganan -tring. -alah satu 3ungsi tersebut adalah number"#ormat$%number"#ormat$% *a
*ang ng dadapapat t didigugunanaaan n ununtutu memengngatatur ur tatampmpililan an dadari ri susuatatu u anangga. a. -a-alalah h sasatutu egunaann*a) tentu menampilan anga dalam 3ormat mata uang seper
egunaann*a) tentu menampilan anga dalam 3ormat mata uang seper ti rupiah.ti rupiah.
9eriut ini contoh program penggunaan 3ungsi number:3ormat/ *ang diambil dari 9eriut ini contoh program penggunaan 3ungsi number:3ormat/ *ang diambil dari buu tersebut!
buu tersebut!
number&php' (ontoh penggunaan #ungsi number"#ormat$% number&php' (ontoh penggunaan #ungsi number"#ormat$%
1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 <? <?phpphp $ $numbernumber = = 1234.561234.56;;
// format mata uang nggr! "#efaut%
// format mata uang nggr! "#efaut%
$
$eng!h&format&numbereng!h&format&number = = number&formatnumber&format"$"$numbernumber%;%; e'ho
e'ho (<br)((<br)(.$.$eng!h&format&numbereng!h&format&number;; // 1*235// 1*235
// format mata uang peran'!
// format mata uang peran'!
$
$nombre&format&fran'a!nombre&format&fran'a! = = number&formatnumber&format"$"$numbernumber* 2* 2** +*++*+** + ++ +%;%; e'ho
e'ho (<br)((<br)(.$.$nombre&format&fran'a!nombre&format&fran'a!;; // 1 234*56// 1 234*56
//format mata uang n#one!a
//format mata uang n#one!a
$
$format&n#one!aformat&n#one!a = = number&formatnumber&format "$ "$numbernumber* 2* 2** +*++*+** +.++.+%;%; e'ho
e'ho (<br)((<br)(.$.$format&n#one!aformat&n#one!a;; //1.234*56//1.234*56
?) ?)
Fu
Fungngsisi number"#ormat$%number"#ormat$% memilii # satu/ parameter (a,ib *aitu anga *ang aan memilii # satu/ parameter (a,ib *aitu anga *ang aan di3ormat dan beberapa parameter pilihan. 9eriut ini 3ormat umum 3ungsi tersebut di3ormat dan beberapa parameter pilihan. 9eriut ini 3ormat umum 3ungsi tersebut *ang disadur dari manual PHP.
*ang disadur dari manual PHP.
'a
'ari ri 3o3ormrmat at umumum um tetersrsebebut ut ddapapaat t didipapahahami mi bbebebererapapa a ppararamameteter er 3u3ungngsisi number:3ormat/ sebagai beriut!
number:3ormat/ sebagai beriut! #.
#. 3loat 3loat ;numb;number er ! ! parameparameter ter (a,ib) (a,ib) berupa berupa anga anga bertipbertipe e 3loat3loat.. %
%.. iinnt t ;;ddeecciimmaallss ! ! bbeerraappa a ddiiggiit t aanngga a ddi i bbeellaaaanng g oomma a aanngga a ppeeccaahhaann//
Halaman % dari 5
<
<.. ssttrriinng g ;;ddeecc::ppooiinntt ! ! ssiimmbbool l ppeemmiissaah h aanngga a ppeeccaahhaann =
=.. ststriring ng ;;ththooususanandsds:s:sepep ! ! sisimbmbol ol ppememisisah ah rribibuauann
Membuat )nputan Format Mata Uang dengan
Membuat )nputan Format Mata Uang dengan Javascript
Javascript
Fungsi PHP number:3ormat/ umumn*a digunaan untu mengatur tampilan anga Fungsi PHP number:3ormat/ umumn*a digunaan untu mengatur tampilan anga *ang diambil dari database atau anga hasil olahan di PHP. -ebagai contoh untu *ang diambil dari database atau anga hasil olahan di PHP. -ebagai contoh untu eperluan menampilan laporan euangan atau laporan ga,i pega(ai. 1alu bagaimana eperluan menampilan laporan euangan atau laporan ga,i pega(ai. 1alu bagaimana ,ia
,ia *ang *ang diperluan diperluan adalah adalah mem3ormat mem3ormat anga anga pada pada saat saat proses proses input2 input2 Tentun*aTentun*a pi
pililihahan n pepengnggugunaanaan n 3u3ungngsi si PHPHP P titidada teterlrlalalu u tetepapat. t. -ed-ediiit it rerepopot) t) aarerena na PHPHPP ber,alann*a di sisi server.
ber,alann*a di sisi server.
>leh arena itu) penggunaan Javascript merupaan salah satu pilihan terbai untu >leh arena itu) penggunaan Javascript merupaan salah satu pilihan terbai untu mem3ormat anga di suatu 3orm inputan. 1ogian*a) saat ita mengetian anga pada mem3ormat anga di suatu 3orm inputan. 1ogian*a) saat ita mengetian anga pada suatu inputan) ita bisa membuat 3ungsi untu mengubah tampilan anga e dalam suatu inputan) ita bisa membuat 3ungsi untu mengubah tampilan anga e dalam 3ormat *ang diinginan. Fungsi dapat ita buat sendiri atau tinggal memaai 3ungsi 3ormat *ang diinginan. Fungsi dapat ita buat sendiri atau tinggal memaai 3ungsi atau librar* *ang dibuat oleh orang lain.
atau librar* *ang dibuat oleh orang lain. 'al
'alam am tuttutoriorial al iniini) ) itita a aaaan n cobcoba a memameman3an3aatatan an pluplugingin *uery+MaskMoney *uery+MaskMoney *ang *ang di
dibubuat at ololeh eh 'ie'iego go PlPlentent?. ?. PlPlugugin in dadapapat t diditetemumuaan n dadan n didiundunduh uh di di sisitutus s @@iithubthub https!""github.com"plent?",4uer*8masmone*
https!""github.com"plent?",4uer*8masmone*. . PluPlugin gin tertersebsebut ut memmemiliilii i eueunggnggulaulann dal
dalam am hal hal ememudaudahan han penpeneraperapannann*a) *a) serserta ta memimemililii i berberbagbagai ai pilpilihaihan n tamtampilpilan)an) te
termrmasasu u pepengngatatururan an prpre3e3i0 i0 ssimimbobol l mamata ta uauangng/) /) pepemimisasah h riribubuan an dadan n pepemimisasahh pecahan. -elain itu) penerapan plugin dapat menggunaan selector ,uer* maupun pecahan. -elain itu) penerapan plugin dapat menggunaan selector ,uer* maupun ga*a penerapan HTM1$ menggunaan tag data8B.
ga*a penerapan HTM1$ menggunaan tag data8B. 1angsung a,a ita lihat contohn*a sebagai beriut! 1angsung a,a ita lihat contohn*a sebagai beriut!
input+maskmoney&php' (ontoh program inputan dengan plugin *uery input+maskmoney&php' (ontoh program inputan dengan plugin *uery maskMoney maskMoney 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 <, <,#o't-pe#o't-pe htmhtm)) < <htmhtm)) < <hea#hea#)) <
<ttette))nputannputan ormatormat nganga</</ttette))
<
<!'rpt!'rpt t-pe=t-pe=(tet/aa!'rpt((tet/aa!'rpt( !r'!r'==(b!/uer-.ate!t.!((b!/uer-.ate!t.!())
</
</!'rpt!'rpt))
<
<!'rpt!'rpt t-pe=t-pe=(tet/aa!'rpt((tet/aa!'rpt(
!r'
!r'==(b!/uer-.ma!one-.mn.!((b!/uer-.ma!one-.mn.!()</)</!'rpt!'rpt))
<
<!'rpt!'rpt t-pe=t-pe=(tet/aa!'rpt((tet/aa!'rpt())
$"
$"#o'ument#o'ument%.%.rea#-rea#-"fun'ton"%"fun'ton"%
$"
$"+anga1+%.ma!one-"%;+anga1+%.ma!one-"%;
$"
$"+anga2+%.ma!one-"pref+:$+%;+anga2+%.ma!one-"pref+:$+%;
$"
$"+anga3+%.ma!+anga3+%.ma!one-"pref+pone-"pref+p. . +* +* thou!an#!+.+*thou!an#!+.+*
#e'ma+*+%;
#e'ma+*+%;
Halaman < dari 5
12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 31 32 32 $" $"+anga4+%.ma!one-"%;+anga4+%.ma!one-"%; %; %; </ </!'rpt!'rpt)) </ </hea#hea#)) < <bo#-bo#-)) <
<formform a'tona'ton==(((( metho#metho#==(po!t((po!t())
nput
nput angaanga ""#efaut#efaut%% <nput<nput t-pe=t-pe=(tet((tet( name=name=(anga1((anga1(
#
#==(anga1((anga1(/)/)
<
<brbr/)nput/)nput angaanga ""::$%$% <nput<nput t-pe=t-pe=(tet((tet( name=name=(anga2((anga2(
#
#==(anga2((anga2(/)/)
<
<brbr/)nput/)nput angaanga ""pp.. %% <nput<nput t-pe=t-pe=(tet((tet( name=name=(anga3((anga3(
#
#==(anga3((anga3(/)/)
<
<brbr/)nput/)nput angaanga ""pp.. %% >> @A5@A5 <nput<nput t-pe=t-pe=(tet((tet(
name=
name=(anga4((anga4( ##==(anga4((anga4( #ata#ata>>affe!affe!>>!ta-!ta-==(true((true( #ata#ata>>
pref
pref==(p. ((p. ( #ata#ata>>thou!an#!thou!an#!==(.((.( #ata#ata>>#e'ma#e'ma==(*((*( /)/)
<
<brbr/)<nput/)<nput t-pe=t-pe=(!ubmt((!ubmt( name=name=(!ubmt((!ubmt( aueaue==(ubmt((ubmt(/)/)
</
</formform))
<
<?php?php
f"
f"!!et!!et"$"$&BC@&BC@DD+!ubmt+E%% +!ubmt+E%%
e'ho
e'ho (<pre)((<pre)(;;
prnt&r
prnt&r"$"$&BC@&BC@%;%;
e'ho
e'ho (</pre)((</pre)(;;
? ?)) </ </bo#-bo#-)) </ </htmhtm))
Pen,elasan singat dari program di atas. Untu menerapan plugin ,uer* m
Pen,elasan singat dari program di atas. Untu menerapan plugin ,uer* m asMone*)asMone*) la
langngaah h pepertrtamama a adadalalah ah memen*en*ertrtaaan an lilibrbrarar* * *a*ang ng didiperperluluanan. . PaPada da babariris s ee8$8$ d
diisseerrttaaaan n lliibbrraarr** *,uery&*s *,uery&*s ddaan n ppaadda a bbaarriis s ee85 85 ddiissererttaaaan n 33iille e lliibbrraarr** *,uery&maskMoney&min&*s
*,uery&maskMoney&min&*s. . -el-elan,an,utnutn*a *a disdisiapiapan an ob*ob*e e 3orm 3orm inpinputautan n *an*ang g aaaann di3
di3ormormat. Padat. Pada a proprogragram di m di ataatas tampas tampa padpada a barbaris e8#C samis e8#C sampai %#. pai %#. TerdTerdapaapat t == em
empatpat/ / inpinputautan n dengdengan an masimasing8mng8masiasing ng atratribuibut t D'! D'! anganga#a#) ) anganga%a%) ) anganga< a< dandan anga=.
anga=.
1angah etiga adalah memanggil atau mengati3an 3ungsi masMone*/. Perhatian 1angah etiga adalah memanggil atau mengati3an 3ungsi masMone*/. Perhatian baris e8C hingga
baris e8C hingga #=. Untu mengati3a#=. Untu mengati3an n 3ungsi masMo3ungsi masMone*/ pada ne*/ pada dasadasarn*a mudahrn*a mudah sa,
sa,a) a) tintinggaggal l mengmengimpimplemelementantasisian an 3un3ungsi gsi masmasMoMone*ne*/ / padpada a selselectector or dardari i 3or3ormm inputann*a. -ecara de3ault) 3ungsi masMone*/ aan mem3ormat anga dalam 3ormat inputann*a. -ecara de3ault) 3ungsi masMone*/ aan mem3ormat anga dalam 3ormat Dnggris " Ameria dengan pemisah oma )/ untu ribuan dan titi ./ untu pemisah Dnggris " Ameria dengan pemisah oma )/ untu ribuan dan titi ./ untu pemisah pecahan.
pecahan.
Hasil program di atas urang lebih sebagai beriut! Hasil program di atas urang lebih sebagai beriut!
Halaman = dari 5
9eriut ini beberapa
9eriut ini beberapa opsi dari 3ungsi opsi dari 3ungsi masMone*/ *ang bmasMone*/ *ang bisa digunaan!isa digunaan!
•
• pre#i-pre#i-! string a(alan *ang aan ditampilan sebelum anga mata uang. Eontoh!! string a(alan *ang aan ditampilan sebelum anga mata uang. Eontoh!
U-; #%<=.%<. 'e3aultn*a adalah osong. U-; #%<=.%<. 'e3aultn*a adalah osong.
•
• su##i-su##i-! string ahiran *ang aan ditampilan setelah anga mata uang. Eontoh!! string ahiran *ang aan ditampilan setelah anga mata uang. Eontoh!
#%<=.%< G. 'e3aultn*a adalah osong. #%<=.%< G. 'e3aultn*a adalah osong.
•
• a##i-esStaya##i-esStay! opsi untu mengatur apaah string pre3i0 atau su33i0 masih tetap! opsi untu mengatur apaah string pre3i0 atau su33i0 masih tetap
ditampilan etia cursor sudah tida berada di 3orm inputan. 'e
ditampilan etia cursor sudah tida berada di 3orm inputan. 'e3aultn*a3aultn*a truetrue..
•
• thousandsthousands! arater pemisah ribuan. 'e3ault! )! arater pemisah ribuan. 'e3ault! ) •
• decimaldecimal! arater pemisah pecahan. 'e3ault! .! arater pemisah pecahan. 'e3ault! . •
• precisionprecision! berapa digit pecahan *ang aan ditampilan. 'e3ault! %! berapa digit pecahan *ang aan ditampilan. 'e3ault! %
•
• allo./eroallo./ero! opsi untu mengatur apaah dii,inan menginput &. 'e3ault! 3alse! opsi untu mengatur apaah dii,inan menginput &. 'e3ault! 3alse •
• allo.0egativeallo.0egative! pengaturan apaah dii,inan menginput bilangan negati3. 'e3ault!! pengaturan apaah dii,inan menginput bilangan negati3. 'e3ault!
3alse. 3alse.
1esimpulan
1esimpulan
'emiian tutorial singat mengenai mengatur 3ormat anga) bai menggunaan PHP 'emiian tutorial singat mengenai mengatur 3ormat anga) bai menggunaan PHP maupun Javascript. Untu *ang menggunaan PHP) ita dapat meman3aatan 3ungsi maupun Javascript. Untu *ang menggunaan PHP) ita dapat meman3aatan 3ungsi number"#ormat$%
number"#ormat$%. -ementara itu) teni *ang menggunaan Javascript sebenarn*a. -ementara itu) teni *ang menggunaan Javascript sebenarn*a cu
cuup up banban*a *a liblibrarrar* * ataatau u pluplugin gin ,,uer* uer* *an*ang g bisbisa a digdigunaunaanan. . 'al'alam am tuttutoriorial al iniini dicontohan menggunaan plugin ,uer*8masMone*. -emoga tutorial ini berman3aat dicontohan menggunaan plugin ,uer*8masMone*. -emoga tutorial ini berman3aat dan terima asih sudah men*ima pen,elasan di tutorial ini.
dan terima asih sudah men*ima pen,elasan di tutorial ini. Fo
Folllloo( ( aaun un t(t(ititteter r ppenenululis is didi 2achmatim2achmatim ununtutu menmendadapapatatan n t(t(eeeet t teterraiaitt pemrograman (eb dan
pemrograman (eb dan
Halaman $ dari 5
3emo dan 3o.nload
3emo dan 3o.nload
•• 'emo program # PHP/ dapat dilihat di'emo program # PHP/ dapat dilihat di http!""codepad.org"r#PbI$Tvhttp!""codepad.org"r#PbI$Tv dan program % dan program %
Javascript/ dapat dilihat di
Javascript/ dapat dilihat di https!"",s3iddle.net"achmatim"$p3m%1g="https!"",s3iddle.net"achmatim"$p3m%1g="
•
• TutTutoriorial al ini ,uga ini ,uga teltelah ah dipdipublubliaiasisian an didi http!""achmatim.net"%&#$"&<"#$"3ormat8http!""achmatim.net"%&#$"&<"#$"3ormat8
mata8uang8rupiah8dalam8php8dan8,avascript" mata8uang8rupiah8dalam8php8dan8,avascript"
-emoga tutorial ini berman3aat untu ita semua dan berbagilah hal bai e seban*a8 -emoga tutorial ini berman3aat untu ita semua dan berbagilah hal bai e seban*a8 ban
ban*a*an*a n*a oraorang ng mamaa a ebebahaahagiagiaan an aaaan n menmenghaghampimpiri ri AndAnda. a. -at-atu u arar*a *a untuntuu DndonesiaK
DndonesiaK
4entang Penulis
4entang Penulis
Achm
Achmad ad SolSolichichin&in& AdAdalalah ah 1u1ululussan an TeTenni i DDn3n3orormamatitiaa)) FaultasFaultas Tenol
Tenologi ogi Dn3ormDn3ormasiasi)) UniUniversversitaitas s 9ud9udi i 1uh1uhurur)) Ja Jaartarta a -#-#) ) %&&%&&$/ $/ dandan Magister Tenologi Dn3ormasi
Magister Tenologi Dn3ormasi)) Universitas DndonesiaUniversitas Dndonesia -%) %&#&/. -aat ini -%) %&#&/. -aat ini sedang menempuh program 'otoral dalam bidang Dlmu omputer di sedang menempuh program 'otoral dalam bidang Dlmu omputer di Un
Univiversersititas as @a@ad,d,ah ah MaMadada) ) JoJog,g,aaarartata. . eegigiataatan n sesehahariri8h8hari ari adadalalahah sebagai 'osen di Universitas 9udi 1uhur
sebagai 'osen di Universitas 9udi 1uhur http!""(((.budiluhur.ac.idhttp!""(((.budiluhur.ac.id/./. egiatan lain ati3 sebagai programmer) (eb developer) s*stem anal*st) egiatan lain ati3 sebagai programmer) (eb developer) s*stem anal*st) ons
onsultultan an dan dan memmemberberiaian n pelapelatihtihan an di di berberbagbagai ai bidbidang ang omomputputerer serta membuat tutorial8tu
serta membuat tutorial8tutorial pratis di torial pratis di bidang omputerbidang omputer. . PenuliPenulis s memilimemilii i situssitus utama di
utama di http!""achmatim.nethttp!""achmatim.net *ang berisi berbagai tutorial pratis di bidang omputer*ang berisi berbagai tutorial pratis di bidang omputer serta men*ediaan buu gratis omputer. Penulis dapat dihubungi melalui email di serta men*ediaan buu gratis omputer. Penulis dapat dihubungi melalui email di achmad.solichinLbudiluhur.ac.id
achmad.solichinLbudiluhur.ac.id dan dan achmatimLgmail.comachmatimLgmail.com) M) M achmatimachmatim) Faceboo) Faceboo achmatim
achmatim dan T(itter L dan T(itter Lachmatimachmatim..
!isensi 3okumen
!isensi 3okumen
-eluruh isi dalam doumen ini dapat digunaan) dimodi3iasi dan -eluruh isi dalam doumen ini dapat digunaan) dimodi3iasi dan disebarluasan secara bebas untu tu,uan pendidian) pembela,aran disebarluasan secara bebas untu tu,uan pendidian) pembela,aran dan buan omersial
dan buan omersial non pro3it non pro3it /) /) dengadengan n s*arat tida menghilangs*arat tida menghilangan) an) menghamenghapuspus atau mengubah atribut penulis doumen ini dan pern*ataan dalam lisensi doumen atau mengubah atribut penulis doumen ini dan pern*ataan dalam lisensi doumen *ang disertaan di setiap doumen. Tida diperbolehan m
*ang disertaan di setiap doumen. Tida diperbolehan mengomersialan tutorial iniengomersialan tutorial ini ecuali mendapatan i,in terlebih dahulu dari penulis.
ecuali mendapatan i,in terlebih dahulu dari penulis.
Halaman 5 dari 5