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
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 |
End Function |
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)
Komentar
Posting Komentar