12 November 2016

Cara Membuat Fitur Terbilang atau kata-kata dari angka (word to ammount) dalam iReport


Terbilang di iReport


Asalamualaikum

Pada kesempatan kali ini saya ingin sharing tentang iReport yaitu tentang bagaimana cara membuat sebuah fitur terbilang.
Biasanya pada sebuah kwitansi atau pada suatu report bukti bayar terdapat kata-kata yang menjelaskan sebuah grandtotal dalam kwitansi tersebut, misalnya grandtotal pembayaran saya Rp.1500.000 maka terbilangnya adalah "Satu Juta Lima Ratus Ribu Rupiah".

Oke langsung saja kita mulai. bismilahirahmanirahim

Langkah pertama, kita membutuhkan sebuah library untuk menerjemahkan angka menjadi rangkaian kata, saya menggunakan lib adempiere, saya sudah sertakan link downloadnya beserta report ini.

Setelah didownload dan diextrak file zipnya, sekarang copy-kan lib tersebut didalam folder iReport anda, yaitu di iReport/ireport/libs

berikutnya buka iReport. kik "Tools" pada menubar. pada bagian iReport pilih tab classpath. kemudian klik add jar, lalu pilih jar adempiere.jar tadi dan klik ok

word to amount

Word to Amount


Sekarang kita mulai membuat reportnya

Masuk kebagian SQL/query buat querynya begini saja select 1500000 as grandtotal

iReport Amount to Word


Langkah selanjutnya adalah membuat variable,
buatlah variable dan beri nama words_amount lalu isikan coding berikut pada variable expresion
new org.compiere.util.AmtInWords_IN().getAmtInWords($F{grandtotal}.toString())  +" Rupiah"

iReport Amount to Word

lalu buat lagi sebuah variable dan beri nama terbilang lalu pada variable exresionnya isikan coding ini
$V{words_amount}.replaceAll( "Koma Nol", "" )

iReport Amount to Word


selanjutnya masukan field grandtotal dan variable terbilang kedalam report. kemudian run

anda bisa mendownload lib Adempiere dan jrxml report ini disini.

Sekian artikel saya tentang bagaimana cara membuat fungsi terbilang dengan menggunakan iReport, terimakasi sudah membaca
Wasalamualaikum.

11 komentar:

  1. Ghan, Aq coba ko error ya,,, kira2 knp ghan? errornya sprti ini

     
    Compiling to file... D:\zClient\AmountToWord\amounttoword.jasper
    Errors compiling D:\zClient\AmountToWord\amounttoword.jasper!
    Compilation exceptions: com.jaspersoft.ireport.designer.compiler.ErrorsCollector@ba117b net.sf.jasperreports.engine.JRException: Errors were encountered when compiling report expressions class file: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed, calculator_amounttoword_1491933109034_812139: 161: unable to resolve class org.compiere.util.AmtInWords_IN   @ line 161, column 40.calculator_amounttoword_1491933109034_812139: 225: unable to resolve class org.compiere.util.AmtInWords_IN   @ line 225, column 40.calculator_amounttoword_1491933109034_812139: 289: unable to resolve class org.compiere.util.AmtInWords_IN   @ line 289, column 40. 3 errors     at net.sf.jasperreports.compilers.JRGroovyCompiler.compileUnits(JRGroovyCompiler.java:101)     at net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCompiler.java:188)     at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:215)     at net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(JasperCompileManager.java:131)     at com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:514)     at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572)     at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997) Caused by: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed, calculator_amounttoword_1491933109034_812139: 161: unable to resolve class org.compiere.util.AmtInWords_IN   @ line 161, column 40.calculator_amounttoword_1491933109034_812139: 225: unable to resolve class org.compiere.util.AmtInWords_IN   @ line 225, column 40.calculator_amounttoword_1491933109034_812139: 289: unable to resolve class org.compiere.util.AmtInWords_IN   @ line 289, column 40. 3 errors     at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:296)     at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:787)     at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:438)     at net.sf.jasperreports.compilers.JRGroovyCompiler.compileUnits(JRGroovyCompiler.java:97)     ... 6 more
    Compilation running time: 418!

    BalasHapus
    Balasan
    1. gan apa error seperti ini udah solved?
      dan kalo sudah solved gimana caranya gan?

      Hapus
  2. adempiere.jar nya sudah d pasang d iReportnya blm gan?

    BalasHapus
  3. Gan kebutuhan nya apa aja? Gw pake jdk 8_152 terus gw gapake ireport tapi pake jaspersoft studio dan error.. Kalo di build path udah gw tambahin kok di java buildpath nya..

    BalasHapus
  4. gan ada adempire nya gak?
    klo ada boleh minta atau kasih link untuk download nya

    BalasHapus
  5. di ubuntu saya masi kaya gini kenapa ya mas ,,,,

    java.lang.UnsupportedClassVersionError: org/compiere/util/AmtInWords_IN : Unsupported major.minor version 52.0

    BalasHapus
  6. maaf, bisa bantu sy buat fitur terbilang di jaspersoft studio om? terima kasih

    BalasHapus
  7. gan, apa adempiere terupdate nya masih ada gan?

    BalasHapus
    Balasan
    1. coba mampir kesini gan http://www.adempiere.net/web/guest/download

      Hapus

Answer HackerRank Cat and Mouse

Two cats and a mouse are at various positions on a line. You will be given their starting positions. Your task is to determine which cat w...