Senin, November 10, 2008

Fungsi Terbilang pada open office calc

Fungsi Terbilang pada open office calc

Berhubung dengan maraknya sweeping microsoft yang dilakukan akhir-akhir ini dikantor kita oleh adik tirinya Mr. Bill Gates mas Ahid alis "Bambang Sukarelawan", maka mau tidak mau kita harus segera ber-migrasi ke open source. Sebenarnya banyak pengolah kata dan spreedsheet yang free "gratis", tetapi yang mendekati Microsoft Office adalan openoffice.org besutan Sunmicrosystem.
Memang masih banyak kekurangan-kekurangan dari openoffice.org, banyak fitur-fiturnya yang aneh yang tidak eh.. eh belum familier. Misalnya pembutan border pada Calc, mailmerge pada write. Belum lagi openofficebase yang sangat kuno "mungkin sih???, ato cuma belum tahu"', sangat berbeda dengan MSAcces. Belum lagi bikin lemot komputer dengan prosesnya yang begitu lama.
Tapi tidak masalah, sudah saatnya kita migrasi ke open source, yang penuh dengan semangat BERBAGI, tidak seperti Mr BG, he..he..., kita harus segera keluar dari strategi marketingnya Mr BG, jangan terus bergantung dengan Microsoft, oke

Fungsi Terbilang.
Pekerjaan kantor kita sering sekali berhubungan dengan yang namanya fungsi terbilang, di openofficecalc bisa juga dibuat seperti di MSexel, fasilitas makro tersedia, meskipun agak berbeda. Tetapi dengan semangat BERBAGI pasti kita bisa.
langkah-langkah :
1. Buka openoffice.org calc
2. Tolls > Macros > Organize Makcros > Openoffice.org basic...

3. My Macros > Standard > klik Add.
4. Ketik code berikut ini :

Fungsi Terbilang pada open office calc

Berhubung dengan maraknya sweeping microsoft yang dilakukan akhir-akhir ini dikantor kita oleh adik tirinya Mr. Bill Gates mas Ahid alis "Bambang Sukarelawan", maka mau tidak mau kita harus segera ber-migrasi ke open source. Sebenarnya banyak pengolah kata dan spreedsheet yang free "gratis", tetapi yang mendekati Microsoft Office adalan openoffice.org besutan Sunmicrosystem.
Memang masih banyak kekurangan-kekurangan dari openoffice.org, banyak fitur-fiturnya yang aneh yang tidak eh.. eh belum familier. Misalnya pembutan border pada Calc, mailmerge pada write. Belum lagi openofficebase yang sangat kuno "mungkin sih???, ato cuma belum tahu"', sangat berbeda dengan MSAcces. Belum lagi bikin lemot komputer dengan prosesnya yang begitu lama.
Tapi tidak masalah, sudah saatnya kita migrasi ke open source, yang penuh dengan semangat BERBAGI, tidak seperti Mr BG, he..he..., kita harus segera keluar dari strategi marketingnya Mr BG, jangan terus bergantung dengan Microsoft, oke

Fungsi Terbilang.
Pekerjaan kantor kita sering sekali berhubungan dengan yang namanya fungsi terbilang, di openofficecalc bisa juga dibuat seperti di MSexel, fasilitas makro tersedia, meskipun agak berbeda. Tetapi dengan semangat BERBAGI pasti kita bisa.
langkah-langkah :
1. Buka openoffice.org calc
2. Tolls > Macros > Organize Makcros > Openoffice.org basic...
gbr
3. My Macros > Standard > klik Add.
4. Ketik code berikut ini :

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)) & " rupiah"
Else
temp = trim(kekata(Bilangan)) & " rupiah"
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
' Wis ganti fungsi bos
Function Terbil(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
Terbil = ucase(temp)
ElseIf Style=2 Then
Terbil = 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

Terbil = join(kata())
Else
Terbil = ucase(mid(temp,1,1)) & mid(temp,2)
EndIf
End Function

5. File > Save
6. File > Exit

Cara penggunaan Fungsi tersebut adalah:
=terbilang(cell;style) atao =terbil(cell;style) untuk terbilang tanpa rupiah.
cell adalah kolom 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 tampil huruf besar pada awal kalimat saja.
Nilai Style dapat dilihat sebagai berikut:
1 = Ditulis huruf kapital (Uppercase) semua
2 = Ditulis huruf kecil semua
3 = Huruf kapital hanya pada awal kata saja
Lainnya = Huruf besar pada awal kalimat saja
Selamat Mencoba!
by roy
matur tengkyu pada h2o, delphikidz, de4dl0ck, my family.

2 komentar:

Laily Tresnawaty mengatakan...

Terimakasih mas Thomas Sapta Nugraha, saya dah nyari ini lebih dari 3 Tahun, gak nyari tiap hari sih, tapi yang jelas selama kurun waktu itu saya nyari script ini, terimkasih, sangat berguna sekali, semoga ini jadi amal anda.

Eko Prasetiyo mengatakan...

Pendekatan lain bisa menggunakan ekstension numbertext.
Berikut link tentang numbertext dalam bahasa Indonesia
http://ekoprasetiyo.blogspot.com/2010/08/ekstension-utk-fungsi-terbilang.html