Dalam pekerjaan dengan spreadsheet terkadang kita harus membuat format terbilang dari suatu bilangan seperti dalam pembuatan kuitansi.
Misalnya 1.500 dengan format terbilang Seribu Lima Ratus atau Rp. 2.300 dengan format Dua Ribu Tiga Ratus Rupiah. Jika dalam jumlah sedikit tentu tidak masalah menuliskannya secara manual namun jika jumlah yangg harus dikonversi cukup banyak dan angkanya cukup besar maka bisa jadi masalah.


Di google banyak contoh solusi masalah ini. Sebagian besar menggunakan VBA atau macro dari spreadsheet. Jangan heran kalau hasil search yang dihasilkan google kebanyakan adalah untuk M$ Excel. Bahkan untuk M$ Excel terdapat addins fungsi terbilang dalam bahasa Indonesia (https://encrypted.google.com/#hl=&q=xl-mania+addin+terbilang&sourceid=navclient-ff&rlz=1B7GGLL_enID340ID340&ie=UTF-8&fp=1&cad=b).


Bagaimana dengan pengguna OpenOffice? OpenOffice memang dalam derajat tertentu bisa menggunakan VBA yang dirancang untuk Excel. Salah satu varian OpenOffice yaitu Go-OO.org bahkan bisa langsung membuka dokumen XLS yg memiliki macro terbilang dengan lancar di saat OpenOffice vanila justru tidak bisa (OpenOffice yg ada di repo ubuntu menggunakan source Go-OO.org).


Salah satu kekuatan OpenOffice adalah adanya extension yang memungkinkan kita menambahkan fitur-fitur tertentu untuk OpenOffice. Nah untuk melakukan konversi dari angka ke teks ternyata ada extensionnya, yaitu NUMBERTEXT/MONEYTEXT.


Extension numbertext/moneytext awalnya dikembangkan dari fungsi BAHTTEXT yg terdapat di spreadsheet M$ Excel untuk mengkonversi bilangan dan mata uang Thailand, yang distandarisasi dengan ECMA–376 and ISO/IEC 29 500:2008 Office Open XML format.
Extension numbertext/moneytext sendiri menggunakan bahasa pemrograman Soros. Soros menggunakan aturan regex untuk melakukan konversi dari angka ke teks dan konversi rekursif lainnya berdasarkan urutan karakter yg memiliki kesamaan.
Keterangan lebih lanjut mengenai numbertext/moneytext dan soros dapat dilihat di http://numbertext.org/#about


Numbertext/moneytext menggunakan rules yg berdasarkan regex utk melakukan konversi dari angka ke teks. Rules utk tiap bahasa yg didukung oleh numbertext/moneytext bisa dilihat di :
Rules utk bahasa Indonesia jg bisa dilihat di situs tersebut.
Sedangkan versi terbaru dari numbertext/moneytext bisa di download di :
http://extensions.services.openoffice.org/project/numbertext


Contoh penggunaan utk numbertext:

Misalnya sel B3 berisi data angka : 123.456.789
Di sel C3 kita tuliskan : =NUMBERTEXT(B3;"id_ID")

Hasil dari rumus tsb di cel C3 : seratus dua puluh tiga juta empat ratus lima puluh enam ribu tujuh ratus delapan puluh sembilan
Penulisan rumus/fungsi bisa dijabarkan sbb : =NUMBERTEXT(angka atau
sel;"kode bahasa")

Perhatikan bahwa rumus tsb menghasilkan teks dlm format lowercase. Kita bisa memodifikasinya dgn menggabungkannya dgn rumus =PROPER().
Sehingga penulisannya di sel C3 menjadi :
=PROPER(NUMBERTEXT(B3;"id_ID"))
Output yg dihasilkan akan menjadi : Seratus Dua Puluh Tiga Juta Empat Ratus Lima Puluh Enam Ribu Tujuh Ratus Delapan Puluh Sembilan

Contoh penggunaan utk moneytext:

Misalnya sel B7 berisi data angka : 123.456.789
Di sel C7 kita tuliskan : =MONEYTEXT(B7;"IDR";"id_ID")

Hasil dari rumus tsb di cel C3 : seratus dua puluh tiga juta empatratus lima puluh enam ribu tujuh ratus delapan puluh sembilan rupiah.
Penulisan rumus/fungsi bisa dijabarkan sbb: =MONEYTEXT(angka atau sel;"kode mata uang";"kode bahasa")

Perhatikan bahwa rumus tsb menghasilkan teks dlm format lowercase.
Kita bisa memodifikasinya dgn menggabungkannya dgn rumus =PROPER().
Sehingga penulisannya di sel C7 menjadi :
=PROPER(MONEYTEXT(B7;"IDR";"id_ID"))

Output yg dihasilkan akan
menjadi : Seratus Dua Puluh Tiga Juta Empat Ratus Lima Puluh Enam Ribu Tujuh Ratus Delapan Puluh Sembilan Rupiah


Extension NUMBERTEXT/MONEYTEXT sudah di tes di OpenOffice bawaan Ubuntu LTS dan OpenOffice vanilla dari situs openoffice.org dan mungkin juga bekerja di turunan OpenOffice lainnya.


Nah berhubung NUMBERTEXT/MONEYTEXT memiliki framework yang fleksibel sehingga bisa diterjemahkan ke berbagai bahasa di dunia, ada yang tertantang untuk membuat NUMBERTEXT/MONEYTEXT bisa melakukan konversi angka ke teks dalam bahasa daerah Indonesia??
--
(^-^)v

1 comments

  1. cakbud  

    siip.. thanks infonya..

Post a Comment

Subscribe to: Post Comments (Atom)

Gerai Dinar : Investasi Proteksi Nilai

DistroWatch.com: News

Kubuntu News