FUNGSI DAN EXTENSION TERBILANG UNTUK OPEN OFFICE CALC
Baru2 ini ada perubahan yang cukup radikal 🙂 di kantor saya … semua software yang tanpa lisensi dibabat abis dari mOlai Operating System sampE aplikasi2nya termasuk MS Office … kalO cuman ngetik di Word dan ngitung2 formula sederhana Excel sih emang ndak terlalu puyeng untuk migrasinya … mekipun ada perbedaan tapi cuman sedikit … dengan sedikit latihan dan membiasakan diri menggunakan open office masalah perbedaan mungkin bisa diatasi.
Muncul masalah saat file2 excel yang mengandung macro dibuka dengan Calc … macronya nggak mau jalan boss 🙁 … meskipun sekarang sudah ada OpenOffice.org Basic ndak semua perintah2 VB tersedia … dengan sangat terpaksa saya harus say goodbye pada project2 macro Excel saya.
Iseng2 saya coba copy fungsi terbilang saya ke module OpenOffice.org Basic lalu test … bener bos ndak mau jalan … “BASIC runtime error. Sub-procedure or funct……” begitu kata OpenOffice.org Basic … ndak mau nyerah saya cari perintah2 yang mogok, trus saya cari2 referensi di help OpenOffice mungkin saja ada solusinya … setelah edit sana edit sini … fungsi terbilang pun bisa jalan di Calc.
untuk nama fungsinya saya rubah menjadi TERBOC (Terbilang OpenOffice Calc) … contoh :
=TERBOC(123) akan menghasilkan Seratus Duapuluh Tiga
meskipun sudah bisa jalan dengan sukses ada beberapa perbedaan dengan fungsi terbilang saya yang di Excel, berikut beberapa perbedaannya :
- hanya mampu men-convert 14 digit angka (max 99.999.999.999.999) … lebih dari itu akan ngaco terbilangnya … makanya untuk > 14 digit akan mengasilkan pesan Error “#MAX 14 DIGIT#”.
- semua bilangan pecahan akan dibulatkan kebawah … karena fungsi ROUND ndak jalan dan saya gati dengan fungsi FIX atau INT
agar fungsi ini di-load tiap OpenOffice dijalankan saya taruh kodenya di Mymacros>Standard>Module1 … bener ndak yah ? … MDLMDL (Monggo Dipun Leresaken Menawi Dalem Lepat)
berikut adalah kodenya :
1 | Public Function TERBOC(x As Double) As String |
2 | TERBOC=”” |
3 | ANGKA = Array(“”, “Satu”, “Dua”, “Tiga”, “Empat”, “Lima”, “Enam”, “Tujuh”, “Delapan”, “Sembilan”, “Sepuluh”, “Sebelas”, “Duabelas”, “Tigabelas”, “Empatbelas”, “Limabelas”, “Enambelas”, “Tujuhbelas”, “Delapanbelas”, “Sembilanbelas”) |
4 | LEVEL = Array(” Triliun “, ” Miliar “, ” Juta “, ” Ribu “, ” “) |
5 | MAXDIGIT=right(“00000000000000” & abs(int(x)),15) |
6 | For i = 0 To 4 |
7 | TEMPRP = “” |
8 | If fix(Mid(MAXDIGIT, 1 + (3 * i), 1)) =1 then TEMPRP = “Seratus “ |
9 | If fix(Mid(MAXDIGIT, 1 + (3 * i), 1)) > 1 Then TEMPRP = ANGKA(Mid(MAXDIGIT, 1 + (3 * i), 1)) & “ratus “ |
10 | If fix(Mid(MAXDIGIT, 2 + (3 * i), 2)) < 20 Then TEMPRP = TEMPRP & ANGKA(Mid(MAXDIGIT, 2 + (3 * i), 2)) |
11 | If fix(Mid(MAXDIGIT, 2 + (3 * i), 2)) >= 20 Then TEMPRP = TEMPRP & ANGKA(Mid(MAXDIGIT, 2 + (3 * i), 1)) & “puluh ” & ANGKA(Mid(MAXDIGIT, 3 + (3 * i), 1)) |
12 | BERILEVEL: |
13 | If TEMPRP <> “” Then TEMPRP = TEMPRP & LEVEL(i) |
14 | If TEMPRP = “Satu Ribu ” Then TEMPRP = “Seribu “ |
15 | TERBOC =TERBOC & TEMPRP |
16 | Next i |
17 | If Abs(x) > 99999999999999 Then TERBOC=”#MAX 14 DIGIT#” |
18 | If Abs(fix(x)) = 0 Then TERBOC = “Nol “ |
19 | If x < 0 Then TERBOC = “Minus “&TERBOC |
20 | End Function |
Ndak puWas dengan fungsi bikinan saya … saya coba2 cari menu add-in di OpenOffice … hasilnya saya nemu yang namanya Extension Manager … langsung saja meluncur ke http://www.openoffice.org/ … hasilnya saya nemu extension yang namanya NUMBERTEXT saya pikir ini extension untuk bahasa inggris tetapi setelah saya baca ternyata bahasa indonesia juga didukung … langsung aja donloth filenya disini
selesE donloth saya pasang di OpenOffice saya dengan cara klik menu Tools>>Extensions Manager>> Add … cari file hasil unduhan tadi (numbertext-0.9.4.oxt) … klik Open … tunggu sampE selesE dipasang Extension-nya … lalu close
setelah itu saya coba test
Cell A1 ketikkan 123 ; cell B1 ketikkan =NUMBERTEXT(A1) ; hasilnya seratus dua puluh tiga
Cell A2 ketikkan 123,45 ; cell B2 ketikkan =NUMBERTEXT(A2) ; hasilnya seratus dua puluh tiga koma empat lima
Cell A3 ketikkan 123 ; cell B3 ketikkan =MONEYTEXT(A3;”IDR”;”id_ID”) ; hasilnya seratus dua puluh tiga rupiah
Cell A4 ketikkan 123,45 ; cell B4 ketikkan =MONEYTEXT(A4;”IDR”;”id_ID”) ; hasilnya seratus dua puluh tiga rupiah dan empat puluh lima sen
Cell A5 ketikkan 123 ; cell B5 ketikkan =MONEYTEXT(A5;”GBP”;”en_EN”) ; hasilnya one hundred and twenty-three pounds sterling
Cell A6 ketikkan 123,45 ; cell B6 ketikkan =MONEYTEXT(A6;”GBP”;”en_EN”) ; hasilnya one hundred and twenty-three pounds sterling and forty-five pence
Cell A7 ketikkan 123 ; cell B7 ketikkan =MONEYTEXT(A7;”USD”;”en_US”) ; hasilnya one hundred and twenty-three U.S. dollars
Cell A8 ketikkan 123,45 ; cell B8 ketikkan =MONEYTEXT(A8;”USD”;”en_US”) ; hasilnya one hundred and twenty-three U.S. dollars and forty-five cents
extension ini sangat lengkap, banyak bahasa dan satuan mata uang yang didukung, bisa menangani angka2 pecahan … selamat mencoba … smoga bermanpaat … dan sekali lagi MDLMDL(Monggo Dipun Leresaken Menawi Dalem Lepat)
bingung cara downloadnya ??Baca aja halaman download dengan klik icon di samping |
feed , email and my social media![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
eXTENSION Cell A1 ketikkan 123 ; cell b1 ketikkan =NUMBERTEXT(A1) ; hasilnya seratus dua puluh tiga |
Cell A2 ketikkan 123,45 ; cell b2 ketikkan =NUMBERTEXT(A2) ; hasilnya seratus dua puluh tiga koma empat lima |
Cell A3 ketikkan 123 ; cell b3 ketikkan =MONEYTEXT(A3;”IDR”;”id_ID”) ; hasilnya seratus dua puluh tiga rupiah |
Cell A4 ketikkan 123,45 ; cell b4 ketikkan =MONEYTEXT(A4;”IDR”;”id_ID”) ; hasilnya seratus dua puluh tiga rupiah dan empat puluh lima sen |
Cell A5 ketikkan 123 ; cell b5 ketikkan =MONEYTEXT(A5;”GBP”;”en_EN”) ; hasilnya one hundred and twenty-three pounds sterling |
Cell A6 ketikkan 123,45 ; cell b6 ketikkan =MONEYTEXT(A6;”GBP”;”en_EN”) ; hasilnya one hundred and twenty-three pounds sterling and forty-five pence |
Cell A7 ketikkan 123 ; cell b7 ketikkan =MONEYTEXT(A7;”USD”;”en_US”) ; hasilnya one hundred and twenty-three U.S. dollars |
Cell A8 ketikkan 123,45 ; cell b8 ketikkan =MONEYTEXT(A8;”USD”;”en_US”) ; hasilnya one hundred and twenty-three U.S. dollars and forty-five cents |
hhmm salam kenal mas
saya musti belajar banyak dari sini
makasih
biasa aja pak 😉 … blog saya ini malah kalah hits dibanding punya bapak
Absen sajah gan…
trimakasih kunjungan baliknya
kok aku coba pake Moneytex yg indonesia -IDR- gak bs ya? tetep keluarnya bhs inggris.
mohon bantuannya…
formula2 contoh diatas sudah saya coba dan bisa … mungkin regional/local setting PC anda belum di rubah ke indonesia
mas…
gmn mengaplikasikan fungsi terbilang untk bilangan yg dibulatkan?
cnth; 66,6 jadi 67….tp klo diterjemahkan dng fungsi terbilang jadinya “enam ribu enam ratus enam”…
plees ya…
lg bikin raport siswa..
coba baca link ini
http://norkuys.wordpress.com/2010/11/05/variasi-kombinasi-add-in-terbilang-2/
http://norkuys.wordpress.com/2011/03/01/fungsi-varterb-dalam-terbilangpack-xls-ternyata-error-dipake-mengisi-nilai-hasil-try-out-ujian-nasional/
Dim angka as variant
angka = Array(“”,”Satu”,”Dua”,”Tiga”,”Empat”,”Lima”,”Enam”,_
“Tujuh”,”Delapan”,”Sembilan”,”Sepuluh”,”Sebelas”)
nilai = abs(nilai)
If nilai<12 Then
terbilang = " " & angka(nilai)
Elseif nilai<20 Then
terbilang = terbilang(nilai – 10) &" Belas"
Elseif nilai<100 Then
terbilang = terbilang(fix(nilai/10))& " Puluh" & terbilang(nilai mod 10)
Elseif nilai<200 Then
terbilang = " Seratus" & terbilang(nilai mod 100)
Elseif nilai<1000 Then
terbilang = terbilang(Fix(nilai/100)) & " Ratus" & terbilang(nilai mod 100)
Elseif nilai<2000 Then
terbilang = " Seribu" & terbilang(nilai mod 1000)
Elseif nilai<1000000 Then
terbilang = terbilang(Fix(nilai/1000)) & " Ribu" & terbilang(nilai mod 1000)
Elseif nilai<1000000000 Then
terbilang = terbilang(Fix(nilai/1000000)) & " Juta" &_
terbilang(nilai-(Fix(nilai/1000000)*1000000))
Elseif nilai<1000000000000 Then
terbilang = terbilang(Fix(nilai/1000000000)) & " Milyar" &_
terbilang(nilai-(Fix(nilai/1000000000)*1000000000))
Elseif nilai<1000000000000000 Then
terbilang = terbilang(Fix(nilai/1000000000000)) & " Trilyun" &_
terbilang(nilai-(Fix(nilai/1000000000000)*1000000000000))
Else
terbilang = "Terlalu banyak :)"
EndIf
lumayan panjang jugak kodenya 🙂
pa kompi saya d hardning,jd tak bs setting regional bhs.mohon bantu gmn pk number text tp keluarny bhs indo
maap sudah lama saya tidak menggunakan open ofice lagi