D!Nno's ZoNe


Fungsi terbilang pada Openoffice.org
February 18, 2008, 5:32 am
Filed under: Open Source

Kemarin, teman saya menanyakan soal fungsi terbilang pada linux, khususnya untuk aplikasi open office yang baru beberapa bulan ini di implementasikan di kantor saya (maklumlah, IT support saya kebetulan merupakan aktivis linux yang eksistensinya harus di dukung penuh).

Saya melihat terdapat kesamaan logika pada fungsi Ms. Excel dan Oppen Office sehinggan memungkinkan kita untuk  melakukan konversi dari Angka menjadi Terbilang (mis. 7.500 menjadi Tujuh Ribu Lima Ratus) atau bahkan menambahkan Mata uang dibelakangnya (mis. Rupiah) atau juga dalam bahasa inggris..hebatttt bukan??=)

Dengan penuh rasa penasaran saya mencoba bereksperimen dengan distro pclinuxos yang saya miliki, berikut tahapan-tahapan yang sudah saya lakukan…dan pastinya anda juga harus mencoba.

1. Buka open office.org Calc anda :
 
 2.Klik Tools > Macros > Organize Macros > OpenOffice.org Basic Macros
 
3. Masukkan kode di bawah ini dengan cara copy – paste  pada jendela editor yang muncul :

Function Kekata(Bilangan as double) As String
Dim angka as variant

angka = Array(“”,“satu”,“dua”,“tiga”,“empat”,“lima”,“enam”,_
“tujuh”,“delapan”,“sembilan”,“sepuluh”,“sebelas”)
Bilangan = abs(Fix(Bilangan))
If Bilangan<12 Then
Kekata = ” “ & angka(Bilangan)
Elseif Bilangan<20 Then
Kekata = Kekata(Bilangan – 10) & ” belas”
Elseif Bilangan<100 Then
Kekata = Kekata(Fix(Bilangan/10)) & ” puluh” & Kekata(Bilangan mod 10)
Elseif Bilangan<200 Then
Kekata = ” seratus” & Kekata(Bilangan mod 100)
Elseif Bilangan<1000 Then
Kekata = Kekata(Fix(Bilangan/100)) & ” ratus” & Kekata(Bilangan mod 100)
Elseif Bilangan<2000 Then
Kekata = ” seribu” & Kekata(Bilangan mod 1000)
Elseif Bilangan<1000000 Then
Kekata = Kekata(Fix(Bilangan/1000)) & ” ribu” & Kekata(Bilangan mod 1000)
Elseif Bilangan<1000000000 Then
Kekata = Kekata(Fix(Bilangan/1000000)) & ” juta” &_
Kekata(Bilangan- (Fix(Bilangan/1000000)*1000000))
Elseif Bilangan<1000000000000 Then
Kekata = Kekata(Fix(Bilangan/1000000000)) & ” milyar” &_
Kekata(Bilangan- (Fix(Bilangan/1000000000)*1000000000))
Elseif Bilangan<1000000000000000 Then
Kekata = Kekata(Fix(Bilangan/1000000000000)) & ” trilyun” &_
Kekata(Bilangan- (Fix(Bilangan/1000000000000)*1000000000000))
Else
Kekata = “Error! Input Tidak Dapat Diproses.”
EndIf

End Function

Function Terbilang(Bilangan as Double, Optional Style as Integer) as String
Dim temp as String

If Bilangan<0 Then
temp = “minus “ & trim(kekata(Bilangan))
Else
temp = trim(kekata(Bilangan))
EndIf

If Style=1 Then
Terbilang = ucase(temp)
ElseIf Style=2 Then
Terbilang = lcase(temp)
ElseIf Style=3 Then
kata = split(temp)
l = LBound(kata)
u = UBound(kata)
For i=l to u
kata(i) =  ucase(mid(kata(i),1,1)) & mid(kata(i),2)
Next i
Terbilang = join(kata())
Else
Terbilang = ucase(mid(temp,1,1)) & mid(temp,2)
EndIf

End Function

4. Lakukan pengujian pada cell dengan memasukkan fungsi “=TERBILANG(Cell)” (mis. =TERBILANG(B4))

 

Selamat Mencoba…=p

Contributed by. Maseko

Advertisement

5 Comments so far
Leave a comment

naruhnya dudalam sub main …..end sub
atau gimana?

Comment by akhrikas

gampang mz…langsung aja copy seluruh script di atas, kemudian paste di editor macros!!!g’ perlu mikir harus dimulai dan berakhir dimana!!!:)

Comment by dinno

wah sudah tak cuba…. kagak bisa tuh…..
gmn neeeh….

Comment by Yudi

Bisa koq…macrosnya ada 2 ya!!!
1. copy script dari awal sampai (Kekata = “Error! Input Tidak Dapat Diproses.”
EndIf)
2. Mulai dari (Function Terbilang(Bilangan as Double, Optional Style as Integer) as String) sampai End function…
Boommmm…tes dengan format rumus =TERBILANG(cell)
Semoga membantu!!!!

Comment by dinno

mas koq gak bisa juga yah, pada saat saya jalankan (run) muncul error pada script :
Kekata = Kekata(Bilangan – 10) & ” belas”
katanya :
basic syntax error, parentheses do not match
saya pakai Oo 3.
thanx

Comment by t0f1q




Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s



Follow

Get every new post delivered to your Inbox.