Fungsi terbilang yang akan kita masukkan berikut mampu menerjemahkan bilangan sampai dengan ratusan trilyun dan belum mampu menerjemahkan nilai di belakang desimal (setelah koma). Saya menggunakan OpenOffice.org versi 2 beta, langkah-langkah yang saya lakukan untuk memasukkan fungsi terbilang pada OpenOffice.org Calc adalah:
- Jalankan OpenOffice.org Calc, buka menu Tools ? Macros ? Organize Macros ? OpenOffice.org Basic..., sehingga muncul dialog box OpenOffice.org Basic.
- Pada dialog box OpenOffice.org Basic, pilih makro dari My Macros ? Standard, kemudian klik tombol New.
- Masukkan kode di bagian bawah halaman ini, dan copy paste-kan pada halaman editor yang muncul.
- Uji pada sheet dengan memasukkan fungsi terbilangnya. Lihat contoh penggunaannya.
CODE:
- 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
Penggunaan dan Contoh
bilangan adalah bilangan atau cell yang berisi bilangan yang akan diterjemahkan.
style adalah nilai integer yang sifatnya optional untuk mengatur output cara penulisan huruf besar atau kecilnya, dan jika tidak disertakan akan tertampil huruf besar pada awal kalimat saja.
Nilai style
1 = Ditulilis huruf besar semua;
2 = Ditulis huruf kecil semua;
3 = Huruf besar hanya pada awal kata saja;
Lainnya = Huruf besar pada awal kalimat saja.
=terbilang(bilangan; style)
bilangan adalah bilangan atau cell yang berisi bilangan yang akan diterjemahkan.
style adalah nilai integer yang sifatnya optional untuk mengatur output cara penulisan huruf besar atau kecilnya, dan jika tidak disertakan akan tertampil huruf besar pada awal kalimat saja.
Nilai style
1 = Ditulilis huruf besar semua;
2 = Ditulis huruf kecil semua;
3 = Huruf besar hanya pada awal kata saja;
Lainnya = Huruf besar pada awal kalimat saja.
Misalkan cell B1 diisi bilangan dengan nilai 25000 dan kita akan menuliskan hasilnya pada cell B2
=terbilang(B1)
menghasilkan: Dua puluh lima ribu=terbilang(B1;1)
menghasilkan: DUA PULUH LIMA RIBU=terbilang(B1;2)
menghasilkan: dua puluh lima ribu=terbilang(B1;3)
menghasilkan: Dua Puluh Lima Ribu=terbilang(B1;4)
menghasilkan: Dua puluh lima ribu
Tidak ada komentar:
Posting Komentar