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.
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
5 Comments so far
Leave a comment
naruhnya dudalam sub main …..end sub
Comment by akhrikas April 17, 2008 @ 4:30 amatau gimana?
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 April 18, 2008 @ 4:44 amwah sudah tak cuba…. kagak bisa tuh…..
Comment by Yudi April 22, 2008 @ 1:29 amgmn neeeh….
Bisa koq…macrosnya ada 2 ya!!!
Comment by dinno April 22, 2008 @ 7:05 am1. 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!!!!
mas koq gak bisa juga yah, pada saat saya jalankan (run) muncul error pada script :
Comment by t0f1q November 10, 2009 @ 5:20 pmKekata = Kekata(Bilangan – 10) & ” belas”
katanya :
basic syntax error, parentheses do not match
saya pakai Oo 3.
thanx