Sabtu, 11 September 2010

Fungsi Terbilang pada OpenOffice.org

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:
  1. Jalankan OpenOffice.org Calc, buka menu Tools ? Macros ? Organize Macros ? OpenOffice.org Basic..., sehingga muncul dialog box OpenOffice.org Basic.
    Langkah 1
  2. Pada dialog box OpenOffice.org Basic, pilih makro dari My Macros ? Standard, kemudian klik tombol New
    Langkah 2
  3. Masukkan kode di bagian bawah halaman ini, dan copy paste-kan pada halaman editor yang muncul. 
    Langkah 3
  4. Uji pada sheet dengan memasukkan fungsi terbilangnya. Lihat contoh penggunaannya.
    Langkah 4
Kode
CODE:
  1. Function Kekata(Bilangan as double) As String
  2.     Dim angka as variant
  3.    
  4.     angka = Array("","satu","dua","tiga","empat","lima","enam",_
  5.     "tujuh","delapan","sembilan","sepuluh","sebelas")
  6.     Bilangan = abs(Fix(Bilangan))
  7.     If Bilangan<12 Then
  8.         Kekata = " " & angka(Bilangan)
  9.     Elseif Bilangan<20 Then
  10.         Kekata = Kekata(Bilangan - 10) & " belas"
  11.     Elseif Bilangan<100 Then
  12.         Kekata = Kekata(Fix(Bilangan/10)) & " puluh" & Kekata(Bilangan mod 10)
  13.     Elseif Bilangan<200 Then
  14.         Kekata = " seratus" & Kekata(Bilangan mod 100)
  15.     Elseif Bilangan<1000 Then
  16.         Kekata = Kekata(Fix(Bilangan/100)) & " ratus" & Kekata(Bilangan mod 100)
  17.     Elseif Bilangan<2000 Then
  18.         Kekata = " seribu" & Kekata(Bilangan mod 1000)
  19.     Elseif Bilangan<1000000 Then
  20.         Kekata = Kekata(Fix(Bilangan/1000)) & " ribu" & Kekata(Bilangan mod 1000)
  21.     Elseif Bilangan<1000000000 Then
  22.         Kekata = Kekata(Fix(Bilangan/1000000)) & " juta" &_
  23.         Kekata(Bilangan- (Fix(Bilangan/1000000)*1000000))
  24.     Elseif Bilangan<1000000000000 Then
  25.         Kekata = Kekata(Fix(Bilangan/1000000000)) & " milyar" &_
  26.         Kekata(Bilangan- (Fix(Bilangan/1000000000)*1000000000))
  27.     Elseif Bilangan<1000000000000000 Then
  28.         Kekata = Kekata(Fix(Bilangan/1000000000000)) & " trilyun" &_
  29.         Kekata(Bilangan- (Fix(Bilangan/1000000000000)*1000000000000))
  30.     Else
  31.         Kekata = "Error! Input Tidak Dapat Diproses."
  32.     EndIf
  33.    
  34. End Function
  35.  
  36. Function Terbilang(Bilangan as Double, Optional Style as Integer) as String
  37.     Dim temp as String
  38.    
  39.     If Bilangan<0 Then
  40.         temp = "minus " & trim(kekata(Bilangan))
  41.     Else
  42.       temp = trim(kekata(Bilangan))
  43.     EndIf
  44.  
  45.     If Style=1 Then
  46.       Terbilang = ucase(temp)
  47.     ElseIf Style=2 Then                     
  48.         Terbilang = lcase(temp)
  49.     ElseIf Style=3 Then                     
  50.         kata = split(temp)
  51.         l = LBound(kata)       
  52.         u = UBound(kata)
  53.         For i=l to u
  54.             kata(i) =  ucase(mid(kata(i),1,1)) & mid(kata(i),2)
  55.         Next i
  56.         Terbilang = join(kata())
  57.     Else                 
  58.         Terbilang = ucase(mid(temp,1,1)) & mid(temp,2)
  59.     EndIf
  60.  
  61. End Function
Penggunaan dan Contoh
=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