You are on page 1of 145

GUNADARMA UNIVERSITY

FACULTY OF COMPUTER SCIENCE AND INFORMATION


TECHNOLOGY

TAGGING APPLICATION FOR CUSTOMER DATA IN


WITHDRAWAL FORM USING XBRL FORMAT

Name : Bio Abidzar Gifari

NPM : 18111131

Department : Information System

Supervisor : Dr. Lintang Yuniar Banowosari, S.Kom., M.Sc.

This Thesis Submitted to The Faculty of Computer Science


Gunadarma University
In Partial Fulllment of The Requirements
For The Undergraduate Degree
Jakarta
2015
STATEMENT OF ORIGINALITY AND
PUBLICATION

I who undesigned below:

Name : Bio Abidzar Gifari


NPM : 18111131
Title : Tagging Application for Customer Data
in Withdrawal Form Using XBRL format
Session Date : March 28th 2015
Passed Date :
declare that this submission is my own work and may be published entirely by

the Gunadarma University. All quotation is any form have been following the

rules and ethics. Regarding the contents of the writing is the responsibility of

the Author, not the Gunadarma University. This statement has been made

with the full truth and awareness.

Jakarta, 2015

(Bio Abidzar Gifari)

ii
VALIDATION PAGE
Advisory Comitee
No Name Position

1 Dr. Lintang Yuniar Banowosari, S.Kom., M.Sc. Chairman

Session Date : March 28th, 2015

Board of Examiners
No Name Position

Passing Date : , 2015

Acknowledged by

Supervisor Department Head of Bachelor's

Defense Examination

(Dr. Lintang Yuniar Banowosari, S.Kom., M.Sc.)(Drs. Edi Sukirman, MM )

iii
ABSTRACT

Bio Abidzar Gifari. 18111131

TAGGING APPLICATION FOR CUSTOMER DATA IN WITHDRAWAL

FORM USING XBRL FORMAT

Undergraduate Thesis,Faculty of Computer Science and Information Tech-

nology, Information System Department, Gundarma University, 2015

Keywords : XBRL, Tagging, Interoperabililty, Withdrawal Form

(XIII + 78 + appendix)

As a regulator, Bank of Indonesia and Financial Services Authority

often require the latest data of banking balance. The report that has been

submitted by the banks are not in the same format. It makes the regulator

and stakeholders dicult to manage the data optimally. Beside it, the re-

ports are not really exible to be processed due to the format le in pdf or

other format that cannot be edited, This problem can be solved by XBRL

technology. XBRL is a XML-Based language for communication information

bussiness. In this research customer data in withdrawal form tagging and

then convert into XBRL. When create XBRL-based reporting, need taxon-

omy. Taxonomy used in this research is BAPEPAM taxonomy. XDaNa is

application to accelerates the process of create nancial report in bank and

standarize nancial report format, so making it easier to data processing.

Bibliography(1998-2015)

iv
PREFACE
Praise and thanks to ALLAH SWT, for all the blessing so this work

can be nished. This work was made to complete the requirement to nish

study in Undergraduate Program of Information System Department, Gu-

nadarma University. Author also wants to express her gratitude to every

person who gave not only assistance in morale goodness but also material

for this work. It is impossible to name every person, however, author will

dedicate special acknowledgement to:

1. Prof.Dr. E. S. Margianti, SE, MM, as Rector of Gunadarma University.

2. Prof. DR. Rernat. A. Benny Mutiara, SSi, SKom., as Dean of Indus-

trial Technology Faculty.

3. Dr. Setia Wirawan, S.Kom., MMSI, as Head of Information System.

4. Drs. Haryanto, MMSI, as Director of SarMag (Sarjana Magister) Pro-

gram.

5. Dr. Edi Sukirman, SSi., MM. as Department Head of Bachelor's.

6. Dr. Lintang Yuniar Banowosari, S.Kom., M.Sc. as supervisor of this

work, for her excellence in supervising the Author.

7. Tristyanti Yusnitasari, S.Kom., MMSI. as my lecturer that support me

during this research.

8. Remi Sanjaya, ST., MMSI. as SarMag coordinator who gives a never

ending information and mental support.

v
9. My beloved family, Abdul Hadi (Father), Eni Nurani (Mother), and

Masyitha Mutiara Ramadhan, Puan Azzahra Mudatsir (Sisters) and

Muhammad Hazqal Salasa (Brother) for all supports, kindnesses, and

aection they have to give.

10. All SarMag lectures and stas for their information support and their

earnest care.

11. All my friends, especially in Sarjana Magister (SarMag) SI-02 for a lot

of supports, sharings, jokes, and joys.

12. All parties can not mention who have helped this nal settlement, re-

searcher also say thank you for all the help and advice.

Author is looking forward to encouraging critics and suggestions in

order to make better work in the future. This work is expected to bring

contribution and advantages to readers.

Depok, March, 2015

Bio Abidzar Gifari

vi
Contents

COVER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i

STATEMENT OF ORIGINALITY AND PUBLICATION . ii

VALIDATION PAGE . . . . . . . . . . . . . . . . . . . . . . . iii

ABSTRACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv

PREFACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v

CONTENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii

LIST OF FIGURES . . . . . . . . . . . . . . . . . . . . . . . . xii

LIST OF TABLES . . . . . . . . . . . . . . . . . . . . . . . . . xiii

Chapter I : INTRODUCTION . . . . . . . . . . . . . . . . . 1

1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . 3

1.3 Research Scope . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.4 Research Objective . . . . . . . . . . . . . . . . . . . . . . . . 3

1.5 Research Method . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.6 Structure of Thesis . . . . . . . . . . . . . . . . . . . . . . . . 4

Chapter II : LITERATURE REVIEW . . . . . . . . . . . . 6

2.1 Interoperability Information . . . . . . . . . . . . . . . . . . . 6

2.2 Bank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.2.1 Miscellaneous forms at banks . . . . . . . . . . . . . . 14

2.3 Financial Report . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.3.1 Financial Report Objective . . . . . . . . . . . . . . . 14

vii
2.3.2 Financial Report User . . . . . . . . . . . . . . . . . . 15

2.3.3 Component of Financial Report . . . . . . . . . . . . . 17

2.4 Tagging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.5 XBRL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.6 XBRL Taxonomy . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.7 Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.7.1 Unied Modeling Language . . . . . . . . . . . . . . . 23

2.7.2 Use Case Diagram . . . . . . . . . . . . . . . . . . . . 23

2.7.3 Activity Diagram . . . . . . . . . . . . . . . . . . . . . 23

2.7.4 Flowchart . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.7.5 Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.7.5.1 Graphical User Interface in Java . . . . . . . 26

2.7.6 IDE Netbeans . . . . . . . . . . . . . . . . . . . . . . . 27

2.7.7 Library . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Chapter III : ANALYSIS AND DESIGN . . . . . . . . . . . 31

3.1 Research Method . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.2 Requirement Analysis . . . . . . . . . . . . . . . . . . . . . . . 31

3.2.1 Current System . . . . . . . . . . . . . . . . . . . . . . 32

3.2.2 Problem Analysis . . . . . . . . . . . . . . . . . . . . . 33

3.2.3 System Development . . . . . . . . . . . . . . . . . . . 34

3.2.4 Data Collection . . . . . . . . . . . . . . . . . . . . . . 34

3.2.5 Functional Requirement . . . . . . . . . . . . . . . . . 35

3.2.6 Non Functional Requirement . . . . . . . . . . . . . . . 35

3.2.7 Application Development . . . . . . . . . . . . . . . . . 36

viii
3.2.8 Label Form Synonim Denition . . . . . . . . . . . . . 37

3.2.9 Scanned Label Form . . . . . . . . . . . . . . . . . . . 46

3.2.10 Customer Data Identication . . . . . . . . . . . . . . 46

3.2.11 Tagged Customer Data . . . . . . . . . . . . . . . . . . 47

3.3 Application Design . . . . . . . . . . . . . . . . . . . . . . . . 47

3.3.1 Unied Modeling Language . . . . . . . . . . . . . . . 48

3.3.1.1 Use Case Diagram Design . . . . . . . . . . . 48

3.3.2 Flowchart Design . . . . . . . . . . . . . . . . . . . . . 48

3.3.3 Menu Hierarchy . . . . . . . . . . . . . . . . . . . . . . 49

3.4 Interface Design . . . . . . . . . . . . . . . . . . . . . . . . . . 49

3.4.1 Main Menu Interface . . . . . . . . . . . . . . . . . . . 50

3.4.2 Result Interface . . . . . . . . . . . . . . . . . . . . . . 50

Chapter IV : IMPLEMENTATION AND TESTING . . . . 51

4.1 XBRL Simulation . . . . . . . . . . . . . . . . . . . . . . . . . 51

4.2 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . 55

4.2.1 Program Implementation . . . . . . . . . . . . . . . . . 56

4.2.1.1 Label Form Synonim Denition . . . . . . . . 56

4.2.1.2 Scanned Label Form . . . . . . . . . . . . . . 56

4.2.1.3 Customer Data Identication . . . . . . . . . 57

4.2.1.4 Tagged Customer Data . . . . . . . . . . . . . 58

4.2.2 Interface Design Implementation . . . . . . . . . . . . 61

4.2.2.1 Main Menu Interface Design Impelementation 61

4.2.2.2 Result Interface Design Impelementation . . . 62

4.3 Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

ix
4.3.1 Scenario Testing . . . . . . . . . . . . . . . . . . . . . 62

4.3.2 Other Feature Testing . . . . . . . . . . . . . . . . . . 67

4.3.3 Blacbox Testing . . . . . . . . . . . . . . . . . . . . . . 67

Chapter V : CONCLUSION AND FUTURE WORK . . . 70

5.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

5.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

BIBLIOGRAPHY . . . . . . . . . . . . . . . . . . . . . . . . . 71

APPENDIX

x
List of Figures

2.1 Dimensions Interoperability Pilar . . . . . . . . . . . . . . . . 11

2.2 Taxonomy and Instance Document . . . . . . . . . . . . . . . 19

3.1 Phases of Research Methods . . . . . . . . . . . . . . . . . . . 31

3.2 Phases of Analysis Requirement . . . . . . . . . . . . . . . . . 32

3.3 Steps of Current Condition Transaction in Bank . . . . . . . . 32

3.4 Activity Diagram of Current Condition Transaction in Bank . 33

3.5 Current Process for Teller Check Customer Data . . . . . . . . 33

3.6 Activity Diagram The Proposed System . . . . . . . . . . . . 34

3.7 Steps in Development Stage . . . . . . . . . . . . . . . . . . . 36

3.8 Steps Create Synonym of Withdrawal Form Label . . . . . . . 37

3.9 Step to Find Similar Meaning . . . . . . . . . . . . . . . . . . 44

3.10 Scan the Label Form . . . . . . . . . . . . . . . . . . . . . . . 46

3.11 Process to Identify Customer Data . . . . . . . . . . . . . . . 47

3.12 Process to Tagging Customer Data . . . . . . . . . . . . . . . 47

3.13 Use Case Application . . . . . . . . . . . . . . . . . . . . . . . 48

3.14 Flowchart Application . . . . . . . . . . . . . . . . . . . . . . 49

3.15 Menu Hierarky Application . . . . . . . . . . . . . . . . . . . 49

3.16 Main Menu Design . . . . . . . . . . . . . . . . . . . . . . . . 50

3.17 Result Design . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4.1 PT Alpha`'s prole . . . . . . . . . . . . . . . . . . . . . . . . 55

4.2 PT Alpha Cash Flow report . . . . . . . . . . . . . . . . . . . 55

xi
4.3 XDANA Logo . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

4.4 Main Menu Interface Design Impelementation . . . . . . . . . 62

4.5 Result Interface Design Impelementation . . . . . . . . . . . . 62

4.6 Testing of Bank Mandiri Syarih.txt le . . . . . . . . . . . . . 65

4.7 Testing of Customer data has become XBRL Format . . . . . 65

4.8 Testing of Bank DKI.txt le . . . . . . . . . . . . . . . . . . . 66

4.9 Testing of Incomplete Customer data has become XBRL Format 67

4.10 Testing of Bank Mandiri Syarih.txt le . . . . . . . . . . . . . 67

xii
List of Tables

2.1 Interoperability Level Mapping Information. . . . . . . . . . . 7

3.1 Non Functional Requirement . . . . . . . . . . . . . . . . . . . 36

3.2 Content of Withdraw Form. . . . . . . . . . . . . . . . . . . . 37

3.3 Table of Synonim Label. . . . . . . . . . . . . . . . . . . . . . 45

4.1 Testing Result. . . . . . . . . . . . . . . . . . . . . . . . . . . 68

xiii
Chapter I
INTRODUCTION

1.1 Background

Nowadays, Bank is main partner to fulll nancial needs. Bank as an

intermediate institution oers various kind of nancial transactions, like sav-

ing money, withdraw, transfer, and pay bills. Based on data from Bank of

Indonesia that release in January 2015, the number of commercial banks

in Indonesia are 119 bank with 19.207 oces. If Sharia Banks added, the

number of bank reached 131 with 11.354 oces.(Otoritas Jasa Keuangan,

2014)

In the process of nancial transaction in the Bank, transaction form be

an important part and can not be separated from the whole process. A large

number of banks in Indonesia encourage heterogeneity of the transaction

form`'s format. it has many dierences between transaction form in Bank A

and Bank B. Form types, like withdrawal form, payments form , and transfer

form are also have dierent format according to the needs of each banks.

Besides, process of input data into the system is still conducted manually

by bank employee, it therefore has made more a risk of human error. a

customer has to wait when a teller or other employee do input data so that

it becomes inconvenience in services

As a regulator, Bank of Indonesia and Financial Services Authority often

require the latest data of banking balance. The data will be used as an input

for policy recommendations and publication needs. However, the report that

1
2

has been submitted by the banks are not in the same format. It makes the

regulator and stakeholders dicult to manage the data optimally. Beside it,

the reports are not really exible to be processed due to the format le in

pdf or other format that cannot be edited.

To solve this problems, the regulator has set the standard information

in the form of XBRL format(Otoritas Jasa Keuangan, 2013). XBRL is an

electronic communication that used universally for the transmission and ex-

change of business information. XBRL format has already enhanced the

process of preparation, analysis and accuracy for various parties that used

the information. Shortly, XBRL is already standardized for the nancial

report.

in a research conducted by bonson, Cortijo and Escobar in 2008 XBRL

is (Bonson and Escobar, 2008)design to improve exchange, aggregation and

analysis of datas of particular company that require the disclosure through

unique marking structure supporting important interoperability to develop

standards of accountancy eld as a basis in which XBRL can be formed. That

way it'll be more possible to compare nancial information from dierent

nations. A research conducted by Marcus Speis in 2010 (Marcus, 2010) still

adopts boston's, that is about XBRL technology. his paper covers motivation

and basics of ontology presentation data for business report and metadata

structure as dened in common XBRL.

XBRL is a format of nancial report that are used in more than 20 big

countries around the world, like United States, China, France, and Den-

mark(xbrl.org, 2015). Starting at 2015, Indonesia use XBRL format as a


3

standard for nancial report. The similarity of the format is expected to

facilitate the investor, bank and other stakeholder to use the data optimally.

This uniformity is also expected be an added value factor to Indonesian

banking.

1.2 Problem Statement

Based on the introduction, the problem of this research is how to create

XBRL tagging process of customer data on withdrawal form.

1.3 Research Scope

Problem discussed in this research has limitations including the following:

1. Application created using Java programming language.

2. Using customer data on bank withdraw form.

3. Text les with UTF-8 encoding is used.

4. The desktop based application.

1.4 Research Objective

This study is aimed to transform the text-based document into XBRL

format. After having the result of the test, this study will be used by the

banks to improve the eciency, upgrade the services, and ease the data

processing using XBRL. In addition, the study will make the process of

managing the data faster in order to make a better analysis process. So


4

that, the information that will be used for decision making is more qualied

and up to date.

1.5 Research Method

In this research require hardware and software. Minimum requirements

of hardware is a personal computer unit complete with spesications are an

Intel Pentium III or equivalent (800Mhz), 512 MB RAM while requirement

of software are NetBeans IDE 8.0.2. This research is conducted in following

methods or steps:

1. Requirements Analysis This stage will determine how to develop ap-

plication and discussing the problem that exist in the development of

these application.

2. Design This stage will determine the design of application.

3. Testing and Implementation In the next stage in developing the appli-

cation is implementing application. After that, the nal stage is to test

applications that aim to ensure optimal application can be run with or

not by using the Black Box testing method.

1.6 Structure of Thesis

The thesis presented is composed of six sections, chapter one Contains

the background, the statement of the problem to be studied in this thesis,

the scope of the research, research objective, research method, and structure

of thesis. Chapter two. discussing about the denition of interoperability


5

information, bank, nancial report, taxonomy, tagging, and discuss of the

various compenent in the making of application UML, XBRL, Java, tagging

and black box method. Chapter three, this chapter described on the analysis

of how the planning and design of the system. Chapter four, this chapter will

describe about implementation and testing step from recommended system.

Chapter ve, in this chapter contains summary of the general conclusion of

the research and future work, in order to make a better solution to solve the

problem.
Chapter II
LITERATURE REVIEW

2.1 Interoperability Information

On the Internet, information processing of a system can be made from a va-

riety of data sources through collaborative information. The increasing de-

mand for collaboration of information leads to the information system must

be able to communicate and integrate with other information systems. Each

system information in an organization will have dierent database platforms,

applications, and programming languages. Thus the process of transaction

information among information systems will halt because of the incompat-

ibility system platforms, data structures, command syntax and concepts of

information. These obstacles can be overcome through the development of

interoperability between information systems, due to the method of inter-

operability, exchange of information more broadly to do. In addition, the

method interoperability implement open standards technology that can be

accessed by a variety of information technology platform, so it does not have

a dependency on a vendor. The denition of interoperability based on infor-

mation from the Dublin Core Metadata Glossary Website is:

The ability of dierent types of computers, networks, operating systems,

and applications to work together eectively, without prior communication,

in order to exchange information in a useful and meaningful manner. There

are three aspects of interoperability: semantic, structural and syntactical

Interoperability practically illustrates the ability of two or more systems

6
7

to exchange data or information, and each other can use the data or informa-

tion to exchanged (Interoperability Guidelines, 2008). In other words that

the interoperability of information systems is the ability of two or more of a

system that has a dierent type of software, databases, data modeling, and

control techniques to perform the transaction data or information in order

to optimize the availability of data or information.

The coming of the concept of interoperability is generally caused by the

development of information technology with the type and diverse capabilities

to meet a wide range of information demands. Through the diversity of

this information technology A.P. Sheth split dierent types of information

technology into categories corresponding to the level of interoperability, ie the

system, syntax, structure, and semantics. The shape of the categorization of

diversity-related information technology interoperability levels described in

Table 2.1.

Table 2.1: Interoperability Level Mapping Information.

Types of Diversity Interoperability Level


Diversity of Information

The diversity of the concepts meaning Semantic Interoperability

The diversity of structures, schema information Structural Interoperability

The diversity of attributes, format Syntactic Interoperability

Diversity System: System Interoperability

Diversity of Information Systems Operations Level

Continued on next page


8

Types of Diversity Interoperability Level


- Digital Media Repository

- Database Management System

- Recovery System

Diversity Platform Low Level

- Operating System

- Hardware System

Based on the results of the mapping in Table 2.1, the obtained two types

of diversity that information technology (Interoperability Guidelines, 2008):

1. The diversity of information, consisting of three types which include:

(a) syntactic diversity, species diversity has been started from a tra-

ditional database model. As some examples of syntactic diversity

is

i. item naming conict, eg naming dierences will something,

such as the location address.

ii. conict representation of data items, for example information

about the date can be represented in a date format, numeric

or text.

iii. conict scaling data items, for example the denition of in-

come lower class, middle and upper.


9

(b) Structural diversity or scheme, is diversity in the catalog or tax-

onomy information. As some examples of cases in the structural

diversity are:

i. superclass, a concept or attributes such as name can have

dierent meanings for dierent placed on the structure, as 1

(one) is a structure that shows the name of the product (the

superclass is a product), while the other is a structure that

shows the name of the person (superclass is an individual).

ii. subclass, a concept which has the same label does not neces-

sarily mean the same for dierent subclasses.

(c) The diversity of semantics, semantics is the study of meaning, the

semantic diversity is the diversity of the dierences in meaning,

this could mean:

i. Synonyms, antonyms, are equal and opposite, A part of, is

explaining a relation.

ii. Calculate the degree of similarity (similarity), is a case to

calculate where the larger concept-similar and also allows to

calculate the value-similar in quantity, for example if you look

at the level of similarity between the tree-grass pohonkucing

then easily tree-grass more in common than tree -cat.

2. Diversity System, consists of two types which include:

(a) Diversity Information System includes dierent types of software,

databases, data modeling, and data processing techniques.


10

(b) The diversity of platforms generally include: dierences in oper-

ating system that includes le type, transaction model, security

model. and Dierences in hardware that includes processor di-

versity, diversity of design, and the diversity of the instruction

set.

According to the Terms of Reference and Information Systems Interop-

erability Guidelines for Government Agencies Ministry of Communications

and Information Technology, that for interaction interoperability required in

three general approaches pillars, namely:

1. semantic interoperability, more attention to understanding the meaning

so that the exchange of data or information can be understood by

humans or machines. So that the semantic interoperability enables

the system to combine the information received with other sources and

processed to provide meaningful results.

2. Interoperability organization more emphasis on dening the objectives

of the activity, modeling activities and bring it to the level of adminis-

tration for the exchange of information. Furthermore, interoperability

at the level of the organization has a goal to make the denition of

community service needs.

3. technical interoperability is a technical issue on connectivity includes

systems and services (services). It can include components such as open

interfaces, interconnection services, Data integration and middleware,

the data presentation and exchange, accessibility and security services.


11

The three pillars of the dimensions of interoperability according to the terms

of reference and interoperability guidelines are illustrated in the following

gure.

Figure 2.1: Dimensions Interoperability Pilar

The purpose of interoperability information is to provide an overview of

the various sources of information to be accessed properly. In general, the

diversity of resources occurs at the syntactic level, ie pendinisian the data;

structural level is a classication or taxonomy of data and semantic level is

on the concept of data.(Lily Wulandari, I Wayan Simri Wicaksana , 2005)

2.2 Bank

In accordance with the rate of economic growth and development of a na-

tion motion, nancial institutions grows with a variety of alternative services

which have been oered. Financial institutions that are intermediaries of par-

ties who have excess funds (surplus of funds) with those who lack funds (lack

of funds), has a function as a nancial intermediary community (nancial

intermediary)(Muchdarsyah, 2005).
12

a denition of nancial institutions in public Law No. 14 of 1967 on the

Principles of Banking, Article 1.b  Financial institutions are all entities on

its activities in the eld of public nance and withdrawal of money and the

allocation to the society  . Understanding the nancial institution can be seen

more clearly in the formal decision of the Minister of Finance No. Kep.729 /

MK / 12/1970 dated December 7, 1970 Section 1.A 4  Financial institutions

are all entities on the activities in the nancial sector as mentioned in Article

3, directly or indirectly, to raise funds, especially with the way of issuing

commercial paper and distribute it to the community, particularly to nance

the investments of the company  . General activities carried out by the bank

in full is:

1. Raise funds from the public in the form of demand deposits, savings or

deposit.

2. Give credit.

3. Publishes Letter Debt recognition.

4. Buy, Sell or warrant at his own risk, or for the benet of and at the

behest of customers.

5. Moving good money for their own interests or the interests of customers.

6. Placing the funds, guarantee funds from, or lend funds to other parties,

whether by mail, money order, check or other means.

7. Received payment of bills on securities and perform calculations with

or among third parties.


13

8. Provides a place to store the goods or securities.

9. Perform day-care activities for the benet of the other party pursuant

to a contract.

10. Perform placement of funds from customer to customer more in the

form of securities that are not listed dibursa eect.

11. To conduct factoring, credit card business and activities of trustees.

12. Providing nancing and or perform other activities based on Islamic

principles in accordance with the provisions of BI.

13. Perform foreign exchange operations to meet the conditions set BI.

14. Conducting equity participation in banks or other companies in the

nancial sector such as securities companies, insurance to meet the

conditions set BI.

15. Conducting temporary investment to overcome the failure of credit

based on Islamic principles to meet the conditions set BI.

16. Acting as the founder of the pension fund and pension fund trustees in

accordance with the laws and regulations applicable pension fund.

17. Buying all or part of the collateral either through auction or bidding

by handing out voluntarily by the owner of the collateral in case the

customer (debtor) does not meet its obligations to the bank.

18. Perform other activities commonly conducted by the bank to the extent

not contrary to the laws in force.


14

2.2.1 Miscellaneous forms at banks

There are various types of forms at the bank. Among them are as follows:

1. Deposit form

2. Withdrawal form

3. Transfer form

2.3 Financial Report

These nancial statements are statements that contain an organization's

nancial information. The nancial statements published by the company

is the result of the accounting process that is intended as a means of com-

municating nancial information primarily to external parties. According

(Soemarso, 2004)  The nancial statements are statements that are designed

for decision makers, especially the outside of the company, regarding the -

nancial position and results of operations of the company  . According to

PSAK no.1 paragraph 7 (Revised 2009),  Financial Report is a structured

presentation of the nancial position and nancial performance of an entity

.

2.3.1 Financial Report Objective

According to PSAK no.1 paragraph 7,  objective of nancial statements

is to provide information about the nancial position, nancial performance

and cash ows of the entity that will benet the majority of users in making

economic decisions, reports  . The nancial statements also show the results
15

of management accountability for the use of the resources entrusted to them.

According to PSAK 1 paragraph 7,  in order to achieve the objective of -

nancial statements, nancial statements provide information about the entity

that include: assets, liabilities, equity, revenues and expenses, including gains

and losses, the contribution of and distributions to owners in their capacity

as owners and cash ow  . That information, along with other information

contained in the notes to the nancial statements, to help users report in

predicting future cash ows and in particular, in terms of the timing and

certainty of obtaining cash and cash equivalents.

2.3.2 Financial Report User

According to the Framework for the Preparation and Presentation of Fi-

nancial Statements of Financial Accounting Standards (SAK) to paragraph

9 (Revised 2009), stated that users of nancial statements include current

investors and potential investors, employees, lenders, suppliers and other

business creditors, customers, governments and other agencies and the pub-

lic. They use nancial statements to meet some of the needs of dierent

information. Some of these requirements include:

(a) Investors

Investors are at risk and their advisors are concerned with the inherent

risks and the results of the development of the investment they are

doing. They need information to help determine whether to buy, hold,

or sell the investment. Shareholders are also interested in information

that enables them to assess a company's ability to pay dividends.


16

(b) Employee

Employees and the groups that represent them are interested in in-

formation about the stability and protability of the company. They

are also interested in information that enables them to assess the abil-

ity of the company to provide remuneration, retirement benets, and

employment opportunities.

(c) Lender

Lenders interested in the nancial information that allows them to

decide whether the loan and interest is payable at maturity.

(d) suppliers and other business creditors

Suppliers and other business creditors are interested in information

that enables them to decide whether the amount owed will be paid at

maturity.

(e) Customers

Customers interested in information about the viability of the company,

especially if they are involved in a long-term agreement or depending

on the company.

(f ) Government

Governments and agencies under his authority concerned with the al-

location of resources and therefore concerned with the activities of the

company. They also need information to organize corporate events, set

tax policy as a basis for preparing the national income statistics and

other statistics.
17

(g) Society

The nancial statements can help the community by providing informa-

tion trend (trend) and recent developments prosperity of the company

and a series of activities.

2.3.3 Component of Financial Report

According to PSAK no. 1 paragraph 49 (Revised 2009), a complete -

nancial report consists of components - the following components ie Balance,

Balance of the company presented in such a way that the nancial position of

a company at a particular moment. Then, the statements of income, loss is

a systematic statement of income, expenses, income derived by an enterprise

for a certain period (Munawir, 2000: 26). Then the statement of changes in

equity, statement of changes in equity represents an increase or decrease in

net assets or wealth during the period specied. After that, the cash ow

statement, provide information that enables users to evaluate the changes

in net assets of the company, its nancial structure (including liquidity and

solvency) and the ability to aect the amount and timing of cash ows in

order to adapt to changing circumstances and opportunities. And the last

one is the notes to the nancial statements, this component contains heading

in the balance sheet, income statement and cash ow statement and must be

related to the information contained notes to the nancial statements and

notes to the nancial statements should be presented systematically.


18

2.4 Tagging

Commonly used in blogs, site authors attach keyword descriptions (called

tags) to identify images or text within their site as a categories or topic. Web

pages and blogs with identical tags can then be linked together allowing

users to search for similar or related content. If the tags are made public,

online pages that act as a Web-based bookmark service are able to index

them. tags can be created using words, acronyms or numbers. Tags are also

called tagging, blog tagging, folksonomies (short for folks and taxonomy), or

social bookmarking(Webopedia, 2014). A command inserted in a document

that species how the document, or a portion of the document, should be

formatted. Tags are used by all format specications that store documents

as text les. This includes SGML and HTML. Tag is to mark a section of a

document with a formatting command.

2.5 XBRL

XBRL is an XML-based language for the electronic communication of

business information. It is designed to promote the exchange, aggregation

and analysis of data that require disclosure, through a unique tagging struc-

ture that provides interoperability.(Bonson and Escobar, 2008)

Basically, XBRL, as a technology, enabling business information to be

distributed electronically, communicated, interpreted, and reused without

any human intervention. XBRL International (2009) denes XBRL as: a

language for the electronic communication of business and nancial data


19

which is revolutionizing business reporting around the world. This provides

great benets in the preparation, analysis and communication of business

information. Oers cost savings, greater eciency and improved accuracy

and reliability to all those involved in supplying or using nancial data.

XBRL uses XML syntax and XML-related technologies to connect the

dots nancial facts / data with conceptual information, [Pinsker]. Taxon-

omy and metadata in an XBRL linkbases. Originally format is not tied to a

particular type of application and especially not for certain accounting stan-

dards. XBRL Taxonomy fall into three main categories: general purpose

nancial statements taxonomy, special-purpose taxonomy regulatory report-

ing, and general ledger taxonomy, Baldwin (2006). Linkage of data points,

the document instance, taxonomy and context information described in Fig-

ure 2.2.

Figure 2.2: Taxonomy and Instance Document

XBRL works by making a mark (called tags) that can be identied or

known to each data-specic and specic data. These tags can easily be read
20

by the computer so that data can be identied in any language. XBRL do

tag on all the information that works like a barcode. XBRL is composed

of tags identier (identifying tags). Tags identiers were applied to certain

data items, so it can be processed eciently by computer software. Exam-

ples of data items in question is the depreciation expense or net income. Tag

identier can also provide information that is more complex, for example,

gures in monetary terms, the percentage numbers and fractions. Further-

more, XBRL also enables labeling / name of an item of data in any language,

the use of the terms of reference of dierent accounting, as well as providing

other information.

XBRL able to show linkage data items to each other. Thus, XBRL able to

show the underlying calculation of a data item. XBRL is also able to classify

items according to data by the organization or specic reporting purposes.

And most importantly, can be easily extended XBRL (extensible), so that

companies and other organizations can adapt XBRL to meet special needs.

Converted into XBRL information through process mapping or created in

XBRL format with the software. Furthermore, the information that can be

traced, interchangeable, and analyzed with the aid of a computer or pub-

lished on a regular basis. XBRL uses some sort of a dictionary (dictionaries)

that contains elements of XBRL and XBRL Taxonomy known (XBRL Tax-

onomies). XBRL taxonomy is a grouping scheme that establishes specic

tags to each item of data. For example, in the nancial statements based on

IFRS XBRL tag represents Abstract Assets Assets.

Savage (2009) denes  XBRL as a royalty-free, open specication for


21

software that uses XML data tags to describe business and nancial infor-

mation for public and private companies and other organizations.  This

denition describes the technical background of XBRL, which is XML. In

addition it states that it can be used to describe nancial information, using

the data tag. Another important fact, which is expressed by this denition

XBRL free and open standard, which means that there are no license fees to

be paid by users.

Often the eXtensible Business Reporting Language is also referred to as 

Interactive Data  [GARBELLOTTO] This denition reects the aspect that

the data used in a way that is new and innovative. Interactive word indicates

that by using XBRL exchange and improved data processing. Non-nancial

information can also be included in their denition of XBRL. The fact that

XBRL adds semantics expressed by [WEBER] that XBRL is a special variant

of XML, designed to provide semantic text related to business reporting.

XBRL is used to encode the nancial statements so that the information

in the nancial statements can be read automatically by the software XBRL

and more easily sorted and compared. Computers do not have the knowledge

inherent to nancial reporting and do not understand the information that is

not fully dened. XBRL makes machine-readable information requires data

to be accompanied by contextual information. Consider the example in Fig-

ure 2.3 Telling a computer system that net sales of 131.383 would be useless

without dening a number that represents (net sales), the reported currency

(dollars), scaling and rounding (thousands), the period covered (2013), and

identity company (ABC Company). Accompanying context allows computers


22

to understand 131.383. Markup code used in XBRL nancial data illustrate

in a format that a computer can classify, sort, and analyze.

2.6 XBRL Taxonomy

Taxonomy is a collection of standardized denitions of all elements (in-

cluding nancial statement accounts) are included in a report. Taxonomy

also explain the relationship between these elements.

XBRL Taxonomy serves as a dictionary for XBRL. These are the cate-

gorization schemes which dene the specic tags for individual items of data

(such as net prot"). National jurisdictions have dierent accounting reg-

ulations, so each may have its own taxonomy for nancial reporting. Many

dierent organizations, including regulators, specic industries or even com-

panies, may require taxonomies to cover their own business reporting needs.

A special taxonomy may be designed to support collection of data and inter-

nal reporting within organizations.

In the development of XBRL-based reporting, a company can prepare

an XBRL-based reporting format to refer to a certain standard rules and

procedures applicable. In the development and implementation of XBRL,

has implemented the identication of information needs to be presented,

which is called the taxonomy.

XBRL taxonomy is a dictionary that is used in the XBRL format. This

dictionary is a categorization scheme that denes a special tag for each el-

ement of the nancial data (eg net income). National jurisdictions have

dierent accounting rules, so that each national jurisdiction can have its own
23

taxonomy for nancial reporting. A wide variety of organizations includ-

ing regulators, specic industries or even companies, also requires reporting

taxonomy to meet the needs of their business. A taxonomy can also be de-

signed specically to support data collection and internal reporting within

an organization.

2.7 Tools

The tools used in making this application as follows:

2.7.1 Unied Modeling Language

Unied Modeling Language is the standard language used for writing

software blueprints. UML can be used to visualize, specify, construct, and

document the artifacts of software systems. UML is a language only, so

that the UML is only one part of software development method (Jacobson,

1998). UML consists of three building blocks, namely things, relationships,

and diagrams.

2.7.2 Use Case Diagram

Use case diagram shows a set of use cases, actors, and the relationships

that occur between the use cases and actors. Use case describes how the

actors interact with the system. The actor is an external entity that plays

a role when interacting with the system. Actors can be either a user or an

object such as a dumb terminal, sensors, or other computer systems.


24

2.7.3 Activity Diagram

Activity diagrams illustrate the various streams of activity that occurs

in the system, the starting point of each ow, a decision that may occur,

and the end of the event ow.This diagram is equipped with a ow branch-

ing, conditional, and sync (for activities conducted concurrently) to describe

the ow of activity in the system. Activity diagrams can be used to model

a business process workow. To split the business activities into specic

groups according to their responsibilities within the organization can use the

notation swimlane. Swimlane can represent real-world entities such as orga-

nizational units within a company.In an activity diagram is partitioned into

several swimlane, each activity can only be on one swimlane, but transactions

can occur between lane.

2.7.4 Flowchart

A Flowchart is a type of diagram (graphical or symbolic) that represents

an algorithm or process. Each step in the process is represented by a dierent

symbol and contains a short description of the process step. The ow chart

symbols are linked together with arrows showing the process ow direction.

A owchart typically shows the ow of data in a process, detailing the oper-

ations/steps in a pictorial format which is easier to understand than reading

it in a textual format. A owchart describes what operations (and in what

sequence) are required to solve a given problem. A owchart can be likened

to the blueprint of a building. As we know a designer draws a blueprint

before starting construction on a building. Similarly, a programmer prefers


25

to draw a owchart prior to writing a computer program. Flowcharts are

a pictorial or graphical representation of a process. The purpose of all ow

charts is to communicate how a process works or should work without any

technical or group specic jargon.

Flowcharts are used in analyzing, designing, documenting or managing a

process or program in various elds. Flowcharts are generally drawn in the

early stages of formulating computer solutions. Flowcharts often facilitate

communication between programmers and business people. These owcharts

play a vital role in the programming of a problem and are quite helpful

in understanding the logic of complicated and lengthy problems. Once the

owchart is drawn, it becomes easy to write the program in any high level

language. Often we see how owcharts are helpful in explaining the program

to others. Hence, it is correct to say that a owchart is a must for the better

documentation of a complex program.

2.7.5 Java

Java is a programming language and computing platform rst released by

Sun Microsystems in 1995. The language was originally developed by James

Gosling while still joined Sun Microsystems which is now a part of Oracle

and released in 1995. These languages are adopting syntactic contained in

C and C ++. Java-based applications are generally compiled into p-code

(bytecode) and can run on dierent Java Virtual Machine (JVM). Java is a

programming language that is general / non-specic (general purpose), and

is specically designed to utilize minimal implementation dependencies as


26

possible. Because the functionality that allows Java applications can run on

several dierent operating system platforms. Until this saati Java has been

released until version 1.8.

2.7.5.1 Graphical User Interface in Java

Java GUI is a Java programming language created using GUI-based ap-

plications. The goal is to add the components that can not be made in the

base text. These components can include buttons, images, menus and other

common components. The goal is to allow a user to use the program that

created it. Three steps are common to all Java GUI applications is the for-

mation of the container, the layout of GUI components and event handling.

Java has 2 pieces of the package that is used to display a GUI, which is AWT

(Abstract Window Toolkit) and Swing.

1. Abstract Window Toolkit

AWT GUI toolkit is the rst in the Java programming language, but

a severe shortage AWT components used to build a complete desktop

applications (such as the components of the table does not exist).

Applications built using AWT will look like a native application that,

if the application is built using AWT is run on Windows then this app

will look like common Windows applications on it, and so also if run

on Mac Operating System or GNU / Linux .

Java GUI supports development through AWT. AWT is the Java equiv-
27

alent to Microsoft Windows Common Control Library or Motif Widget

Toolkit. This includes support for simple graphics programming as

well as a number of components such as buttons, menus, lists and class

check box.

2. Swing

Swing package is a package of classes to display the GUI in Java. Al-

most all Swing components are lightweight (lighter, not connected with

the OS UI element). Swing components are as follows:

(a) Top-Level Containers are the components that are at the top of

all the components in the package swing. Top-Level Containers

itself serves to accommodate components of the other swing.

(b) General Purpose Containers is a mid-level container component

that can also be used to accommodate other components and can

be used to address the specic needs of the situation.

(c) Special Purpose Containers is a container that has the function

to perform specic tasks in the interface.

(d) Basic Controls is a component that serves as the input data for

the user.

(e) Uneditable Information Displays are the components which serve

only to provide information to the user.

(f ) Editable Displays of Formatted Information is a component that

is used to display information and can be selected and changed by

the user.
28

2.7.6 IDE Netbeans

NetBeans is an open-source integrated development environment (IDE)

for developing with Java, PHP, C++, and other programming languages.

NetBeans is also referred to as a platform of modular components used for

developing Java desktop applications.(Netbeans, 2014)

All the functions of the IDE are provided by modules. Each module

provides a well dened function, such as support for the Java language, edit-

ing, or support for the CVS versioning system, and SVN. NetBeans contains

all the modules needed for Java development in a single download, allowing

the user to start working immediately. Modules also allow NetBeans to be

extended. New features, such as support for other programming languages,

can be added by installing additional modules. For instance, Sun Studio, Sun

Java Studio Enterprise, and Sun Java Studio Creator from Sun Microsystems

are all based on the NetBeans IDE.

From July 2006 through 2007, NetBeans IDE was licensed under Sun's

Common Development and Distribution License (CDDL), a license based on

the Mozilla Public License (MPL). In October 2007, Sun announced that

NetBeans would henceforth be oered under a dual license of the CDDL

and the GPL version 2 licenses, with the GPL linking exception for GNU

Classpath

An IDE at least have the facility:

1. Editor, is facility to write the source code of the software.

2. Compiler,is facility to check the syntax of the source code and then
29

change to binary language accordance with machine language.

3. Linker, is facility to integrate binary data from some source code so

that the compiler generated binary data into a single unit and into a

computer program that is ready to be executed.

4. Debugger, is facility to test the program, to search bugs or errors con-

tained in the program.

2.7.7 Library

Library that is used in this research:

1. XBRL Core, Set of Java classes to create, access, edit and validate

eXtensible Business Reporting Language (XBRL) documents, which

both includes XBRL Instances and XBRL Taxonomies according to

the XBRL 2.1 Specication.

2. Xerces, Xerces2 Java is a library for parsing, validating and manipulat-

ing XML documents. Xerces 2.x introduced the Xerces Native Inter-

face (XNI), a complete framework for building parser components and

congurations that is extremely modular and easy to program. XNI is

merely an internal set of interfaces. There is no need for an XML appli-

cation programmer to learn XNI if they only intend to interface to the

Xerces2 parser using standard interfaces like JAXP, DOM, and SAX.

Xerces developers and application developers that need more power

and exibility than that provided by the standard interfaces should

read and understand XNI.


30

3. log4j, The log4j package is designed so that these statements can re-

main in shipped code without incurring a heavy performance cost. Log-

ging behavior can be controlled by editing a conguration le, without

touching the application binary. Logging equips the developer with

detailed context for application failures. On the other hand, testing

provides quality assurance and condence in the application. Logging

and testing should not be confused. They are complementary. When

logging is wisely used, it can prove to be an essential tool.

One of the distinctive features of log4j is the notion of inheritance

in loggers. Using a logger hierarchy it is possible to control which

log statements are output at arbitrarily ne granularity but also great

ease. This helps to reduce the volume of logged output and the cost of

logging. The target of the log output can be a le, an OutputStream,

a java.io.Writer, a remote log4j server, a remote Unix Syslog daemon,

or many other output targets.

4. JUnit,JUnit is a simple framework to write repeatable tests. It is an

instance of the xUnit architecture for unit testing frameworks.


Chapter III
ANALYSIS AND DESIGN

3.1 Research Method

The methodology used in this research includes various phases that will

be carried out and illustrated in Figure 3.1 below:

Figure 3.1: Phases of Research Methods

In the development phase of the application is described that the devel-

opment of applications in this research consists of four stages. More detailed

discussion of the development phase of each application will be described in

the section below.

3.2 Requirement Analysis

At the stage of the requirements analysis will analysis running system,

analysis problem, collecting data, and analyze functional requirement and

non-functional requirement. The stages can be seen in gure 3.2.

31
32

Figure 3.2: Phases of Analysis Requirement

3.2.1 Current System

The current system is dened as a system that is being used. Analysis

of the current system is dened as a way to understand the problems of the

system, such as dene functional requirements so it can be determined what

the user needs by the current system.

Figure 3.3: Steps of Current Condition Transaction in Bank


33

When doing transactions in the bank, the customer must ll out a form

provided in the bank. For example, if the customer wants to make a transac-

tion, the customer must ll out a withdrawal form bank. Then the customer

gives the form to the bank employees and bank employees do validation.

Bank employees match the data that has been written by a customer with

the bank database. Activity Diagram of the process can be seen in Figure

3.4.

Figure 3.4: Activity Diagram of Current Condition Transaction in Bank

In gure 3.5 the process where bank employee must checking customer

data to be able to input customer data.


34

Figure 3.5: Current Process for Teller Check Customer Data

3.2.2 Problem Analysis

The problem to be discussed in this research is divided into two parts.

First, there is the heterogeneity of nancial report format therefore encourag-

ing new innovation in the bank sector. The rapid development of technology

information oers a solution to this problem by using the XBRL format.

Therefore, in 2015 regulator has determined to used XBRL as nancial re-

port format.

Second, nancial transaction process is still running manually. The com-

pleted form by the customer will be given to bank employee for next process.

Bank employee will check the data and input the data manually , thus in-

creasing the risk of human errors. In addition, this process of requires a long

time and often complained by the customer. For that, the necessary role of

information technology to facilitate this process.

3.2.3 System Development

Based on the problem from current system, the solution is create system

that implement XBRL format. The system to be developed is any form will
35

scan by scanner to be convert into image le or pdf le. After that, this le

is converted into text format using additional application. Customer data in

this le tagging to create XBRL le. In the tagging process require taxonomy.

Customer data and taxonomy required to create cash ow report. Cash ow

report is part of nancial report. This system can be seen in gure 3.6.

Figure 3.6: Activity Diagram The Proposed System

In this research, process to convert transaction form bank to text not

discussed. This research, focuses on the process of tagging customer data

and create XBRL le. Withdrawal form focus of research and taxonomy

used is BAPEPAM Taxonomy.


36

3.2.4 Data Collection

The data colletion dening a variety of information and things that are

needed by the application to complete the information on applications that

will be built, among others:

1. Collecting of 12 withdrawal form obtained from reliable sources (Based

on disertation lecturer). That is Bank BCA, Bank BNI, Bank BNI

Syariah, Bank BRI, Bank Bukopin, Bank DKI, Bank DKI Syariah,

Bank Mandiri, Bank Mandiri Syariah, Bank Muamalat, Bank Mutiara

and Bank Windu. This form is received in PDF format.

2. Withdrawal Forms in PDF format converted to text by using a web

application, zamzar.com. This Application is used because it is free.

3. Customer data in withdrawal form lled completely.

4. Taxonomy used is BAPEPAM taxonomy. BAPEPAM is institutions

create the capital market policy.

3.2.5 Functional Requirement

functional Analysis requirement is software analysis of aspects that re-

lated to the design of the system to be built, including:

1. Display the contents from withdraw form le in order to allow the user

to change the content in case of errors in the process changing the image

into text le.

2. Display the result of customer data that has been formed as XBRL
37

3.2.6 Non Functional Requirement

Non fuctional requirements are the thigs that needed in making applica-

tion, consist of hardware and software. Table 3.1 shows the non functional

requirement

Table 3.1: Non Functional Requirement

No Hardware Software
1. Processor: 800MHz Intel Pentium III Microsoft Windows 7

2. Memory 512 MB Netbeans IDE

3. Disk Space: 750 MB Java 1.7

3.2.7 Application Development

This application was developed to make the process of get customer data

and turn it into XBRL. But before running several pre-processing stage.

Steps of application development can be seen in gure 3.7.

Figure 3.7: Steps in Development Stage

In gure 3.7, rst and second step is process to get customer data and
38

the last step is tag customer data to make XBRL le.

3.2.8 Label Form Synonim Denition

In this stage, we make the synonym of the withdraw form label. Table

that dening the synonim of the form label can be seen in Figure 3.8.

Figure 3.8: Steps Create Synonym of Withdrawal Form Label

This stage is started by describing the content of each withdraw form.

The content of 12 withdraw form can be seen in table 3.2


39

Table 3.2: Content of Withdraw Form.

No Bank Name Content


1. Bank BCA 1. No.Rekening

2. Nama

3. Tanggal

4. Jenis Rekening

4.1. TAPRES

4.2. TAHAPAN

5. Sejumlah

6. Terbilang

7. Jenis Penarikan

7.1. Tunai

7.2. Pemindahan

2. Bank BNI 1. Nomor Rekening

2. Nama Pemilik

a. Penduduk

b. Bukan Penduduk*

3. Tanggal

4. Jenis Rekening

5. Jumlah Penarikan

6. Terbilang

7. Keterangan

Continued on next page


40

No Bank Name Content


8. Mata Uang Ditarik

8.1. IDR

8.2. USD

8.3. .......

9. Tujuan Penggunaan Dana

3. Bank BNI Syariah 1. Nomor Rekening

2. Nama Pemilik

a. Penduduk

b. Bukan Penduduk*

3. Tanggal

4. Jenis Rekening

5. Jumlah Penarikan

6. Terbilang

7. Keterangan

8. Mata Uang Ditarik

8.1. IDR

8.2. USD

8.3. .......

9. Tujuan Penggunaan Dana

4. Bank BRI 1. No.Rekening/Account No.

2. Nama/Name

3. Jumlah/Amount

Continued on next page


41

No Bank Name Content


4. Terbilang / Amount in Words

5. Rupiah

6. Branch

7. Alamat/Adress

5. Bank Bukopin 1. NOMOR REKENING

2. NAMA / Account Name

3. TANGGAL/Date

4. JENIS REKENING

4.1. TABUNGAN

4.2. SiAga VALAS

4.3. LAINYA

5. JUMLAH/Amount

6. TERBILANG/In Words

7. JENIS VALUTA REKENING

7.1. RUPIAH

7.2. USD

7.3. LAINNYA

8. VALIDASI

6. Bank DKI 1. Nomor Rekening

2. Nama Pemiliki Rekening

3. Jakarta

4. Jenis Rekening

Continued on next page


42

No Bank Name Content


4.1. Simpeda

4.2. Monas

4.3. Tabunganku

4.4. Lainnya......

5. Jumlah Penarikan

6. Terbilang

7. Tujuan Penggunaan Dana

8. Nomor Telepon

9. Nomor Handphone

7. Bank DKI Syariah 1. No.Rekening

2. Nama Pemegang Rekening

3. Jakarta

4. Simpeda Syariah

5. Nominal

6. Terbilang

7. Rupiah

8. Valas

9. ..........

8. Bank Mandiri 1. NOMOR REKENING

2. NAMA PEMILIK REKENING

3. tanggal date

4. JUMLAH

Continued on next page


43

No Bank Name Content


5. TERBILANG

6. BERITA

7. VALIDASI

9. Bank Mandiri Syariah 1. NOMOR REKENING

2. NAMA PEMILIK REKENING

3. Tanggal Date

4. JENIS REKENING

5. JUMLAH Amount

6. TERBILANG In Words

7. Keterangan

8. MATA UANG Currency

8.1. RUPIAH

8.2. VALUTA ASING

9. TUJUAN TRANSAKSI Underliying

Transaction

10. Cabang Branch

11. VALIDASI Validation

12. JENIS TRANSAKSI Transaction Type

12.1. LOKAL

12.2. ANTAR CABANG

10. Bank Mualamat 1. No.Rekening/Account Number

2. Atas Nama/On The Behalf

Continued on next page


44

No Bank Name Content


3. Tanggal/Date

4. Terbilang

5. Mata Uang/Currency

5.1. Rupiah/Rupiah

5.2. Valuta Asing.kode Foreign

Exchange code

11. Bank Mutiara 1. Nomor Rekening

2. Nama Nasabah

3. Tanggal/Date

4. Jumlah

5. Terbilang

6. Jenis Penarikan

7. Mata Uang Rekening

8. Tujuan Penggunaan Dana

9. Jenis ID/No.ID

10. Alamat/No.Telp

11. Validasi

12. Jenis Transaksi

12.1. Lokal Local

12.2. Antar Cabang Inter Branch

13. Jenis Pembayaran

13.2. Tunai

Continued on next page


45

No Bank Name Content


13.2. FIRe cash-PIN:

11. Bank Windu 1. No.Rekening

2. Atas Nama

3. Tanggal

4. Jenis Rekening

4.1. Tahapan

4.2. Windu

4.3. Kentjana

4.4. ......

5. sejumlah

6. Terbilang

7. Jenis Penarikan

7.1. Tunai

7.2. Pemindahan

8. Validasi

After describing the contents from all withdraw form, then nd the label

that has same meaning. If there is the english label in the form, use google

translate (translate.google.com) to nd the similar meaning, for example are

label Date" and Account Number". While, if there is label in Bahasa, nd

the similar meaning in kbbi.web.id and classify in same group. For example,

Account holder and cutomer name. Both labels is written dierently in many
46

forms but has the same meaning. This process can be seen in gure 3.9.

Figure 3.9: Step to Find Similar Meaning

So, the function of the synonym table is to simplyfy the application pro-

cess and to ease the nding process of costumer data. Synonim Table of

withdraw forms can be seen in Table 3.3

Table 3.3: Table of Synonim Label.

No Bank Name Content


1 Nama Nasabah Nama, Nama Pemilik, Nama/Name, NAMA

/ Account Name, Nama Pemilik Rekening,

Nama Pemegang Rekening, NAMA PEMI-

LIK REKENING, Atas Nama/On the Be-

half, Nama Nasabah, Atas Nama.

Continued on next page


47

No Bank Name Content


2 Nomor Rekening No. Rekening, Nomor Rekening,

Nasabah No.Rekening / Account No., NOMOR

REKENING, Nomor Rekening, No. Reken-

ing/Account Number

3 Tanggal Tanggal, TANGGAL / Date, Jakarta, tang-

gal date, Tanggal Date, Tanggal/Date, Tang-

gal

4 Jenis Rekening Jenis Rekening, Simpeda Syariah, JENIS

REKENING

5 Jumlah Sejumlah, Jumlah Penarikan, Jumlah /

Amount, Nominal, JUMLAH, JUMLAH

Amount, Jumlah

6 Terbilang Terbilang, Terbilang / Amount in words,

Terbilang / In Words, TERBILANG, TER-

BILANG In Words

7 Mata Uang Mata Uang ditarik, Rupiah, JENIS VAL-

UTA ASING, MATA UANG Currency, Mata

Uang/ Currency, Mata Uang Rekening

8 Tujuan Pengguna Tujuan penggunaan dana, TUJUAN

TRANSAKSI Underliying Transaction


48

3.2.9 Scanned Label Form

In this stage, application look for the words that has already dened in

Table Synonym Label. Then application continue to identication customer

data process be will explained in next subsection. This process can be seen

in gure 3.10.

Figure 3.10: Scan the Label Form

3.2.10 Customer Data Identication

Next stage is customer data identication. Customer data is located next

to label in withdrawal form. The customer data that taken from the form are

customer name, account number, branch, date, total, calculated and bank

name. Seventh data is taken because the data is generally located on the
49

Figure 3.11: Process to Identify Customer Data

bank withdrawal form. This process can be seen in gure 3.11.

3.2.11 Tagged Customer Data

The next stage is a tag customer data and convert it into XBRL format.

In this stage, customer data has to match the tag correspond to the taxonomy

.Figure 3.12 describes the process of XBRL tagging.

3.3 Application Design

This aplication design use UML (Unied Modeling Language) and Flowchart

Diagram.
50

Figure 3.12: Process to Tagging Customer Data

3.3.1 Unied Modeling Language

Unied Modeling Language (UML) used in this application design are

Use Case Diagram and Activity Diagram.

3.3.1.1 Use Case Diagram Design

Use case diagram shows a set of use cases, actors, and the relationships

that occur between the use cases and actors. Use case describes how the

actors interact with the system. This application used by bank employee.

In this application bank employee can see the content of withdrawal form.

Beside that, bank employee can edit customer data if an error occurred and

convert to XBRL format.


51

Figure 3.13: Use Case Application

3.3.2 Flowchart Design

Figure 3.14 shows how user can use the application. To run the applica-

tion, user has to take the withdraw form from the PC. Then, user can make

some corrections on that le. If it is correct, user can go to the next step to

transform the costumer data into XBRL format.

3.3.3 Menu Hierarchy

Figure 3.15 shows Menu Hierarchy in XDANA application. In the rst

level, there is a box that represent main menu window. When the user starts

using it, main menu window will display. In the second level, there are File

menu and Help menu. In the File menu, there is a Open menu to open the

withdraw form le and Exit menu to close the application.


52

Figure 3.14: Flowchart Application


53

Figure 3.15: Menu Hierarky Application

3.4 Interface Design

Interface Design is needed in the process of making an application in order

to facilitate the process of making the application. At this stage, described

the interface design from .The interface design that will be explained is Main

Menu and Result. All the language in this application is using Indonesian

language to help bank employee how to use this application.

3.4.1 Main Menu Interface

Main menu interface is the display when this application is opened. There

are File menu and Help menu. In the File menu, there is a Open submenu

to open the form le and Exit submenu to close the application. After user

open the withdraw form le, the content of the form will display on the Text

area and automatically display the consumer data on each text eld. Convert
54

button to XBRL is used to transform the data into XBRL format.

Figure 3.16: Main Menu Design

3.4.2 Result Interface

Result interface is the ouput form after user click the convert button. The

form has already displayed the customer data in XBRL format. The design

of Result form can be seen in Figure 3.17. In line with Main menu, there is

File menu and Help menu in the rst level. The output of the application

will be displayed in Texteld. Back button is used to return to Main menu.


55

Figure 3.17: Result Design


Chapter IV
IMPLEMENTATION AND TESTING

4.1 XBRL Simulation

In this stage is simulated using XBRL in PT Alpha. PT Alpha is a com-

pany that operates in the Manufacture, sub-sectors of Heavy Industry, will

deliver nancial reports for 2012. Before creating XBRL report, PT Alpha

should refer on a standard applicable rules or procedures. The standard is

called taxonomy. All the components required in the creating nancial report

contained in the taxonomy.

Figure 4.1 is phases to create XBRL based report. Tagging is way to

ll information in report it. In tagging process PT A ll nancial report

information to taksonomy. The nancial Report are presented in XBRL

format called instace document. The information in the document instance

associated with the taxonomy used. After the instance document has been

created, it is automatically created two les, les XBRL and le taxonomy.

In listing 4.1, PT Alpha nancial report in XBRL format.

Listing 4.1: PT Alpha Financial Report in XBRL format

1 <?xml version="1.0" encoding="UTF-8"?>


2 <!-- Generated by Fujitsu XWand B0054 -->
3 <xbrli:xbrl xmlns:xbrli="http://www.xbrl.org/2003/instance"
xmlns:link="http://www.xbrl.org/2003/linkbase"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:icm-bs="http://www.bapepam.go.id/id/fr/ifrs/ci/id/2006-07-31"
xmlns:ref="http://www.xbrl.org/2004/ref"
xmlns:icm-bs-a="http://www.bapepam.go.id/id/fr/ifrs/ci/id/2006-07-31/audited"

56
57

xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
4 <link:schemaRef xlink:type="simple" xlink:href="icm-bs-2006-07-31.xsd"/>
5 <link:schemaRef xlink:type="simple" xlink:href="icm-bs-2006-07-31-audited.xsd"/>
6 <xbrli:context id="Prior_AsOf_Audited">
7 <xbrli:entity>
8 <xbrli:identifier scheme="www.bapepam.go.id/showcase/alpha">Alpha</xbrli:identifier>
9 </xbrli:entity>
10 <xbrli:period>
11 <xbrli:instant>2004-12-31</xbrli:instant>
12 </xbrli:period>
13 <xbrli:scenario>
14 <icm-bs-a:Audited/>
15 </xbrli:scenario>
16 </xbrli:context>
17 <xbrli:context id="Current_Period_Audited">
18 <xbrli:entity>
19 <xbrli:identifier scheme="www.bapepam.go.id/showcase/alpha">Alpha</xbrli:identifier>
20 </xbrli:entity>
21 <xbrli:period>
22 <xbrli:startDate>2005-01-01</xbrli:startDate>
23 <xbrli:endDate>2005-12-31</xbrli:endDate>
24 </xbrli:period>
25 <xbrli:scenario>
26 <icm-bs-a:Audited/>
27 </xbrli:scenario>
28 </xbrli:context>
29 <xbrli:context id="Current_AsOf_Audited">
30 <xbrli:entity>
31 <xbrli:identifier scheme="www.bapepam.go.id/showcase/alpha">Alpha</xbrli:identifier>
32 </xbrli:entity>
33 <xbrli:period>
34 <xbrli:instant>2005-12-31</xbrli:instant>
35 </xbrli:period>
36 <xbrli:scenario>
58

37 <icm-bs-a:Audited/>
38 </xbrli:scenario>
39 </xbrli:context>
40 <xbrli:unit id="U-IDR">
41 <xbrli:measure>iso4217:IDR</xbrli:measure>
42 </xbrli:unit>

Completer surce code in appendix page 80. In listing 4.1, explained about

nancial report form PT Alpha. In begining of the report, dislay the infor-

mation about PT Alpha`'s prole like Company Name, address and main

operation. Then display the information about nancial report like inven-

tories, prepaid taxes and xed assets. In listing 4.2, display the taxonomy

from BAPEPAM.

1 <?xml version="1.0" encoding="UTF-8"?>


2 <!-- Generated by Fujitsu XWand B0057 -->
3 <xsd:schema elementFormDefault="qualified" xmlns:link="http://www.xbrl.org/2003/linkbase"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.bapepam.go.id/id/fr/ifrs/ci/id/2006-07-31"
xmlns:xbrli="http://www.xbrl.org/2003/instance"
xmlns:icm-bs="http://www.bapepam.go.id/id/fr/ifrs/ci/id/2006-07-31">
4 <xsd:annotation>
5 <xsd:appinfo>
6 <link:linkbaseRef xlink:type="simple" xlink:href="icm-bs-2006-07-31-presentation.xml"
xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef"
xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/>
7 <link:linkbaseRef xlink:type="simple" xlink:href="icm-bs-2006-07-31-calculation.xml"
xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef"
xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/>
8 <link:linkbaseRef xlink:type="simple" xlink:href="icm-bs-2006-07-31-label-en.xml"
xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef"
xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/>
59

9 <link:linkbaseRef xlink:type="simple" xlink:href="icm-bs-2006-07-31-label-id.xml"


xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef"
xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/>
10 <link:linkbaseRef xlink:type="simple" xlink:href="icm-bs-2006-07-31-reference.xml"
xlink:role="http://www.xbrl.org/2003/role/referenceLinkbaseRef"
xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/>
11 <link:roleType
roleURI="http://www.bapepam.go.id/id/fr/ifrs/ci/id/2006-07-31/role/BalanceSheet"
id="BalanceSheet">
12 <link:definition>Balance Sheet</link:definition>
13 <link:usedOn>link:presentationLink</link:usedOn>
14 <link:usedOn>link:calculationLink</link:usedOn>
15 </link:roleType>
16 <link:roleType
roleURI="http://www.bapepam.go.id/id/fr/ifrs/ci/id/2006-07-31/role/IncomeStatement"
id="IncomeStatement">
17 <link:definition>Income Statement</link:definition>
18 <link:usedOn>link:presentationLink</link:usedOn>
19 <link:usedOn>link:calculationLink</link:usedOn>
20 </link:roleType>
21 <link:roleType
roleURI="http://www.bapepam.go.id/id/fr/ifrs/ci/id/2006-07-31/role/CashFlowStatement"
id="CashFlowStatement">
22 <link:definition>Statement of Cash Flow</link:definition>
23 <link:usedOn>link:presentationLink</link:usedOn>
24 <link:usedOn>link:calculationLink</link:usedOn>
25 </link:roleType>
26 <link:roleType
roleURI="http://www.bapepam.go.id/id/fr/ifrs/ci/id/2006-07-31/role/CompanyInformation"
id="CompanyInformation">
27 <link:definition>Company Information</link:definition>
28 <link:usedOn>link:presentationLink</link:usedOn>
29 </link:roleType>
30 </xsd:appinfo>
60

Complete source code in appendix page 86. In Figure 4.1 display PT Alpha`'s

prole and gure 4.2 is an example of the nancial report of cash ows. If

the recipient want to see the PT Alpha information of nancial report, the

receiver needs to take both les. In two les are all information about PT

Alpha nancial report. The information contained in the document instance

can be used interactively, because the data in the instance document can be

accessed, extracted and processed electronically.

Figure 4.1: PT Alpha`'s prole

4.2 Implementation

Implementation stage consist of stages that have been described previ-

ously in Chapter 3 into the program and interface design implementation.


61

Figure 4.2: PT Alpha Cash Flow report

4.2.1 Program Implementation

Program implementation is done by coding in NetBeans. As already

described in the previous chapter, this stage is divided into three steps they

are Find Words Already Dened in Synonym of Withdrawal Form Label, Get

Customer Data and Tag Customer Data.

4.2.1.1 Label Form Synonim Denition

At this stage each words that have simmilar meaning made array vari-

able. This variable is used as a comparison when checking every line on the

withdrawal form. Because the position of customer data is next to after the

label withdrawal form.

Listing 4.2: Label Form Denition

1 static String[] ont_cabang = {"cabang", "cabang branch","kantor


cabang"};
62

2 static String[] ont_tanggal = {"tanggal","date"};


3 static String[] ont_nmr_rekening = {"nomor rekening","aasa"};
4 static String[] ont_nama_rekening = {"nama pemilik rekening","asasa"};
5 static String[] ont_jmlh_ditarik = {"jumlah penarikan","jumlah"};
6 static String[] ont_terbilang = {"terbilang"};

4.2.1.2 Scanned Label Form

At this stage is opening a text le withdrawal form. Withdrawal form le

that opened as text in UTF-8. Then the program will read each line of the

le.

Listing 4.3: Scanned Label Form

1 static ArrayList<String> readLines(String path) throws IOException{


2 Charset charset = Charset.forName("UTF-8");
3 Path path2 = FileSystems.getDefault().getPath(path);
4 BufferedReader bf = Files.newBufferedReader(path2, charset);
5
6 String aLine;
7 ArrayList<String> list = new ArrayList<String>();
8
9 while (( aLine = bf.readLine()) != null){
10 byte[] b = aLine.getBytes("UTF-8");
11 aLine = new String(b, "UTF-8");
12
13 aLine = aLine.trim();
14
15 if (!aLine.equals("")) {
16 list.add(aLine);
17 }
18 }
19 bf.close();
20 return new ArrayList<String>(list);
63

21 }

4.2.1.3 Customer Data Identication

In Listing 4.2 identify customer data after withdrawal form le is opened.

Each letter in that le used as lowercase and delete space. Position data

customer is next to the label. Each data identied made methods, such as

branch made getCabang method. Then the customer data is stored in a

variable to be used in next process.

Listing 4.4: Customer Data Identication

1 public static void getCabang(String word) {


2 for (String prefix: ont_cabang) {
3 if (word.toLowerCase().startsWith(prefix) && word.length() !=
prefix.length()) {
4 cabang = word.substring(prefix.length() + 1);
5 }
6 }
7 }
8
9 public static void getTanggal(String word) {
10 for (String prefix: ont_tanggal) {
11 if (word.toLowerCase().startsWith(prefix) && word.length() !=
prefix.length()) {
12 tanggal = word.substring(prefix.length() + 1);
13 }
14 }
15 }
16
17 public static void getNmrRekening(String word) {
18 for (String prefix: ont_nmr_rekening) {
19 if (word.toLowerCase().startsWith(prefix) && word.length() !=
64

prefix.length()) {
20 nmr_rekening = word.substring(prefix.length() + 1);
21 }
22 }
23 }

Complete source code in appendix page 101.

4.2.1.4 Tagged Customer Data

Customer data that have been identied then tagging using BAPEPAM

taxonomy. For example Company Name data matched with CompanyName

taxonomy. After that, XBRL le is created and user can save it.

Listing 4.5: Tagging Customer Data

1
2 public static void convertToXBRL(String nama_nasabah, String nomor_rekening, String
jumlah, String terbilang, String nama_bank, String tanggal, String cabang){
3 DTSFactory ivFactory = DTSFactory.get();
4 try {
5 /**
6 * membaca taxonomy yang sudah ada
7 */
8 DiscoverableTaxonomySet dts = ivFactory.createTaxonomy(new
File("C:\\Users\\Bio\\Downloads\\taxonomy_icm\\icm-bs-2006-07-31.xsd"));
9 Set<DiscoverableTaxonomySet> setDts = new HashSet<>();
10 setDts.add(dts);
11
12 /**
13 * create Instance
14 */
15 Instance instance = new Instance(setDts);
16 instance.addNamespace(NamespaceConstants.XSI_NAMESPACE);
65

17 instance.addNamespace(NamespaceConstants.LINK_NAMESPACE);
18 instance.addNamespace(NamespaceConstants.XLINK_NAMESPACE);
19 instance.addNamespace(Constant.NameSpace.ICM_BS_NAMESPACE);
20 instance.addNamespace(Constant.NameSpace.REF_NAMESPACE);
21 instance.addNamespace(Constant.NameSpace.ICM_BS_A_NAMESPACE);
22 instance.addNamespace(NamespaceConstants.ISO4217_NAMESPACE);
23 instance.addNamespace(NamespaceConstants.XSI_NAMESPACE);
24
25 instance.addSchemaLocation("icm-bs-2006-07-31.xsd","xbrl-bs");
26 //instance.addSchemaLocation("icm-bs-2006-07-31-audited.xsd","xbrl-audited");
27 /* create InstanceUnit
28 */
29 InstanceUnit instanceUnit = new InstanceUnit("U-IDR");
30 instanceUnit.setValue("IDR");
31 instanceUnit.setNamespaceURI(NamespaceConstants.ISO4217_NAMESPACE.getURI());
32 instance.addUnit(instanceUnit);
33
34 /**
35 * create InstanceContext
36 * Prior_AsOf_Audited
37 */
38 InstanceContext icPrior_AsOf_Audited = new InstanceContext("Nomor_Rekening");
39 icPrior_AsOf_Audited.setIdentifier(nomor_rekening);
40 icPrior_AsOf_Audited.setIdentifierScheme(Constant.IDENTIFIER_SCHEMA);
41 icPrior_AsOf_Audited.setPeriodValue(tanggal);
42 //create Scenario
43 Element element = new Element("Audited", Constant.NameSpace.ICM_BS_A_NAMESPACE);
44 icPrior_AsOf_Audited.addScenarioElement(element);
45 instance.addContext(icPrior_AsOf_Audited);
46
47 /**
48 * create InstanceContext
49 * Current_Period_Audited
50 */
51 InstanceContext icCurrent_Period_Audited = new InstanceContext("Nama_Nasabah");
66

52 icCurrent_Period_Audited.setIdentifier(nama_nasabah);
53 icCurrent_Period_Audited.setIdentifierScheme(Constant.IDENTIFIER_SCHEMA);
54 icCurrent_Period_Audited.setPeriodValue(tanggal);
55
56 //create Scenario
57 Element element1 = new Element("Audited",Constant.NameSpace.ICM_BS_A_NAMESPACE);
58 icCurrent_Period_Audited.addScenarioElement(element1);
59 instance.addContext(icCurrent_Period_Audited);

Complete source code in appendix page 95.

4.2.2 Interface Design Implementation

In the Implementation of interface will explain how the apperance of this

application. The user interface consist of a main menu interface and result

interface.

In gure 4.3 display the logo of XDaNa application (XBRL Data Nasabah).

This logo was created by following XBRL logo. The color of logo is also

equated with XBRL logo.

Figure 4.3: XDANA Logo

4.2.2.1 Main Menu Interface Design Impelementation

Main menu interface implementation shown in gure 4.4. This interface

consist of a menu bar, text area, seven texteld, seven label and two buttons.

Text area is used to display the content of the withdrawal form le. Below
67

Figure 4.4: Main Menu Interface Design Impelementation

text area contained seven label and texteld. Texteld is used to display

customer data and user can also edit it if there is a mistake. Label is used

to facilitate the user to view customer data. Button save is used to save cus-

tomer data if there is a change. ConvertoXBRL button is used to transform

customer data into XBRL.

4.2.2.2 Result Interface Design Impelementation

Result interface implementation shown in gure 4.5. This interface consist

of one button and one one textarea. Textarea is used to display customer

data has become XBRL and Button back is used to return to the main menu.
68

Figure 4.5: Result Interface Design Impelementation

4.3 Testing

The application testing that conducted in this research is done by doing

two types of testing, there are scenario testing and black box testing method.

Black-box testing method is a way of testing by observing the results of the

application that focuses on functional requirements.

4.3.1 Scenario Testing

Withdrawal form le used in this text is `Bank Mandiri Syariah.txt' and

`Bank DKI' are shown in listing 4.5 and listing 4.6. File withdrawal form

was chosen because it has a dierent format to each other. The scenario

in this testing is input le bank withdrawal form. In this testing, customer

data on le bank withdrawal form has been lled. Customer data used are

ctitious data with assumption that the customer data read properly by the
69

Application converter pdf to text.

1. Testing on Complete Customer Data

Form used in this testing is a Withdrawal form Bank Mandiri Syariah.

The content of this le are shown in listing 4.5.

Listing 4.6: Content of Bank Mandiri Syariah.txt

1 Aplikasi Penarikan Mandiri


2 Withdrawal Form Syariah
3
4
5
6 Bismillaahirrahmaanirrahiim
7
8 Cabang Branch Margonda Tanggal 20 Desember
2014 No.: 4435459
9
10
11
12
13
14
15
16 VALIDASI Validation MATA UANG
17 Currency
18
19 Y RUPIAH .
VALUTA ASING
20 Local Currency
Foreign Currency
21
22
23 JENIS TRANSAKSI
24 Transaction Type
70

25
26 Y 1-1 LOKAL
ANTAR CABANG
27 Atas transaksi ini, agar dibebankan ke rekening: I I Local
interbranch
28 For this transaction, please debit account
29
30 NOMOR REKENING JUMLAH 10.000.000
31 account number 1120931923
Amount
32
33
34 NAMA PEMILIK REKENING Bio Abidzar G
35 account holder's name
36 TERBILANG Sepuluh
Juta Rupiah
37 In Words'
38
39 JENIS REKENING TABUNGAN LAINNYA
40 type of account Saving Other
41 TUJUAN TRANSAKSI
bayaran sekolah
42 Underlying
Transaction
43
44 TANDA TANGAN TELLER TANDA TANGAN PENARIK
45 teller signature Drawer's Signature
46
47
48 AP
001
49 Lembar
1
untuk
Bank
71

Figure 4.6: Testing of Bank Mandiri Syarih.txt le

1/2

In Mandiri Syariah withdrawal form, customer data required to be

XBRL is lled completely. The result of testing can be seen in gure

4.6 and customer data appear in spesied area.

In gure 4.7 customer data in Bank Mandiri Syariah le successfully

converted into XBRL format and stored in a storage.

2. Testing on Incomplete Customer Data

Form used in this testing is a Withdrawal form Bank DKI. The content

of this le are shown in listing 4.6.

Listing 4.7: Content of Bank DKI.txt

1 validasi/validation
2
72

Figure 4.7: Testing of Customer data has become XBRL Format

3 SLIP PENARIKAN
BANK DKI
4
5
6 Tanggal
22-3-2003
7 Jenis Rekening Simpeda Monas Tabunganku Lainnya
8
9 Nomor Rekening 1232132132131
10 Nama Pemilik Rekening Fauzi Anwar
11 Nomor Telepon Nomor Handphone
12
13 Jumlah Penarikan 1,000,000
14 Terbilang
15
16 Khusus Penarikan Tunai > Rp. 100.000.000,-
17
18 Tujuan Penggunaan Dana
73

Figure 4.8: Testing of Bank DKI.txt le

19
20 Ketentuan
21 1. Penarikan sah setelah di validasi atau di tandatangani Teller
Teller Penarik
22 2. Melampirkan fotocopy KTP / SIM / Pasport sesuai ketentuan yang
berlaku.
23 3. Penarikan tunai oleh Penerima Kuasa dengan jumlah > Rp. 100 Juta
wajib mengisi Formulir Data Non Nasabah

In Bank DKI withdrawal form, customer data lled incomplete. branch

data is not found in that le. The result of the testing shown in gure

4.8, it can be seen that the branch data is automatically lled with

kosong values.

in gure 4.9 customer data in Bank Mandiri Syariah le successfully

converted into XBRL format and stored in a storage.


74

Figure 4.9: Testing of Incomplete Customer data has become XBRL Format

Figure 4.10: Testing of Bank Mandiri Syarih.txt le

4.3.2 Other Feature Testing

The purpose of this test is whether the help menu on the menu bar running

well. In gure 4.10 shows the Help Menu has been executed.

Based on Figure 4.8 it can be concluded that menu help can running well.
75

4.3.3 Blacbox Testing

The results of XDaNa application testing described in table 4.1 is testing

of features that are available abd functional requirements of this application.

Table 4.1: Testing Result.

No Test Case Executed Procedures Executed Result Result


1. Input User select the with- The Application provides Success

Withdraw draw form le from the content of withdraw

Form File PC form le and customer data

automatically show at the

specied area

2. Edit Cus- User edit customer The Application provides Success

tomer data customer data can edit and

Data save to withdraw form le

3. Show Re- When user click `con- The Application provides Success

sult vert to xbrl' the content of Customer

Data in XBRL format and

user can save to PC

4. Show Con- When user check le Content of withdraw form Success

tent File from PC and click OK le is displayed in text area

button provided

Continued on next page


76

No Test Case Executed Procedures Executed Result Result


5. Save File After user edit cus- Withdraw form le save the Success

tomer data then Click changes

button save

6. Show User Click Bantuan Bantuan frame appears Success

`Bantuan menu

Menu'
Chapter V
CONCLUSION AND FUTURE WORK

5.1 Conclusion

From the results of application testing that has been done, the conclu-

sion is XDaNa is able to convert customer data in withdrawal form to XBRL

format. XDaNa take customer data, this data tagging is used BAPEPAM

taxonomy. XDaNa accelerate the process to create nancial report and stan-

darize nancial report format, so making it easier to data processing.

5.2 Future Work

Advice that can be given to the development of this system in the future

are follows:

1. Application can use in other form like payment and transfer form and

also can be use in all banks Indonesia.

2. Application can read text which use other le encoding like UTF-16

and UTF-16BE.

3. More Customer data can be added to this data tagging process.

77
Bibliography

V. Cortijo Bonson, E. and T. Escobar. Towards the Global Adoption of

XBRL Using International Financial Reporting Standards (IFRS). 2008.

International Journal of Accounting Information Systems ,10, (2009), 46-

60.

Gianluca Garbelloto. It`s time for xbrl gl pilots, strategic nance. 2007.

John Hunt. The unied process for practitioners: Object-oriented design,

uml and java. springer. 2000. ISBN 1-85233-275-1. p.5.door.

Ivar; James Rumbaugh; Grady Booch Jacobson. The Unied Software De-

velopment Process. 1998. Addison Wesley Longman. ISBN 0-201-57169-2.

Lily Wulandari, I Wayan Simri Wicaksana . Semantic-web solusi interoper-

abilitas informasi sebagai penunjang jaringan sistem produksi. 2005.

Spies Marcus. An ontology modelling perspective on business reporting. 2010.

journal homepage: www.elsevier.com/locate/infosys, Information Systems

35, 404-416.

Sinungan Muchdarsyah. Manajemen Dana Bank. 2005.

Netbeans. Tagging. 2014. Diakses pada 2015:https://netbeans.org/about/.

Otoritas Jasa Keuangan. Laporan triwulan iv. 2013.

78
BIBLIOGRAPHY 79

Otoritas Jasa Keuangan. Indonesian banking statistics. 2014.

http://www.ojk.go.id/statistik-perbankan-indonesia-november-2014.

Soemarso. Akutansi sebagai pengantar : Salemba empat. 2004.

Tutorialspoint. Uml tutorial. 2015. Diakses pada

2015:www.tutorialspoint.com/uml/.

Webopedia. Tagging. 2014. Diakses pada

2015:http://www.webopedia.com/TERM/T/tagging.html.

xbrl.org. Who else uses xbrl. 2015. https://www.xbrl.org/the-

standard/why/who-else-uses-xbrl/.
APPENDIX
PT Alpha Financial Report in XBRL le
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Generated by Fujitsu XWand B0054 -->
3 <xbrli:xbrl xmlns:xbrli="http://www.xbrl.org/2003/instance"
xmlns:link="http://www.xbrl.org/2003/linkbase"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:icm-bs="http://www.bapepam.go.id/id/fr/ifrs/ci/id/2006-07-31"
xmlns:ref="http://www.xbrl.org/2004/ref"
xmlns:icm-bs-a="http://www.bapepam.go.id/id/fr/ifrs/ci/id/2006-07-31/audited"
xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
4 <link:schemaRef xlink:type="simple" xlink:href="icm-bs-2006-07-31.xsd"/>
5 <link:schemaRef xlink:type="simple" xlink:href="icm-bs-2006-07-31-audited.xsd"/>
6 <xbrli:context id="Prior_AsOf_Audited">
7 <xbrli:entity>
8 <xbrli:identifier scheme="www.bapepam.go.id/showcase/alpha">Alpha</xbrli:identifier>
9 </xbrli:entity>
10 <xbrli:period>
11 <xbrli:instant>2004-12-31</xbrli:instant>
12 </xbrli:period>
13 <xbrli:scenario>
14 <icm-bs-a:Audited/>
15 </xbrli:scenario>
16 </xbrli:context>
17 <xbrli:context id="Current_Period_Audited">
18 <xbrli:entity>
19 <xbrli:identifier scheme="www.bapepam.go.id/showcase/alpha">Alpha</xbrli:identifier>
20 </xbrli:entity>
21 <xbrli:period>
22 <xbrli:startDate>2005-01-01</xbrli:startDate>
23 <xbrli:endDate>2005-12-31</xbrli:endDate>
24 </xbrli:period>

80
25 <xbrli:scenario>
26 <icm-bs-a:Audited/>
27 </xbrli:scenario>
28 </xbrli:context>
29 <xbrli:context id="Current_AsOf_Audited">
30 <xbrli:entity>
31 <xbrli:identifier scheme="www.bapepam.go.id/showcase/alpha">Alpha</xbrli:identifier>
32 </xbrli:entity>
33 <xbrli:period>
34 <xbrli:instant>2005-12-31</xbrli:instant>
35 </xbrli:period>
36 <xbrli:scenario>
37 <icm-bs-a:Audited/>
38 </xbrli:scenario>
39 </xbrli:context>
40 <xbrli:unit id="U-IDR">
41 <xbrli:measure>iso4217:IDR</xbrli:measure>
42 </xbrli:unit>
43 <icm-bs:CompanyName xsi:nil="false"
contextRef="Current_Period_Audited">Alpha</icm-bs:CompanyName>
44 <icm-bs:ListedCompanyCode xsi:nil="false"
contextRef="Current_Period_Audited">ONEC</icm-bs:ListedCompanyCode>
45 <icm-bs:Industry xsi:nil="false"
contextRef="Current_Period_Audited">Manufacture</icm-bs:Industry>
46 <icm-bs:MainOperation xsi:nil="false" contextRef="Current_Period_Audited">Heavy
Industry</icm-bs:MainOperation>
47 <icm-bs:AddressLine1 xsi:nil="false" contextRef="Current_Period_Audited">127 Lindon
Square</icm-bs:AddressLine1>
48 <icm-bs:AddressLine2 xsi:nil="false" contextRef="Current_Period_Audited">Konnington JK7
5FE</icm-bs:AddressLine2>
49 <icm-bs:AddressLine3 xsi:nil="false"
contextRef="Current_Period_Audited">London</icm-bs:AddressLine3>
50 <icm-bs:AddressLine4 xsi:nil="false"
contextRef="Current_Period_Audited">England</icm-bs:AddressLine4>

81
51 <icm-bs:ReportingType xsi:nil="false"
contextRef="Current_Period_Audited">Semi-annual</icm-bs:ReportingType>
52 <icm-bs:AuditedUnaudited xsi:nil="false"
contextRef="Current_Period_Audited">Audited</icm-bs:AuditedUnaudited>
53 <icm-bs:CashCashEquivalents xsi:nil="false" decimals="INF"
contextRef="Current_AsOf_Audited" unitRef="U-IDR">14562</icm-bs:CashCashEquivalents>
54 <icm-bs:ShortTermInvestments xsi:nil="false" decimals="INF"
contextRef="Current_AsOf_Audited" unitRef="U-IDR">789</icm-bs:ShortTermInvestments>
55 <icm-bs:NotesReceivables xsi:nil="false" decimals="INF"
contextRef="Current_AsOf_Audited" unitRef="U-IDR">42769</icm-bs:NotesReceivables>
56 <icm-bs:AccountsReceivables xsi:nil="false" decimals="INF"
contextRef="Current_AsOf_Audited" unitRef="U-IDR">86781</icm-bs:AccountsReceivables>
57 <icm-bs:OtherReceivables xsi:nil="false" decimals="INF"
contextRef="Current_AsOf_Audited" unitRef="U-IDR">24569</icm-bs:OtherReceivables>
58 <icm-bs:Inventories xsi:nil="false" decimals="INF" contextRef="Current_AsOf_Audited"
unitRef="U-IDR">245765</icm-bs:Inventories>
59 <icm-bs:PrepaidTaxes xsi:nil="false" decimals="INF" contextRef="Current_AsOf_Audited"
unitRef="U-IDR">16787</icm-bs:PrepaidTaxes>
60 <icm-bs:PrepaidExpenses xsi:nil="false" decimals="INF" contextRef="Current_AsOf_Audited"
unitRef="U-IDR">8293</icm-bs:PrepaidExpenses>
61 <icm-bs:OtherCurrentAssets xsi:nil="false" decimals="INF"
contextRef="Current_AsOf_Audited" unitRef="U-IDR">6271</icm-bs:OtherCurrentAssets>
62 <icm-bs:TotalCurrentAssets xsi:nil="false" decimals="INF"
contextRef="Current_AsOf_Audited" unitRef="U-IDR">446586</icm-bs:TotalCurrentAssets>
63 <icm-bs:RelatedPartyReceivables xsi:nil="false" decimals="INF"
contextRef="Current_AsOf_Audited"
unitRef="U-IDR">3298</icm-bs:RelatedPartyReceivables>
64 <icm-bs:DeferredTaxAssets xsi:nil="false" decimals="INF"
contextRef="Current_AsOf_Audited" unitRef="U-IDR">52657</icm-bs:DeferredTaxAssets>
65 <icm-bs:InvestmentsAssocitatedCompanies xsi:nil="false" decimals="INF"
contextRef="Current_AsOf_Audited"
unitRef="U-IDR">1342578</icm-bs:InvestmentsAssocitatedCompanies>
66 <icm-bs:OtherLongTermInvestments xsi:nil="false" decimals="INF"
contextRef="Current_AsOf_Audited"
unitRef="U-IDR">24536</icm-bs:OtherLongTermInvestments>

82
67 <icm-bs:FixedAssets xsi:nil="false" decimals="INF" contextRef="Current_AsOf_Audited"
unitRef="U-IDR">302733</icm-bs:FixedAssets>
68 <icm-bs:IntangibleAssets xsi:nil="false" decimals="INF"
contextRef="Current_AsOf_Audited" unitRef="U-IDR">18729</icm-bs:IntangibleAssets>
69 <icm-bs:OtherAssets xsi:nil="false" decimals="INF" contextRef="Current_AsOf_Audited"
unitRef="U-IDR">2678</icm-bs:OtherAssets>
70 <icm-bs:TotalNonCurrentAssets xsi:nil="false" decimals="INF"
contextRef="Current_AsOf_Audited"
unitRef="U-IDR">1747209</icm-bs:TotalNonCurrentAssets>
71 <icm-bs:TotalAssets xsi:nil="false" decimals="INF" contextRef="Current_AsOf_Audited"
unitRef="U-IDR">2193795</icm-bs:TotalAssets>
72 <icm-bs:ShortTermLoans xsi:nil="false" decimals="INF" contextRef="Current_AsOf_Audited"
unitRef="U-IDR">34345</icm-bs:ShortTermLoans>
73 <icm-bs:NotesPayables xsi:nil="false" decimals="INF" contextRef="Current_AsOf_Audited"
unitRef="U-IDR">27679</icm-bs:NotesPayables>
74 <icm-bs:AccountsPayables xsi:nil="false" decimals="INF"
contextRef="Current_AsOf_Audited" unitRef="U-IDR">345267</icm-bs:AccountsPayables>
75 <icm-bs:TaxPayables xsi:nil="false" decimals="INF" contextRef="Current_AsOf_Audited"
unitRef="U-IDR">678</icm-bs:TaxPayables>
76 <icm-bs:AccruedExpenses xsi:nil="false" decimals="INF" contextRef="Current_AsOf_Audited"
unitRef="U-IDR">78292</icm-bs:AccruedExpenses>
77 <icm-bs:CurrentPortionLongTermLiabilities xsi:nil="false" decimals="INF"
contextRef="Current_AsOf_Audited"
unitRef="U-IDR">267876</icm-bs:CurrentPortionLongTermLiabilities>
78 <icm-bs:OtherCurrentLiabilities xsi:nil="false" decimals="INF"
contextRef="Current_AsOf_Audited"
unitRef="U-IDR">578987</icm-bs:OtherCurrentLiabilities>
79 <icm-bs:TotalCurrentLiabilities xsi:nil="false" decimals="INF"
contextRef="Current_AsOf_Audited"
unitRef="U-IDR">1333124</icm-bs:TotalCurrentLiabilities>
80 <icm-bs:RelatedPartiesPayables xsi:nil="false" decimals="INF"
contextRef="Current_AsOf_Audited"
unitRef="U-IDR">89879</icm-bs:RelatedPartiesPayables>
81 <icm-bs:DeferredTaxPayables xsi:nil="false" decimals="INF"
contextRef="Current_AsOf_Audited" unitRef="U-IDR">543678</icm-bs:DeferredTaxPayables>

83
82 <icm-bs:LongTermLoans xsi:nil="false" decimals="INF" contextRef="Current_AsOf_Audited"
unitRef="U-IDR">236</icm-bs:LongTermLoans>
83 <icm-bs:LeasePayables xsi:nil="false" decimals="INF" contextRef="Current_AsOf_Audited"
unitRef="U-IDR">12398</icm-bs:LeasePayables>
84 <icm-bs:Bonds xsi:nil="false" decimals="INF" contextRef="Current_AsOf_Audited"
unitRef="U-IDR">267</icm-bs:Bonds>
85 <icm-bs:OtherNonCurrentLiabilities xsi:nil="false" decimals="INF"
contextRef="Current_AsOf_Audited"
unitRef="U-IDR">21980</icm-bs:OtherNonCurrentLiabilities>
86 <icm-bs:SubordinatedLoans xsi:nil="false" decimals="INF"
contextRef="Current_AsOf_Audited" unitRef="U-IDR">210</icm-bs:SubordinatedLoans>
87 <icm-bs:ConvertibleBonds xsi:nil="false" decimals="INF"
contextRef="Current_AsOf_Audited" unitRef="U-IDR">321</icm-bs:ConvertibleBonds>
88 <icm-bs:TotalNonCurrentLiabilities xsi:nil="false" decimals="INF"
contextRef="Current_AsOf_Audited"
unitRef="U-IDR">668969</icm-bs:TotalNonCurrentLiabilities>
89 <icm-bs:TotalLiabilities xsi:nil="false" decimals="INF"
contextRef="Current_AsOf_Audited" unitRef="U-IDR">2002093</icm-bs:TotalLiabilities>
90 <icm-bs:CapitalStocks xsi:nil="false" decimals="INF" contextRef="Current_AsOf_Audited"
unitRef="U-IDR">98720</icm-bs:CapitalStocks>
91 <icm-bs:AdditionalPaidinCapital xsi:nil="false" decimals="INF"
contextRef="Current_AsOf_Audited"
unitRef="U-IDR">78920</icm-bs:AdditionalPaidinCapital>
92 <icm-bs:DifferenceForeignCurrencyTranslation xsi:nil="false" decimals="INF"
contextRef="Current_AsOf_Audited"
unitRef="U-IDR">230</icm-bs:DifferenceForeignCurrencyTranslation>
93 <icm-bs:DifferenceEquityTransactionAssociatedCompanies xsi:nil="false" decimals="INF"
contextRef="Current_AsOf_Audited"
unitRef="U-IDR">2340</icm-bs:DifferenceEquityTransactionAssociatedCompanies>
94 <icm-bs:UnrealizedGainLossAvailableSaleInvestments xsi:nil="false" decimals="INF"
contextRef="Current_AsOf_Audited"
unitRef="U-IDR">120</icm-bs:UnrealizedGainLossAvailableSaleInvestments>
95 <icm-bs:RevaluationIncrementFixedAssetsRevaluation xsi:nil="false" decimals="INF"
contextRef="Current_AsOf_Audited"
unitRef="U-IDR">3109</icm-bs:RevaluationIncrementFixedAssetsRevaluation>

84
96 <icm-bs:StocksOptions xsi:nil="false" decimals="INF" contextRef="Current_AsOf_Audited"
unitRef="U-IDR">213</icm-bs:StocksOptions>
97 <icm-bs:RetainedEarnings xsi:nil="false" decimals="INF"
contextRef="Current_AsOf_Audited" unitRef="U-IDR">7812</icm-bs:RetainedEarnings>
98 <icm-bs:TreasuryStocks xsi:nil="false" decimals="INF" contextRef="Current_AsOf_Audited"
unitRef="U-IDR">238</icm-bs:TreasuryStocks>
99 <icm-bs:TotalEquity xsi:nil="false" decimals="INF" contextRef="Current_AsOf_Audited"
unitRef="U-IDR">191702</icm-bs:TotalEquity>
100 <icm-bs:TotalLiabilitiesEquity xsi:nil="false" decimals="INF"
contextRef="Current_AsOf_Audited"
unitRef="U-IDR">2193795</icm-bs:TotalLiabilitiesEquity>
101 <icm-bs:Revenue xsi:nil="false" decimals="INF" contextRef="Current_Period_Audited"
unitRef="U-IDR">738624</icm-bs:Revenue>
102 <icm-bs:CostSales xsi:nil="false" decimals="INF" contextRef="Current_Period_Audited"
unitRef="U-IDR">324876</icm-bs:CostSales>
103 <icm-bs:GrossProfit xsi:nil="false" decimals="INF" contextRef="Current_Period_Audited"
unitRef="U-IDR">413748</icm-bs:GrossProfit>
104 <icm-bs:OperatingExpenses xsi:nil="false" decimals="INF"
contextRef="Current_Period_Audited" unitRef="U-IDR">37990</icm-bs:OperatingExpenses>
105 <icm-bs:OperatingIncomeLoss xsi:nil="false" decimals="INF"
contextRef="Current_Period_Audited"
unitRef="U-IDR">375758</icm-bs:OperatingIncomeLoss>
106 <icm-bs:OtherIncomeExpenses xsi:nil="false" decimals="INF"
contextRef="Current_Period_Audited"
unitRef="U-IDR">21098</icm-bs:OtherIncomeExpenses>
107 <icm-bs:EquityNetEarningsAssociates xsi:nil="false" decimals="INF"
contextRef="Current_Period_Audited"
unitRef="U-IDR">5678</icm-bs:EquityNetEarningsAssociates>
108 <icm-bs:IncomeLossBeforeTax xsi:nil="false" decimals="INF"
contextRef="Current_Period_Audited"
unitRef="U-IDR">402534</icm-bs:IncomeLossBeforeTax>
109 <icm-bs:TaxExpense xsi:nil="false" decimals="INF" contextRef="Current_Period_Audited"
unitRef="U-IDR">56781</icm-bs:TaxExpense>
110 <icm-bs:IncomeLossNormalActivities xsi:nil="false" decimals="INF"
contextRef="Current_Period_Audited"

85
unitRef="U-IDR">345753</icm-bs:IncomeLossNormalActivities>
111 <icm-bs:ExtraordinaryItems xsi:nil="false" decimals="INF"
contextRef="Current_Period_Audited" unitRef="U-IDR">23098</icm-bs:ExtraordinaryItems>
112 <icm-bs:NetIncomeLoss xsi:nil="false" decimals="INF" contextRef="Current_Period_Audited"
unitRef="U-IDR">322655</icm-bs:NetIncomeLoss>
113 <icm-bs:CashOperating xsi:nil="false" decimals="INF" contextRef="Current_Period_Audited"
unitRef="U-IDR">72618</icm-bs:CashOperating>
114 <icm-bs:CashInvesting xsi:nil="false" decimals="INF" contextRef="Current_Period_Audited"
unitRef="U-IDR">-62768</icm-bs:CashInvesting>
115 <icm-bs:CashFinancing xsi:nil="false" decimals="INF" contextRef="Current_Period_Audited"
unitRef="U-IDR">-8180</icm-bs:CashFinancing>
116 <icm-bs:NetIncreaseCashCashEquivalents xsi:nil="false" decimals="INF"
contextRef="Current_Period_Audited"
unitRef="U-IDR">1670</icm-bs:NetIncreaseCashCashEquivalents>
117 <icm-bs:CashCashEquivalentsBeginningEnding xsi:nil="false" decimals="INF"
contextRef="Current_AsOf_Audited"
unitRef="U-IDR">14562</icm-bs:CashCashEquivalentsBeginningEnding>
118 <icm-bs:CashCashEquivalentsBeginningEnding xsi:nil="false" decimals="INF"
contextRef="Prior_AsOf_Audited"
unitRef="U-IDR">12892</icm-bs:CashCashEquivalentsBeginningEnding>
119 </xbrli:xbrl>

BAPEPAM Taxonomy
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Generated by Fujitsu XWand B0057 -->
3 <xsd:schema elementFormDefault="qualified" xmlns:link="http://www.xbrl.org/2003/linkbase"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.bapepam.go.id/id/fr/ifrs/ci/id/2006-07-31"
xmlns:xbrli="http://www.xbrl.org/2003/instance"
xmlns:icm-bs="http://www.bapepam.go.id/id/fr/ifrs/ci/id/2006-07-31">
4 <xsd:annotation>
5 <xsd:appinfo>
6 <link:linkbaseRef xlink:type="simple" xlink:href="icm-bs-2006-07-31-presentation.xml"
xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef"

86
xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/>
7 <link:linkbaseRef xlink:type="simple" xlink:href="icm-bs-2006-07-31-calculation.xml"
xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef"
xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/>
8 <link:linkbaseRef xlink:type="simple" xlink:href="icm-bs-2006-07-31-label-en.xml"
xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef"
xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/>
9 <link:linkbaseRef xlink:type="simple" xlink:href="icm-bs-2006-07-31-label-id.xml"
xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef"
xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/>
10 <link:linkbaseRef xlink:type="simple" xlink:href="icm-bs-2006-07-31-reference.xml"
xlink:role="http://www.xbrl.org/2003/role/referenceLinkbaseRef"
xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/>
11 <link:roleType
roleURI="http://www.bapepam.go.id/id/fr/ifrs/ci/id/2006-07-31/role/BalanceSheet"
id="BalanceSheet">
12 <link:definition>Balance Sheet</link:definition>
13 <link:usedOn>link:presentationLink</link:usedOn>
14 <link:usedOn>link:calculationLink</link:usedOn>
15 </link:roleType>
16 <link:roleType
roleURI="http://www.bapepam.go.id/id/fr/ifrs/ci/id/2006-07-31/role/IncomeStatement"
id="IncomeStatement">
17 <link:definition>Income Statement</link:definition>
18 <link:usedOn>link:presentationLink</link:usedOn>
19 <link:usedOn>link:calculationLink</link:usedOn>
20 </link:roleType>
21 <link:roleType
roleURI="http://www.bapepam.go.id/id/fr/ifrs/ci/id/2006-07-31/role/CashFlowStatement"
id="CashFlowStatement">
22 <link:definition>Statement of Cash Flow</link:definition>
23 <link:usedOn>link:presentationLink</link:usedOn>
24 <link:usedOn>link:calculationLink</link:usedOn>
25 </link:roleType>

87
26 <link:roleType
roleURI="http://www.bapepam.go.id/id/fr/ifrs/ci/id/2006-07-31/role/CompanyInformation"
id="CompanyInformation">
27 <link:definition>Company Information</link:definition>
28 <link:usedOn>link:presentationLink</link:usedOn>
29 </link:roleType>
30 </xsd:appinfo>
31 </xsd:annotation>
32 <xsd:import namespace="http://www.xbrl.org/2003/instance"
schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd"/>
33 <xsd:element name="BalanceSheet" id="icm-bs_BalanceSheet" type="xbrli:stringItemType"
substitutionGroup="xbrli:item" abstract="true" nillable="true"
xbrli:periodType="instant"/>
34 <xsd:element name="Assets" id="icm-bs_Assets" type="xbrli:stringItemType"
substitutionGroup="xbrli:item" abstract="true" nillable="true"
xbrli:periodType="duration"/>
35 <xsd:element name="TotalAssets" id="icm-bs_TotalAssets" type="xbrli:monetaryItemType"
substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit"
xbrli:periodType="instant"/>
36 <xsd:element name="CurrentAssets" id="icm-bs_CurrentAssets" type="xbrli:stringItemType"
substitutionGroup="xbrli:item" abstract="true" nillable="true"
xbrli:periodType="duration"/>
37 <xsd:element name="TotalCurrentAssets" id="icm-bs_TotalCurrentAssets"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="debit" xbrli:periodType="instant"/>
38 <xsd:element name="CashCashEquivalents" id="icm-bs_CashCashEquivalents"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="debit" xbrli:periodType="instant"/>
39 <xsd:element name="ShortTermInvestments" id="icm-bs_ShortTermInvestments"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="debit" xbrli:periodType="instant"/>
40 <xsd:element name="NotesReceivables" id="icm-bs_NotesReceivables"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="debit" xbrli:periodType="instant"/>

88
41 <xsd:element name="AccountsReceivables" id="icm-bs_AccountsReceivables"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="debit" xbrli:periodType="instant"/>
42 <xsd:element name="OtherReceivables" id="icm-bs_OtherReceivables"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="debit" xbrli:periodType="instant"/>
43 <xsd:element name="Inventories" id="icm-bs_Inventories" type="xbrli:monetaryItemType"
substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit"
xbrli:periodType="instant"/>
44 <xsd:element name="PrepaidTaxes" id="icm-bs_PrepaidTaxes" type="xbrli:monetaryItemType"
substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit"
xbrli:periodType="instant"/>
45 <xsd:element name="PrepaidExpenses" id="icm-bs_PrepaidExpenses"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="debit" xbrli:periodType="instant"/>
46 <xsd:element name="OtherCurrentAssets" id="icm-bs_OtherCurrentAssets"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="debit" xbrli:periodType="instant"/>
47 <xsd:element name="NonCurrentAssets" id="icm-bs_NonCurrentAssets"
type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true"
nillable="true" xbrli:periodType="duration"/>
48 <xsd:element name="TotalNonCurrentAssets" id="icm-bs_TotalNonCurrentAssets"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="debit" xbrli:periodType="instant"/>
49 <xsd:element name="RelatedPartyReceivables" id="icm-bs_RelatedPartyReceivables"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="debit" xbrli:periodType="instant"/>
50 <xsd:element name="DeferredTaxAssets" id="icm-bs_DeferredTaxAssets"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="debit" xbrli:periodType="instant"/>
51 <xsd:element name="InvestmentsAssocitatedCompanies"
id="icm-bs_InvestmentsAssocitatedCompanies" type="xbrli:monetaryItemType"
substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit"
xbrli:periodType="instant"/>

89
52 <xsd:element name="OtherLongTermInvestments" id="icm-bs_OtherLongTermInvestments"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="debit" xbrli:periodType="instant"/>
53 <xsd:element name="FixedAssets" id="icm-bs_FixedAssets" type="xbrli:monetaryItemType"
substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit"
xbrli:periodType="instant"/>
54 <xsd:element name="IntangibleAssets" id="icm-bs_IntangibleAssets"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="debit" xbrli:periodType="instant"/>
55 <xsd:element name="OtherAssets" id="icm-bs_OtherAssets" type="xbrli:monetaryItemType"
substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit"
xbrli:periodType="instant"/>
56 <xsd:element name="LiabilitiesEquity" id="icm-bs_LiabilitiesEquity"
type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true"
nillable="true" xbrli:periodType="duration"/>
57 <xsd:element name="TotalLiabilitiesEquity" id="icm-bs_TotalLiabilitiesEquity"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="credit" xbrli:periodType="instant"/>
58 <xsd:element name="Liabilities" id="icm-bs_Liabilities" type="xbrli:stringItemType"
substitutionGroup="xbrli:item" abstract="true" nillable="true"
xbrli:periodType="duration"/>
59 <xsd:element name="TotalLiabilities" id="icm-bs_TotalLiabilities"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="credit" xbrli:periodType="instant"/>
60 <xsd:element name="CurrentLiabilities" id="icm-bs_CurrentLiabilities"
type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true"
nillable="true" xbrli:periodType="duration"/>
61 <xsd:element name="TotalCurrentLiabilities" id="icm-bs_TotalCurrentLiabilities"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="credit" xbrli:periodType="instant"/>
62 <xsd:element name="ShortTermLoans" id="icm-bs_ShortTermLoans"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="credit" xbrli:periodType="instant"/>
63 <xsd:element name="NotesPayables" id="icm-bs_NotesPayables"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"

90
xbrli:balance="credit" xbrli:periodType="instant"/>
64 <xsd:element name="AccountsPayables" id="icm-bs_AccountsPayables"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="credit" xbrli:periodType="instant"/>
65 <xsd:element name="TaxPayables" id="icm-bs_TaxPayables" type="xbrli:monetaryItemType"
substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit"
xbrli:periodType="instant"/>
66 <xsd:element name="AccruedExpenses" id="icm-bs_AccruedExpenses"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="credit" xbrli:periodType="instant"/>
67 <xsd:element name="CurrentPortionLongTermLiabilities"
id="icm-bs_CurrentPortionLongTermLiabilities" type="xbrli:monetaryItemType"
substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit"
xbrli:periodType="instant"/>
68 <xsd:element name="OtherCurrentLiabilities" id="icm-bs_OtherCurrentLiabilities"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="credit" xbrli:periodType="instant"/>
69 <xsd:element name="NonCurrentLiabilities" id="icm-bs_NonCurrentLiabilities"
type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true"
nillable="true" xbrli:periodType="duration"/>
70 <xsd:element name="TotalNonCurrentLiabilities" id="icm-bs_TotalNonCurrentLiabilities"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="credit" xbrli:periodType="instant"/>
71 <xsd:element name="RelatedPartiesPayables" id="icm-bs_RelatedPartiesPayables"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="credit" xbrli:periodType="instant"/>
72 <xsd:element name="DeferredTaxPayables" id="icm-bs_DeferredTaxPayables"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="credit" xbrli:periodType="instant"/>
73 <xsd:element name="LongTermLoans" id="icm-bs_LongTermLoans"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="credit" xbrli:periodType="instant"/>
74 <xsd:element name="LeasePayables" id="icm-bs_LeasePayables"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="credit" xbrli:periodType="instant"/>

91
75 <xsd:element name="Bonds" id="icm-bs_Bonds" type="xbrli:monetaryItemType"
substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit"
xbrli:periodType="instant"/>
76 <xsd:element name="OtherNonCurrentLiabilities" id="icm-bs_OtherNonCurrentLiabilities"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:periodType="instant"/>
77 <xsd:element name="SubordinatedLoans" id="icm-bs_SubordinatedLoans"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="credit" xbrli:periodType="instant"/>
78 <xsd:element name="ConvertibleBonds" id="icm-bs_ConvertibleBonds"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="credit" xbrli:periodType="instant"/>
79 <xsd:element name="Equity" id="icm-bs_Equity" type="xbrli:stringItemType"
substitutionGroup="xbrli:item" abstract="true" nillable="true"
xbrli:periodType="duration"/>
80 <xsd:element name="TotalEquity" id="icm-bs_TotalEquity" type="xbrli:monetaryItemType"
substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit"
xbrli:periodType="instant"/>
81 <xsd:element name="CapitalStocks" id="icm-bs_CapitalStocks"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="credit" xbrli:periodType="instant"/>
82 <xsd:element name="AdditionalPaidinCapital" id="icm-bs_AdditionalPaidinCapital"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="credit" xbrli:periodType="instant"/>
83 <xsd:element name="DifferenceForeignCurrencyTranslation"
id="icm-bs_DifferenceForeignCurrencyTranslation" type="xbrli:monetaryItemType"
substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit"
xbrli:periodType="instant"/>
84 <xsd:element name="DifferenceEquityTransactionAssociatedCompanies"
id="icm-bs_DifferenceEquityTransactionAssociatedCompanies"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="credit" xbrli:periodType="instant"/>
85 <xsd:element name="UnrealizedGainLossAvailableSaleInvestments"
id="icm-bs_UnrealizedGainLossAvailableSaleInvestments" type="xbrli:monetaryItemType"
substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit"

92
xbrli:periodType="instant"/>
86 <xsd:element name="RevaluationIncrementFixedAssetsRevaluation"
id="icm-bs_RevaluationIncrementFixedAssetsRevaluation" type="xbrli:monetaryItemType"
substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit"
xbrli:periodType="instant"/>
87 <xsd:element name="StocksOptions" id="icm-bs_StocksOptions"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="credit" xbrli:periodType="instant"/>
88 <xsd:element name="RetainedEarnings" id="icm-bs_RetainedEarnings"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="credit" xbrli:periodType="instant"/>
89 <xsd:element name="TreasuryStocks" id="icm-bs_TreasuryStocks"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="credit" xbrli:periodType="instant"/>
90 <xsd:element name="IncomeStatement" id="icm-bs_IncomeStatement"
type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true"
nillable="true" xbrli:periodType="duration"/>
91 <xsd:element name="Revenue" id="icm-bs_Revenue" type="xbrli:monetaryItemType"
substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit"
xbrli:periodType="duration"/>
92 <xsd:element name="CostSales" id="icm-bs_CostSales" type="xbrli:monetaryItemType"
substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit"
xbrli:periodType="duration"/>
93 <xsd:element name="GrossProfit" id="icm-bs_GrossProfit" type="xbrli:monetaryItemType"
substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit"
xbrli:periodType="duration"/>
94 <xsd:element name="OperatingExpenses" id="icm-bs_OperatingExpenses"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="debit" xbrli:periodType="duration"/>
95 <xsd:element name="OperatingIncomeLoss" id="icm-bs_OperatingIncomeLoss"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="credit" xbrli:periodType="duration"/>
96 <xsd:element name="OtherIncomeExpenses" id="icm-bs_OtherIncomeExpenses"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="credit" xbrli:periodType="duration"/>

93
97 <xsd:element name="EquityNetEarningsAssociates" id="icm-bs_EquityNetEarningsAssociates"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="credit" xbrli:periodType="duration"/>
98 <xsd:element name="IncomeLossBeforeTax" id="icm-bs_IncomeLossBeforeTax"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="credit" xbrli:periodType="duration"/>
99 <xsd:element name="TaxExpense" id="icm-bs_TaxExpense" type="xbrli:monetaryItemType"
substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit"
xbrli:periodType="duration"/>
100 <xsd:element name="IncomeLossNormalActivities" id="icm-bs_IncomeLossNormalActivities"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="credit" xbrli:periodType="duration"/>
101 <xsd:element name="ExtraordinaryItems" id="icm-bs_ExtraordinaryItems"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="debit" xbrli:periodType="duration"/>
102 <xsd:element name="NetIncomeLoss" id="icm-bs_NetIncomeLoss"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="credit" xbrli:periodType="duration"/>
103 <xsd:element name="CashFlow" id="icm-bs_CashFlow" type="xbrli:stringItemType"
substitutionGroup="xbrli:item" abstract="true" nillable="true"
xbrli:periodType="duration"/>
104 <xsd:element name="CashOperating" id="icm-bs_CashOperating"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="debit" xbrli:periodType="duration"/>
105 <xsd:element name="CashInvesting" id="icm-bs_CashInvesting"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="debit" xbrli:periodType="duration"/>
106 <xsd:element name="CashFinancing" id="icm-bs_CashFinancing"
type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:balance="debit" xbrli:periodType="duration"/>
107 <xsd:element name="NetIncreaseCashCashEquivalents"
id="icm-bs_NetIncreaseCashCashEquivalents" type="xbrli:monetaryItemType"
substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit"
xbrli:periodType="duration"/>

94
108 <xsd:element name="CashCashEquivalentsBeginningEnding"
id="icm-bs_CashCashEquivalentsBeginningEnding" type="xbrli:monetaryItemType"
substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit"
xbrli:periodType="instant"/>
109 <xsd:element name="CompanyInformation" id="icm-bs_CompanyInformation"
type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true"
nillable="true" xbrli:periodType="duration"/>
110 <xsd:element name="CompanyName" id="icm-bs_CompanyName" type="xbrli:stringItemType"
substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
111 <xsd:element name="ListedCompanyCode" id="icm-bs_ListedCompanyCode"
type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:periodType="duration"/>
112 <xsd:element name="Industry" id="icm-bs_Industry" type="xbrli:stringItemType"
substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
113 <xsd:element name="MainOperation" id="icm-bs_MainOperation" type="xbrli:stringItemType"
substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
114 <xsd:element name="AddressLine1" id="icm-bs_AddressLine1" type="xbrli:stringItemType"
substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
115 <xsd:element name="AddressLine2" id="icm-bs_AddressLine2" type="xbrli:stringItemType"
substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
116 <xsd:element name="AddressLine3" id="icm-bs_AddressLine3" type="xbrli:stringItemType"
substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
117 <xsd:element name="AddressLine4" id="icm-bs_AddressLine4" type="xbrli:stringItemType"
substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
118 <xsd:element name="ReportingType" id="icm-bs_ReportingType" type="xbrli:stringItemType"
substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
119 <xsd:element name="AuditedUnaudited" id="icm-bs_AuditedUnaudited"
type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true"
xbrli:periodType="duration"/>
120 </xsd:schema>

Create XBRL le


1 import org.jdom.Attribute;
2 import org.jdom.Document;
3 import org.jdom.Element;

95
4 import org.jdom.JDOMException;
5 import org.jdom.output.Format;
6 import org.jdom.output.XMLOutputter;
7 import utils.Constant;
8 import xbrlcore.constants.NamespaceConstants;
9 import xbrlcore.exception.XBRLException;
10 import xbrlcore.instance.*;
11 import xbrlcore.taxonomy.Concept;
12 import xbrlcore.taxonomy.DTSFactory;
13 import xbrlcore.taxonomy.DiscoverableTaxonomySet;
14
15 import java.io.File;
16 import java.io.FileOutputStream;
17 import java.io.IOException;
18 import java.io.OutputStream;
19 import java.util.HashSet;
20 import java.util.Iterator;
21 import java.util.Set;
22 import javax.swing.JFileChooser;
23
24 public class xbrl {
25 static String path;
26 public static void convertToXBRL(String nama_nasabah, String nomor_rekening, String
jumlah, String terbilang, String nama_bank, String tanggal, String cabang){
27 DTSFactory ivFactory = DTSFactory.get();
28 try {
29
30 /**
31 * membaca taxonomy yang sudah ada
32 */
33 DiscoverableTaxonomySet dts = ivFactory.createTaxonomy(new
File("C:\\Users\\Bio\\Downloads\\taxonomy_icm\\icm-bs-2006-07-31.xsd"));
34 Set<DiscoverableTaxonomySet> setDts = new HashSet<>();
35 setDts.add(dts);
36

96
37 /**
38 * create Instance
39 */
40 Instance instance = new Instance(setDts);
41 instance.addNamespace(NamespaceConstants.XSI_NAMESPACE);
42 instance.addNamespace(NamespaceConstants.LINK_NAMESPACE);
43 instance.addNamespace(NamespaceConstants.XLINK_NAMESPACE);
44 instance.addNamespace(Constant.NameSpace.ICM_BS_NAMESPACE);
45 instance.addNamespace(Constant.NameSpace.REF_NAMESPACE);
46 instance.addNamespace(Constant.NameSpace.ICM_BS_A_NAMESPACE);
47 instance.addNamespace(NamespaceConstants.ISO4217_NAMESPACE);
48 instance.addNamespace(NamespaceConstants.XSI_NAMESPACE);
49
50 instance.addSchemaLocation("icm-bs-2006-07-31.xsd","xbrl-bs");
51 //instance.addSchemaLocation("icm-bs-2006-07-31-audited.xsd","xbrl-audited");
52 /* create InstanceUnit
53 */
54 InstanceUnit instanceUnit = new InstanceUnit("U-IDR");
55 instanceUnit.setValue("IDR");
56 instanceUnit.setNamespaceURI(NamespaceConstants.ISO4217_NAMESPACE.getURI());
57 instance.addUnit(instanceUnit);
58
59 /**
60 * create InstanceContext
61 * Prior_AsOf_Audited
62 */
63 InstanceContext icPrior_AsOf_Audited = new InstanceContext("Nomor_Rekening");
64 icPrior_AsOf_Audited.setIdentifier(nomor_rekening);
65 icPrior_AsOf_Audited.setIdentifierScheme(Constant.IDENTIFIER_SCHEMA);
66 icPrior_AsOf_Audited.setPeriodValue(tanggal);
67 //create Scenario
68 Element element = new Element("Audited", Constant.NameSpace.ICM_BS_A_NAMESPACE);
69 icPrior_AsOf_Audited.addScenarioElement(element);
70 instance.addContext(icPrior_AsOf_Audited);
71

97
72 /**
73 * create InstanceContext
74 * Current_Period_Audited
75 */
76 InstanceContext icCurrent_Period_Audited = new InstanceContext("Nama_Nasabah");
77 icCurrent_Period_Audited.setIdentifier(nama_nasabah);
78 icCurrent_Period_Audited.setIdentifierScheme(Constant.IDENTIFIER_SCHEMA);
79 icCurrent_Period_Audited.setPeriodValue(tanggal);
80 // icCurrent_Period_Audited.setPeriodStartDate("2005-01-01");
81 // icCurrent_Period_Audited.setPeriodEndDate("2005-12-31");
82 //create Scenario
83 Element element1 = new Element("Audited",Constant.NameSpace.ICM_BS_A_NAMESPACE);
84 icCurrent_Period_Audited.addScenarioElement(element1);
85 instance.addContext(icCurrent_Period_Audited);
86
87
88 /**
89 * create InstanceContext
90 * Current_AsOf_Audited
91 */
92
93 /**
94 * create Fact
95 */
96 xbrl main = new xbrl();
97
98 /**
99 * Fact CompanyName
100 */
101 Fact factCompanyName = new Fact(main.findConceptById("icm-bs_CompanyName",
setDts));
102 factCompanyName.setValue(nama_bank);
103 factCompanyName.setInstanceContext(icCurrent_Period_Audited);
104 instance.addFact(factCompanyName);
105

98
106 /**
107 * Fact ListedCompanyCode
108 */
109
110 Fact factIndustry = new Fact(main.findConceptById("icm-bs_Industry", setDts));
111 factIndustry.setValue("Perbankan");
112 factIndustry.setInstanceContext(icCurrent_Period_Audited);
113 instance.addFact(factIndustry);
114
115 /**
116 * Fact MainOperation
117 */
118
119 /**
120 * Fact AddresLine1
121 */
122 Fact factAddressLine1 = new Fact(main.findConceptById("icm-bs_AddressLine1",
setDts));
123 factAddressLine1.setValue(cabang);
124 factAddressLine1.setInstanceContext(icCurrent_Period_Audited);
125 instance.addFact(factAddressLine1);
126
127 /**
128 *Fact ReportingType
129 */
130 Fact factReportingType = new Fact(main.findConceptById("icm-bs_ReportingType",
setDts));
131 factReportingType.setValue("Semi-annual");
132 factReportingType.setInstanceContext(icCurrent_Period_Audited);
133 instance.addFact(factReportingType);
134
135 /*
136 Simpan file JfileChooser
137 */
138 JFileChooser fileChooser = new JFileChooser();

99
139 fileChooser.setDialogTitle("Specify a file to save");
140
141 int userSelection = fileChooser.showSaveDialog(null);
142 File fileToSave = fileChooser.getSelectedFile();
143 if (userSelection == JFileChooser.APPROVE_OPTION) {
144 System.out.println("Save as file: " + fileToSave.getAbsolutePath());
145 }
146 //String xbrlFile = fileToSave.getAbsolutePath();
147 path = fileToSave.getAbsolutePath();
148 /**
149 * menyimpan instance
150 */
151 InstanceOutputter instanceOutputter = new InstanceOutputter(instance);
152 Document instanceXML = instanceOutputter.getXML();
153 /* outputting XML */
154 XMLOutputter serializer = new XMLOutputter();
155 Format f = Format.getPrettyFormat();
156 f.setOmitDeclaration(false);
157 serializer.setFormat(f);
158 //OutputStream os = new FileOutputStream("D:\\test2.xbrl");
159 OutputStream os = new FileOutputStream(path);
160 serializer.output(instanceXML, os);
161
162
163 } catch (IOException e) {
164 e.printStackTrace();
165 } catch (XBRLException e) {
166 e.printStackTrace();
167 } catch (JDOMException e) {
168 e.printStackTrace();
169 }
170 }
171
172 public Concept findConceptById(String conceptId, Set<DiscoverableTaxonomySet> dts) {
173 Concept concept = null;

100
174 Iterator<DiscoverableTaxonomySet> iterator = dts.iterator();
175 while (iterator.hasNext()) {
176 DiscoverableTaxonomySet next = iterator.next();
177 concept = next.getConceptByID(conceptId);
178 if (concept != null)
179 break;
180 }
181 return concept;
182 }
183 }

Open Withdrawal form le and get customer data


1 import java.io.IOException;
2 import java.io.BufferedReader;
3 import java.util.*;
4 import java.nio.charset.*;
5 import java.nio.file.*;
6
7
8 public class Main {
9
10 private String path;
11 static String cabang = "kosong";
12 static String tanggal = "kosong";
13 static String nmr_rekening = "kosong";
14 static String nama_rekening = "kosong";
15 static String jmlh_ditarik = "kosong";
16 static String terbilang = "kosong";
17 static String[] ont_cabang = {"cabang", "cabang branch","kantor cabang"};
18 static String[] ont_tanggal = {"tanggal","date","tanggal/date"};
19 static String[] ont_nmr_rekening = {"nomor rekening","account number"};
20 static String[] ont_nama_rekening = {"nama pemilik rekening", "atas nama/"};
21 static String[] ont_jmlh_ditarik = {"jumlah","jumlah penarikan"};
22 static String[] ont_terbilang = {"terbilang"};
23

101
24 static ArrayList<String> readLines(String path) throws IOException{
25 Charset charset = Charset.forName("UTF-8");
26 Path path2 = FileSystems.getDefault().getPath(path);
27 BufferedReader bf = Files.newBufferedReader(path2, charset);
28
29 String aLine;
30 ArrayList<String> list = new ArrayList<String>();
31
32 while (( aLine = bf.readLine()) != null){
33 byte[] b = aLine.getBytes("UTF-8");
34 aLine = new String(b, "UTF-8");
35
36 aLine = aLine.trim();
37
38 if (!aLine.equals("")) {
39 list.add(aLine);
40 }
41 }
42 bf.close();
43 return new ArrayList<String>(list);
44 }
45
46 public static void getCabang(String word) {
47 for (String prefix: ont_cabang) {
48 if (word.toLowerCase().startsWith(prefix) && word.length() != prefix.length()) {
49 cabang = word.substring(prefix.length() + 1);
50 }
51 }
52 }
53
54 public static void getTanggal(String word) {
55 for (String prefix: ont_tanggal) {
56 if (word.toLowerCase().startsWith(prefix) && word.length() !=
prefix.length()) {
57 tanggal = word.substring(prefix.length() + 1);

102
58 }
59 }
60 }
61
62 public static void getNmrRekening(String word) {
63 for (String prefix: ont_nmr_rekening) {
64 if (word.toLowerCase().startsWith(prefix) && word.length() != prefix.length()) {
65 nmr_rekening = word.substring(prefix.length() + 1);
66 }
67 }
68 }
69
70 public static void getNamaRekening(String word) {
71 for (String prefix: ont_nama_rekening) {
72 if (word.toLowerCase().startsWith(prefix)) {
73 nama_rekening = word.substring(prefix.length() + 1);
74 }
75 }
76 }
77
78 public static void getJmlhDitarik(String word) {
79 for (String prefix: ont_jmlh_ditarik) {
80 if (word.toLowerCase().startsWith(prefix) && word.length() !=
prefix.length()) {
81 jmlh_ditarik = word.substring(prefix.length() + 1);
82 }
83 }
84 }
85
86 public static void getTerbilang(String word) {
87 for (String prefix: ont_terbilang) {
88 if (word.toLowerCase().startsWith(prefix) && word.length() !=
prefix.length()) {
89 terbilang = word.substring(prefix.length() + 1);
90 }

103
91 }
92 }
93 }

Main Menu
1 import javax.swing.*;
2 import java.io.*;
3 import java.util.ArrayList;
4 import static main.Main.cabang;
5 import static main.Main.getCabang;
6 import static main.Main.getJmlhDitarik;
7 import static main.Main.getNamaRekening;
8 import static main.Main.getNmrRekening;
9 import static main.Main.getTanggal;
10 import static main.Main.getTerbilang;
11 import static main.Main.jmlh_ditarik;
12 import static main.Main.nama_rekening;
13 import static main.Main.nmr_rekening;
14 import static main.Main.readLines;
15 import static main.Main.tanggal;
16 import static main.Main.terbilang;
17 /**
18 *
19 * @author Bio
20 */
21
22 public class gui extends javax.swing.JFrame {
23 result resFrame = new result();
24 help helpFrame = new help();
25
26 /**
27 * Creates new form gui
28 */
29 String ReadFile;
30 String Nama_Bank;

104
31 String Input;
32 int namaPos = -1;
33 int noRekPos = -1;
34 int jumlahPos = -1;
35 int cabangPos = -1;
36 int tanggalPos = -1;
37 int terbilangPos = -1;
38
39 public gui() {
40 initComponents();
41 setExtendedState(JFrame.MAXIMIZED_BOTH);
42 setVisible(true);
43 setResizable(false);
44 }
45
46 class MyCustomFilter extends javax.swing.filechooser.FileFilter {
47 @Override
48 public boolean accept(File file) {
49 // Allow only directories, or files with ".txt" extension
50 return file.isDirectory() || file.getAbsolutePath().endsWith(".txt");
51 }
52 @Override
53 public String getDescription() {
54 // This description will be displayed in the dialog,
55 // hard-coded = ugly, should be done via I18N
56 return "Text documents (*.txt)";
57 }
58 }
59
60 /**
61 * This method is called from within the constructor to initialize the form.
62 * WARNING: Do NOT modify this code. The content of this method is always
63 * regenerated by the Form Editor.
64 */
65 @SuppressWarnings("unchecked")

105
66 // <editor-fold defaultstate="collapsed" desc="Generated
Code">//GEN-BEGIN:initComponents
67 private void initComponents() {
68
69 fileChooser = new javax.swing.JFileChooser();
70 jScrollPane1 = new javax.swing.JScrollPane();
71 textarea = new javax.swing.JTextArea();
72 btn_xbrl = new javax.swing.JButton();
73 btn_save = new javax.swing.JButton();
74 txtfield_nama_nasabah = new javax.swing.JTextField();
75 lbl_nama_nasabah = new javax.swing.JLabel();
76 lbl_nama_rek = new javax.swing.JLabel();
77 txtfield_no_rek = new javax.swing.JTextField();
78 lbl_jumlah = new javax.swing.JLabel();
79 lbl_terbilang = new javax.swing.JLabel();
80 txtfield_jumlah = new javax.swing.JTextField();
81 txtfield_terbilang = new javax.swing.JTextField();
82 lbl_tanggal = new javax.swing.JLabel();
83 lbl_cabang = new javax.swing.JLabel();
84 txtfield_tanggal = new javax.swing.JTextField();
85 txtfield_cabang = new javax.swing.JTextField();
86 lbl_cabang1 = new javax.swing.JLabel();
87 txtfield_nama_bank = new javax.swing.JTextField();
88 jMenuBar1 = new javax.swing.JMenuBar();
89 jMenu_file = new javax.swing.JMenu();
90 jMenuItem_open = new javax.swing.JMenuItem();
91 jMenuItem_exit = new javax.swing.JMenuItem();
92 jMenu_help = new javax.swing.JMenu();
93 jMenuItem1 = new javax.swing.JMenuItem();
94
95 fileChooser.setFileFilter(new MyCustomFilter());
96
97 setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
98 setTitle("XDANA");
99

106
100 textarea.setColumns(20);
101 textarea.setRows(5);
102 jScrollPane1.setViewportView(textarea);
103
104 btn_xbrl.setText("Convert to XBRL");
105 btn_xbrl.addActionListener(new java.awt.event.ActionListener() {
106 public void actionPerformed(java.awt.event.ActionEvent evt) {
107 btn_xbrlActionPerformed(evt);
108 }
109 });
110
111 btn_save.setBackground(new java.awt.Color(255, 255, 255));
112 btn_save.setIcon(new
javax.swing.ImageIcon("C:\\Users\\Bio\\Downloads\\save29.png")); // NOI18N
113 btn_save.setToolTipText("Save Button");
114 btn_save.addActionListener(new java.awt.event.ActionListener() {
115 public void actionPerformed(java.awt.event.ActionEvent evt) {
116 btn_saveActionPerformed(evt);
117 }
118 });
119
120 txtfield_nama_nasabah.addFocusListener(new java.awt.event.FocusAdapter() {
121 public void focusLost(java.awt.event.FocusEvent evt) {
122 txtfield_nama_nasabahFocusLost(evt);
123 }
124 });
125 txtfield_nama_nasabah.addKeyListener(new java.awt.event.KeyAdapter() {
126 public void keyReleased(java.awt.event.KeyEvent evt) {
127 txtfield_nama_nasabahKeyReleased(evt);
128 }
129 });
130
131 lbl_nama_nasabah.setText("Nama Nasabah");
132
133 lbl_nama_rek.setText("Nomor Rekening");

107
134
135 txtfield_no_rek.addFocusListener(new java.awt.event.FocusAdapter() {
136 public void focusLost(java.awt.event.FocusEvent evt) {
137 txtfield_no_rekFocusLost(evt);
138 }
139 });
140 txtfield_no_rek.addKeyListener(new java.awt.event.KeyAdapter() {
141 public void keyReleased(java.awt.event.KeyEvent evt) {
142 txtfield_no_rekKeyReleased(evt);
143 }
144 });
145
146 lbl_jumlah.setText("Jumlah");
147
148 lbl_terbilang.setText("Terbilang");
149
150 txtfield_jumlah.addFocusListener(new java.awt.event.FocusAdapter() {
151 public void focusLost(java.awt.event.FocusEvent evt) {
152 txtfield_jumlahFocusLost(evt);
153 }
154 });
155 txtfield_jumlah.addKeyListener(new java.awt.event.KeyAdapter() {
156 public void keyReleased(java.awt.event.KeyEvent evt) {
157 txtfield_jumlahKeyReleased(evt);
158 }
159 });
160
161 txtfield_terbilang.addFocusListener(new java.awt.event.FocusAdapter() {
162 public void focusLost(java.awt.event.FocusEvent evt) {
163 txtfield_terbilangFocusLost(evt);
164 }
165 });
166 txtfield_terbilang.addKeyListener(new java.awt.event.KeyAdapter() {
167 public void keyReleased(java.awt.event.KeyEvent evt) {
168 txtfield_terbilangKeyReleased(evt);

108
169 }
170 });
171
172 lbl_tanggal.setText("Tanggal");
173
174 lbl_cabang.setText("Cabang");
175
176 txtfield_tanggal.addFocusListener(new java.awt.event.FocusAdapter() {
177 public void focusLost(java.awt.event.FocusEvent evt) {
178 txtfield_tanggalFocusLost(evt);
179 }
180 });
181 txtfield_tanggal.addKeyListener(new java.awt.event.KeyAdapter() {
182 public void keyReleased(java.awt.event.KeyEvent evt) {
183 txtfield_tanggalKeyReleased(evt);
184 }
185 });
186
187 txtfield_cabang.addFocusListener(new java.awt.event.FocusAdapter() {
188 public void focusLost(java.awt.event.FocusEvent evt) {
189 txtfield_cabangFocusLost(evt);
190 }
191 });
192 txtfield_cabang.addKeyListener(new java.awt.event.KeyAdapter() {
193 public void keyReleased(java.awt.event.KeyEvent evt) {
194 txtfield_cabangKeyReleased(evt);
195 }
196 });
197
198 lbl_cabang1.setText("Nama Bank");
199
200 txtfield_nama_bank.addFocusListener(new java.awt.event.FocusAdapter() {
201 public void focusLost(java.awt.event.FocusEvent evt) {
202 txtfield_nama_bankFocusLost(evt);
203 }

109
204 });
205 txtfield_nama_bank.addKeyListener(new java.awt.event.KeyAdapter() {
206 public void keyReleased(java.awt.event.KeyEvent evt) {
207 txtfield_nama_bankKeyReleased(evt);
208 }
209 });
210
211 jMenu_file.setMnemonic('F');
212 jMenu_file.setText("File");
213
214 jMenuItem_open.setMnemonic('O');
215 jMenuItem_open.setText("Open");
216 jMenuItem_open.addActionListener(new java.awt.event.ActionListener() {
217 public void actionPerformed(java.awt.event.ActionEvent evt) {
218 jMenuItem_openActionPerformed(evt);
219 }
220 });
221 jMenu_file.add(jMenuItem_open);
222
223 jMenuItem_exit.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_X,
java.awt.event.InputEvent.CTRL_MASK));
224 jMenuItem_exit.setText("Exit");
225 jMenuItem_exit.addActionListener(new java.awt.event.ActionListener() {
226 public void actionPerformed(java.awt.event.ActionEvent evt) {
227 jMenuItem_exitActionPerformed(evt);
228 }
229 });
230 jMenu_file.add(jMenuItem_exit);
231
232 jMenuBar1.add(jMenu_file);
233
234 jMenu_help.setText("Bantuan");
235
236 jMenuItem1.setText("Bantuan");
237 jMenuItem1.addActionListener(new java.awt.event.ActionListener() {

110
238 public void actionPerformed(java.awt.event.ActionEvent evt) {
239 jMenuItem1ActionPerformed(evt);
240 }
241 });
242 jMenu_help.add(jMenuItem1);
243
244 jMenuBar1.add(jMenu_help);
245
246 setJMenuBar(jMenuBar1);
247
248 javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
249 getContentPane().setLayout(layout);
250 layout.setHorizontalGroup(
251 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
252 .addGroup(layout.createSequentialGroup()
253 .addContainerGap()
254 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
255 .addGroup(layout.createSequentialGroup()
256 .addComponent(btn_xbrl)
257 .addGap(0, 0, Short.MAX_VALUE))
258 .addGroup(layout.createSequentialGroup()
259 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
260 .addComponent(jScrollPane1)
261 .addGroup(layout.createSequentialGroup()
262 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
263 .addGroup(layout.createSequentialGroup()
264 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
265 .addGroup(layout.createSequentialGroup()
266 .addComponent(lbl_nama_rek)
267 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
268 .addComponent(txtfield_no_rek,
javax.swing.GroupLayout.PREFERRED_SIZE,
140,
javax.swing.GroupLayout.PREFERRED_SIZE)
269 .addGap(18, 18, 18)

111
270 .addComponent(lbl_terbilang))
271 .addGroup(layout.createSequentialGroup()
272 .addComponent(lbl_nama_nasabah)
273 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
274 .addComponent(txtfield_nama_nasabah,
javax.swing.GroupLayout.PREFERRED_SIZE,
140,
javax.swing.GroupLayout.PREFERRED_SIZE)
275 .addGap(18, 18, 18)
276 .addComponent(lbl_jumlah)))
277 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
278 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
279 .addGroup(layout.createSequentialGroup()
280 .addComponent(txtfield_jumlah,
javax.swing.GroupLayout.PREFERRED_SIZE,
140,
javax.swing.GroupLayout.PREFERRED_SIZE)
281 .addGap(18, 18, 18)
282 .addComponent(lbl_tanggal))
283 .addGroup(layout.createSequentialGroup()
284 .addComponent(txtfield_terbilang,
javax.swing.GroupLayout.PREFERRED_SIZE,
140,
javax.swing.GroupLayout.PREFERRED_SIZE)
285 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
286 .addComponent(lbl_cabang1)))
287 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
288 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
289 .addComponent(txtfield_nama_bank,
javax.swing.GroupLayout.PREFERRED_SIZE, 140,
javax.swing.GroupLayout.PREFERRED_SIZE)
290 .addGroup(layout.createSequentialGroup()
291 .addComponent(txtfield_tanggal,
javax.swing.GroupLayout.PREFERRED_SIZE,
140,

112
javax.swing.GroupLayout.PREFERRED_SIZE)
292 .addGap(18, 18, 18)
293 .addComponent(lbl_cabang)
294 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
295 .addComponent(txtfield_cabang,
javax.swing.GroupLayout.PREFERRED_SIZE,
140,
javax.swing.GroupLayout.PREFERRED_SIZE))))
296 .addComponent(btn_save,
javax.swing.GroupLayout.PREFERRED_SIZE, 32,
javax.swing.GroupLayout.PREFERRED_SIZE))
297 .addGap(0, 81, Short.MAX_VALUE)))
298 .addContainerGap())))
299 );
300 layout.setVerticalGroup(
301 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
302 .addGroup(layout.createSequentialGroup()
303 .addGap(4, 4, 4)
304 .addComponent(btn_save)
305 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
306 .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 296,
Short.MAX_VALUE)
307 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
308 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
309 .addComponent(txtfield_nama_nasabah,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
310 .addComponent(lbl_nama_nasabah)
311 .addComponent(lbl_jumlah)
312 .addComponent(txtfield_jumlah, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
313 .addComponent(lbl_tanggal)

113
314 .addComponent(txtfield_tanggal, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
315 .addComponent(txtfield_cabang, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
316 .addComponent(lbl_cabang))
317 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
318 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
319 .addComponent(lbl_nama_rek)
320 .addComponent(txtfield_no_rek, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
321 .addComponent(lbl_terbilang)
322 .addComponent(txtfield_terbilang,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
323 .addComponent(lbl_cabang1)
324 .addComponent(txtfield_nama_bank,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
325 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
326 .addComponent(btn_xbrl, javax.swing.GroupLayout.PREFERRED_SIZE, 23,
javax.swing.GroupLayout.PREFERRED_SIZE)
327 .addContainerGap())
328 );
329
330 pack();
331 }// </editor-fold>//GEN-END:initComponents
332
333 private void jMenuItem_openActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_jMenuItem_openActionPerformed
334 // TODO add your handling code here:

114
335
336 int returnVal = fileChooser.showOpenDialog(this);
337 if (returnVal == JFileChooser.APPROVE_OPTION) {
338 File file = fileChooser.getSelectedFile();
339 System.out.println(file);
340 try {
341 // What to do with the file, e.g. display it in a TextArea
342 textarea.read( new FileReader( file.getAbsolutePath() ), null );
343 Nama_Bank = file.getName();
344 ReadFile = file.getAbsolutePath();
345 try{
346 ArrayList<String> aryLines = readLines(ReadFile);
347 ArrayList<String> words = new ArrayList<String>();
348
349 for (int i = 0; i < aryLines.size() ; i++) {
350 aryLines.set(i, aryLines.get(i).replaceAll("\t", " "));
351
352 String[] wordsLine = aryLines.get(i).split(" ");
353 for (int j = 0; j < wordsLine.length; j++) {
354 if (!wordsLine[j].trim().equals("")) {
355 words.add(wordsLine[j].trim());
356 }
357 }
358 }
359
360 for (String word : words) {
361 getCabang(word);
362 getTanggal(word);
363 getNamaRekening(word);
364 getNmrRekening(word);
365 getJmlhDitarik(word);
366 getTerbilang(word);
367 }
368 Nama_Bank = Nama_Bank.replace(".txt","");
369 txtfield_nama_nasabah.setText(nama_rekening);

115
370 txtfield_no_rek.setText(nmr_rekening);
371 txtfield_cabang.setText(cabang);
372 txtfield_jumlah.setText(jmlh_ditarik);
373 txtfield_tanggal.setText(tanggal);
374 txtfield_terbilang.setText(terbilang);
375 txtfield_nama_bank.setText(Nama_Bank);
376 System.out.println(cabang);
377 System.out.println(tanggal);
378 System.out.println(nama_rekening);
379 System.out.println(nmr_rekening);
380 System.out.println(jmlh_ditarik);
381 System.out.println(terbilang);
382 }
383 catch(IOException e){
384 System.out.println("Error: " + e.getMessage());
385 }
386 } catch (IOException ex) {
387 System.out.println("problem accessing file"+file.getAbsolutePath());
388 }
389 } else {
390 System.out.println("File access cancelled by user.");
391 }
392 }//GEN-LAST:event_jMenuItem_openActionPerformed
393
394 private void jMenuItem_exitActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_jMenuItem_exitActionPerformed
395 // TODO add your handling code here:
396 System.exit(0);
397 }//GEN-LAST:event_jMenuItem_exitActionPerformed
398
399 private void btn_xbrlActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_btn_xbrlActionPerformed
400 // TODO add your handling code here:
401 System.out.println(ReadFile);
402 String file_name = ReadFile;

116
403 if (file_name == null) {
404 JOptionPane.showMessageDialog(this, "Anda Belum Menginput File","Warning
Message", JOptionPane.WARNING_MESSAGE);
405 }
406 else{
407 int dialogButton = JOptionPane.YES_NO_OPTION;
408 int dialogResult = JOptionPane.showConfirmDialog(this, "Apakah data nasabah
sudah benar?", "XBRL Format Dialog",dialogButton);
409 if(dialogResult==0){
410 jmlh_ditarik = jmlh_ditarik.replace(".", "");
411 double jumlah = Double.parseDouble(jmlh_ditarik);
412 xbrl.convertToXBRL(nama_rekening,
413 nmr_rekening,
414 jmlh_ditarik,
415 terbilang,
416 Nama_Bank,
417 tanggal,
418 cabang);
419 resFrame.openResult();
420 resFrame.setVisible(true);
421 }
422 }
423 }//GEN-LAST:event_btn_xbrlActionPerformed
424
425 private void btn_saveActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_btn_saveActionPerformed
426 String textToSet = textarea.getText();
427 String file_name = ReadFile;
428 if(file_name == null){
429 JOptionPane.showMessageDialog(this, "Anda Belum Menginput File","Warning Message",
JOptionPane.WARNING_MESSAGE);
430 }else{
431 int dialogButton = JOptionPane.YES_NO_OPTION;
432 int dialogResult = JOptionPane.showConfirmDialog(this, "Apakah Anda Ingin
Memperbaharui Data Nasabah?", "Simpan Data Nasabah",dialogButton);

117
433 if(dialogResult==0){
434 try
435 {
436 PrintWriter writer = new PrintWriter(ReadFile.toString(), "UTF-8");
437 writer.write(textToSet);
438 writer.close();
439 }
440 catch (FileNotFoundException | UnsupportedEncodingException exc)
441 {
442 System.err.println("Could'nt write to the file");
443 }
444 }
445 }
446 }//GEN-LAST:event_btn_saveActionPerformed
447
448 private void txtfield_no_rekKeyReleased(java.awt.event.KeyEvent evt)
{//GEN-FIRST:event_txtfield_no_rekKeyReleased
449 if (noRekPos == -1) {
450 noRekPos = textarea.getText().indexOf(nmr_rekening);
451 }
452 String oldText = textarea.getText();
453 String newText = oldText.substring(0, noRekPos)
454 + txtfield_no_rek.getText()
455 + oldText.substring(namaPos + nmr_rekening.length(),
oldText.length());
456
457 nmr_rekening = txtfield_no_rek.getText();
458 textarea.setText(newText);
459 }//GEN-LAST:event_txtfield_no_rekKeyReleased
460
461 private void txtfield_jumlahKeyReleased(java.awt.event.KeyEvent evt)
{//GEN-FIRST:event_txtfield_jumlahKeyReleased
462 if (jumlahPos == -1) {
463 jumlahPos = textarea.getText().indexOf(jmlh_ditarik);
464 }

118
465 String oldText = textarea.getText();
466 String newText = oldText.substring(0, jumlahPos)
467 + txtfield_jumlah.getText()
468 + oldText.substring(jumlahPos + jmlh_ditarik.length(),
oldText.length());
469
470 jmlh_ditarik = txtfield_jumlah.getText();
471 textarea.setText(newText);
472 }//GEN-LAST:event_txtfield_jumlahKeyReleased
473
474 private void txtfield_terbilangKeyReleased(java.awt.event.KeyEvent evt)
{//GEN-FIRST:event_txtfield_terbilangKeyReleased
475 if (terbilangPos == -1) {
476 terbilangPos = textarea.getText().indexOf(terbilang);
477 }
478 String oldText = textarea.getText();
479 String newText = oldText.substring(0, terbilangPos)
480 + txtfield_terbilang.getText()
481 + oldText.substring(terbilangPos + terbilang.length(),
oldText.length());
482
483 terbilang = txtfield_terbilang.getText();
484 textarea.setText(newText);
485 }//GEN-LAST:event_txtfield_terbilangKeyReleased
486
487 private void txtfield_tanggalKeyReleased(java.awt.event.KeyEvent evt)
{//GEN-FIRST:event_txtfield_tanggalKeyReleased
488 if (tanggalPos == -1) {
489 tanggalPos = textarea.getText().indexOf(tanggal);
490 }
491 String oldText = textarea.getText();
492 String newText = oldText.substring(0, tanggalPos)
493 + txtfield_tanggal.getText()
494 + oldText.substring(tanggalPos + tanggal.length(),
oldText.length());

119
495
496 tanggal = txtfield_tanggal.getText();
497 textarea.setText(newText);
498 }//GEN-LAST:event_txtfield_tanggalKeyReleased
499
500 private void txtfield_cabangKeyReleased(java.awt.event.KeyEvent evt)
{//GEN-FIRST:event_txtfield_cabangKeyReleased
501 if (cabangPos == -1) {
502 cabangPos = textarea.getText().indexOf(cabang);
503 }
504 String oldText = textarea.getText();
505 String newText = oldText.substring(0, cabangPos)
506 + txtfield_cabang.getText()
507 + oldText.substring(cabangPos + cabang.length(),
oldText.length());
508
509 cabang = txtfield_cabang.getText();
510 textarea.setText(newText);
511 }//GEN-LAST:event_txtfield_cabangKeyReleased
512
513 private void txtfield_nama_bankKeyReleased(java.awt.event.KeyEvent evt)
{//GEN-FIRST:event_txtfield_nama_bankKeyReleased
514 Nama_Bank = txtfield_nama_bank.getText();
515 }//GEN-LAST:event_txtfield_nama_bankKeyReleased
516
517 private void txtfield_nama_nasabahKeyReleased(java.awt.event.KeyEvent evt)
{//GEN-FIRST:event_txtfield_nama_nasabahKeyReleased
518 if (namaPos == -1) {
519 namaPos = textarea.getText().indexOf(nama_rekening);
520 }
521 String oldText = textarea.getText();
522 String newText = oldText.substring(0, namaPos)
523 + txtfield_nama_nasabah.getText()
524 + oldText.substring(namaPos + nama_rekening.length(), oldText.length());
525

120
526 nama_rekening = txtfield_nama_nasabah.getText();
527 textarea.setText(newText);
528 }//GEN-LAST:event_txtfield_nama_nasabahKeyReleased
529
530 private void txtfield_nama_nasabahFocusLost(java.awt.event.FocusEvent evt)
{//GEN-FIRST:event_txtfield_nama_nasabahFocusLost
531 System.out.println(txtfield_nama_nasabah.getText());
532 if (txtfield_nama_nasabah.getText().isEmpty() && ReadFile != null) {
533 JOptionPane.showMessageDialog(this, "Tidak boleh kosong");
534 txtfield_nama_nasabah.requestFocus();
535 }
536 }//GEN-LAST:event_txtfield_nama_nasabahFocusLost
537
538 private void txtfield_no_rekFocusLost(java.awt.event.FocusEvent evt)
{//GEN-FIRST:event_txtfield_no_rekFocusLost
539 System.out.println(txtfield_no_rek.getText());
540 if (txtfield_no_rek.getText().isEmpty() && ReadFile != null) {
541 JOptionPane.showMessageDialog(this, "Tidak boleh kosong");
542 txtfield_no_rek.requestFocus();
543 }
544 }//GEN-LAST:event_txtfield_no_rekFocusLost
545
546 private void txtfield_jumlahFocusLost(java.awt.event.FocusEvent evt)
{//GEN-FIRST:event_txtfield_jumlahFocusLost
547 System.out.println(txtfield_jumlah.getText());
548 if (txtfield_jumlah.getText().isEmpty() && ReadFile != null) {
549 JOptionPane.showMessageDialog(this, "Tidak boleh kosong");
550 txtfield_jumlah.requestFocus();
551 }
552 }//GEN-LAST:event_txtfield_jumlahFocusLost
553
554 private void txtfield_terbilangFocusLost(java.awt.event.FocusEvent evt)
{//GEN-FIRST:event_txtfield_terbilangFocusLost
555 System.out.println(txtfield_terbilang.getText());
556 if (txtfield_terbilang.getText().isEmpty() && ReadFile != null) {

121
557 JOptionPane.showMessageDialog(this, "Tidak boleh kosong");
558 txtfield_terbilang.requestFocus();
559 }
560 }//GEN-LAST:event_txtfield_terbilangFocusLost
561
562 private void txtfield_tanggalFocusLost(java.awt.event.FocusEvent evt)
{//GEN-FIRST:event_txtfield_tanggalFocusLost
563 System.out.println(txtfield_tanggal.getText());
564 if (txtfield_tanggal.getText().isEmpty() && ReadFile != null) {
565 JOptionPane.showMessageDialog(this, "Tidak boleh kosong");
566 txtfield_tanggal.requestFocus();
567 }
568 }//GEN-LAST:event_txtfield_tanggalFocusLost
569
570 private void txtfield_nama_bankFocusLost(java.awt.event.FocusEvent evt)
{//GEN-FIRST:event_txtfield_nama_bankFocusLost
571 System.out.println(txtfield_nama_bank.getText());
572 if (txtfield_nama_bank.getText().isEmpty() && ReadFile != null) {
573 JOptionPane.showMessageDialog(this, "Tidak boleh kosong");
574 txtfield_nama_bank.requestFocus();
575 }
576 }//GEN-LAST:event_txtfield_nama_bankFocusLost
577
578 private void txtfield_cabangFocusLost(java.awt.event.FocusEvent evt)
{//GEN-FIRST:event_txtfield_cabangFocusLost
579 System.out.println(txtfield_cabang.getText());
580 if (txtfield_cabang.getText().isEmpty() && ReadFile != null) {
581 JOptionPane.showMessageDialog(this, "Tidak boleh kosong");
582 txtfield_cabang.requestFocus();
583 }
584 }//GEN-LAST:event_txtfield_cabangFocusLost
585
586 private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_jMenuItem1ActionPerformed
587 // TODO add your handling code here:

122
588 helpFrame.setVisible(true);
589 }//GEN-LAST:event_jMenuItem1ActionPerformed
590
591 public static void main(String args[]) {
592 try {
593 for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
594 if ("Nimbus".equals(info.getName())) {
595 javax.swing.UIManager.setLookAndFeel(info.getClassName());
596 break;
597 }
598 }
599 } catch (ClassNotFoundException ex) {
600 java.util.logging.Logger.getLogger(gui.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
601 } catch (InstantiationException ex) {
602 java.util.logging.Logger.getLogger(gui.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
603 } catch (IllegalAccessException ex) {
604 java.util.logging.Logger.getLogger(gui.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
605 } catch (javax.swing.UnsupportedLookAndFeelException ex) {
606 java.util.logging.Logger.getLogger(gui.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
607 }
608
609 /* Create and display the form */
610 java.awt.EventQueue.invokeLater(new Runnable() {
611 public void run() {
612 new gui().setVisible(true);
613 }
614 });
615 }
616 private javax.swing.JButton btn_save;
617 private javax.swing.JButton btn_xbrl;

123
618 private javax.swing.JFileChooser fileChooser;
619 private javax.swing.JMenuBar jMenuBar1;
620 private javax.swing.JMenuItem jMenuItem1;
621 private javax.swing.JMenuItem jMenuItem_exit;
622 private javax.swing.JMenuItem jMenuItem_open;
623 private javax.swing.JMenu jMenu_file;
624 private javax.swing.JMenu jMenu_help;
625 private javax.swing.JScrollPane jScrollPane1;
626 private javax.swing.JLabel lbl_cabang;
627 private javax.swing.JLabel lbl_cabang1;
628 private javax.swing.JLabel lbl_jumlah;
629 private javax.swing.JLabel lbl_nama_nasabah;
630 private javax.swing.JLabel lbl_nama_rek;
631 private javax.swing.JLabel lbl_tanggal;
632 private javax.swing.JLabel lbl_terbilang;
633 private javax.swing.JTextArea textarea;
634 private javax.swing.JTextField txtfield_cabang;
635 private javax.swing.JTextField txtfield_jumlah;
636 private javax.swing.JTextField txtfield_nama_bank;
637 private javax.swing.JTextField txtfield_nama_nasabah;
638 private javax.swing.JTextField txtfield_no_rek;
639 private javax.swing.JTextField txtfield_tanggal;
640 private javax.swing.JTextField txtfield_terbilang;
641 }

Create XBRL le


1 import java.io.FileReader;
2 import java.io.IOException;
3 import javax.swing.*;
4 import static main.xbrl.path;
5 /**
6 *
7 * @author Bio
8 */
9 public class result extends javax.swing.JFrame {

124
10 /**
11 * Creates new form result
12 */
13 public result() {
14 initComponents();
15 setExtendedState(JFrame.MAXIMIZED_BOTH);
16 //setVisible(true);
17 setResizable(true);
18 }
19
20 public void openResult() {
21 try {
22 // What to do with the file, e.g. display it in a TextArea
23 //jTextArea1.read( new FileReader( "D:\\test2.xbrl" ), null );
24 jTextArea1.read( new FileReader( path ), null );
25 } catch (IOException ex) {
26 System.out.println("problem accessing file D:\\test2.xbrl");
27 }
28 }
29
30 /**
31 * This method is called from within the constructor to initialize the form.
32 * WARNING: Do NOT modify this code. The content of this method is always
33 * regenerated by the Form Editor.
34 */
35 @SuppressWarnings("unchecked")
36 // <editor-fold defaultstate="collapsed" desc="Generated
Code">//GEN-BEGIN:initComponents
37 private void initComponents() {
38
39 jScrollPane1 = new javax.swing.JScrollPane();
40 jTextArea1 = new javax.swing.JTextArea();
41 jButton1 = new javax.swing.JButton();
42 jMenuBar1 = new javax.swing.JMenuBar();
43 jMenu1 = new javax.swing.JMenu();

125
44 jMenuItem1 = new javax.swing.JMenuItem();
45 jMenuItem2 = new javax.swing.JMenuItem();
46 jMenu2 = new javax.swing.JMenu();
47
48 setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
49 setTitle("Hasil XBRL");
50
51 jTextArea1.setEditable(false);
52 jTextArea1.setColumns(20);
53 jTextArea1.setRows(5);
54 jScrollPane1.setViewportView(jTextArea1);
55
56 jButton1.setText("Back");
57 jButton1.addActionListener(new java.awt.event.ActionListener() {
58 public void actionPerformed(java.awt.event.ActionEvent evt) {
59 jButton1ActionPerformed(evt);
60 }
61 });
62
63 jMenu1.setText("File");
64
65 jMenuItem1.setText("Open");
66 jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
67 public void actionPerformed(java.awt.event.ActionEvent evt) {
68 jMenuItem1ActionPerformed(evt);
69 }
70 });
71 jMenu1.add(jMenuItem1);
72
73 jMenuItem2.setText("Exit");
74 jMenu1.add(jMenuItem2);
75
76 jMenuBar1.add(jMenu1);
77
78 jMenu2.setText("Help");

126
79 jMenuBar1.add(jMenu2);
80
81 setJMenuBar(jMenuBar1);
82
83 javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
84 getContentPane().setLayout(layout);
85 layout.setHorizontalGroup(
86 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
87 .addGroup(layout.createSequentialGroup()
88 .addContainerGap()
89 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
90 .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 397,
Short.MAX_VALUE)
91 .addGroup(layout.createSequentialGroup()
92 .addComponent(jButton1)
93 .addGap(0, 0, Short.MAX_VALUE)))
94 .addContainerGap())
95 );
96 layout.setVerticalGroup(
97 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
98 .addGroup(layout.createSequentialGroup()
99 .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 276,
Short.MAX_VALUE)
100 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
101 .addComponent(jButton1)
102 .addContainerGap())
103 );
104
105 pack();
106 }// </editor-fold>//GEN-END:initComponents
107
108 private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_jMenuItem1ActionPerformed
109 // TODO add your handling code here:
110 }//GEN-LAST:event_jMenuItem1ActionPerformed

127
111
112 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_jButton1ActionPerformed
113 // TODO add your handling code here:
114 this.setVisible(false);
115 }//GEN-LAST:event_jButton1ActionPerformed
116
117 public static void main(String args[]) {
118 /* Set the Nimbus look and feel */
119 //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code
(optional) ">
120 /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look
and feel.
121 * For details see
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
122 */
123 try {
124 for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
125 if ("Nimbus".equals(info.getName())) {
126 javax.swing.UIManager.setLookAndFeel(info.getClassName());
127 break;
128 }
129 }
130 } catch (ClassNotFoundException ex) {
131 java.util.logging.Logger.getLogger(result.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
132 } catch (InstantiationException ex) {
133 java.util.logging.Logger.getLogger(result.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
134 } catch (IllegalAccessException ex) {
135 java.util.logging.Logger.getLogger(result.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
136 } catch (javax.swing.UnsupportedLookAndFeelException ex) {

128
137 java.util.logging.Logger.getLogger(result.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);
138 }
139 //</editor-fold>
140 /* Create and display the form */
141 java.awt.EventQueue.invokeLater(new Runnable() {
142 public void run() {
143 new result().setVisible(true);
144 }
145 });
146 }
147
148 // Variables declaration - do not modify//GEN-BEGIN:variables
149 private javax.swing.JButton jButton1;
150 private javax.swing.JMenu jMenu1;
151 private javax.swing.JMenu jMenu2;
152 private javax.swing.JMenuBar jMenuBar1;
153 private javax.swing.JMenuItem jMenuItem1;
154 private javax.swing.JMenuItem jMenuItem2;
155 private javax.swing.JScrollPane jScrollPane1;
156 private javax.swing.JTextArea jTextArea1;
157 // End of variables declaration//GEN-END:variables
158 }

129
Withdrawal Form BNI

Withdrawal Form Bukopin

130
Withdrawal Form Syariah DKI Bank

Withdrawal Form Syariah Mandiri Bank

131
Withdrawal Form Mandiri Bank

Withdrawal Form Mutiara Bank

132

You might also like