RANCANG BANGUN APLIKASI GENERAL LEDGER BERORIENTASI SERVICE PADA PLATFORM JAVA Izzuddin Gumilar Aprilian, Riyanarto Sarno, Dwi Sunaryono Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember Surabaya Email :
[email protected],
[email protected],
[email protected] Abstrak : Seluruh aktifitas transaksi keuangan maupun produksi di dalam perusahaan akan dicatat kedalam satu buku besar (general ledger) secara terpusat guna mendapatkan nilai saldo masing -masing rekening yang nantinya akan digunakan untuk membuat laporan keuangan p erusahaan. Namun seringkali proses pencatatan jurnal buku besar tersebut dilakukan secara manual sehingga membutuhkan usaha yang lebih dan rentan terjadi kesalahan pencatatan jurnal. Selain itu biasanya perangkat lunak buku besar yang ada di dalam sistem ERP saat ini bersifat statis sehingga apabila terjadi penambahan modul transaksi keuangan di dalam sistem perusahaan akan sulit melakukan perubahan terhadap sistem buku besar yang sudah ada. Setiap transaksi keuangan maupun proses produksi yang telah dilakukan secara otomatis akan dicatat ke dalam sebuah jurnal yang berisi ayat-ayat jurnal yang sesuai dengan tipe transaksi tersebut dengan menggunakan service yang telah disediakan domain buku besar. Setelah seluruh data jurnal terkumpul di dalam buku besar, maka pengguna aplikasi dapat membuat laporan keuangan neraca, laporan laba rugi, arus kas, dan neraca percobaan pada periode akuntansi tertentu. Dengan menggunakan metode pendekatan berbasis service, sistem buku besar yang dibangun dapat suskes diintegrasikan bersama domain fungsi lain di dalam sistem ERP dengan mudah dan fleksibel apabila terjadi perubahan. Dengan integrasi yang berjalan lancar tersebut, proses pembukuan dan pencatatan jurna l dapat dilakukan dengan otomatis dan mudah sehingga dapat memudahkan pengguna aplikasi. Kata kunci: buku besar, SOA, enterprise reosource planning
1.
Pendahuluan Sebuah perusahaan pasti akan memiliki beberapa departemen atau domain fungsi yang menjalankan proses bisnisnya masing-masing. Tiap departemen atau domain fungsi yang berjalan harus dapat saling terintegrasi dan berkolaborasi antara satu sama lain sehingga dapat menunjang tujuan bisnis perusahaan secara efektif walaupun memiliki proses bisnis yang berbeda-beda. Enterprise resource planning (ERP) merupakan salah satu solusi sistem informasi terintegrasi dan terpadu yang digunakan oleh sebuah perusahaan dalam menjalankan bisnisnya. ERP mencakup beberapa domain fungsi yang saling terintegrasi sehingga menjadi sebuah kesatuan sistem yang tepadu. Dalam sebuah aplikasi manajemen keuangan, bagian yang penting dibutuhkan oleh direksi perusahaan untuk mengambil keputusan adalah general ledger / buku besar. Karena pada bagian ini mereka bisa mengetahui seluruh informasi keuangan yang dibutuhkan dalam bentuk jurnal atau report sesuai dengan kebutuhan. Tantangannya adalah
bagaimana membangun aplikasi buku besar yang fleksibel dan responsif apabila diintegrasikan dengan domain fungsi yang lain di dalam sistem enterprise resource planning secara global. Service Oriented Architecture adalah sebuah framework yang mengintegrasikan proses bisnis dan mendukung infrastruktur IT yang aman, berkomponen terstandarisasi (services) yang dapat digunakan kembali dan disertakan dalam prioritas bisnis yang berubah. Service didefinisikan sesuai dengan kebutuhan spesifik bisnis yang dikelompokkan ke dalam proses -proses bisnis yang ada. Dengan membangun aplikasi berbasis SOA, maka aplikasi tersebut akan lebih mudah untuk diintegrasikan dan dimodifikasi apabila terjadi perubahan karena setiap service yang ada sudah memiliki standar yang dapat direuse dan digunakan antar domain fungsi yang berbeda. 2.
Kajian Pustaka Pada bab ini akan dibahas mengenai dasar teori yang menjadi dasar riset ini.
2.1. Buku Besar Buku besar adalah buku utama pencatatan transaksi keuangan yang mengkonsolidasikan masukan dari semua jurnal akuntansi. Buku besar merupakan dasar pembuatan laporan neraca dan laporan laba/rugi. Buku besar dapat memberikan informasi saldo ataupun nilai transaksi untuk setiap kode perkiraan dalam suatu periode akuntansi tertentu (Wikipedia, 2011). Secara umum buku besar memiliki beberapa tugas utama, diantaranya adalah sebagai berikut : a. Pengaturan akun perkiraan Akun perkiraan merupakan kode-kode atau simbol dari rekening-rekeing transaksi perusahaan yang mempermudah pencatatan data yang akan menjadi dasar penyusunan laporan-laporan keuangan. Akun perkiraan ini menjadi dasar pembuatan journal karena journal terdiri dari ayatayat journal yang berelasi dengan akun perkiraan yang terkait dengan transaksi yang dilakukan. b. Pengaturan periode akuntansi Periode akuntansi merupakan rentang waktu yang dipergunakan sebagai acuan dalam pembuatan laporan keuangan. Periode yang biasa digunakan adalah bulanan, triwulan, dan tahunan tergantung dengan kebijakan dari perusahaan tersebut. c. Pencatatan jurnal Jurnal merupakan catatan akuntansi permanen yang pertama (book of original entry) yang digunakan untuk mencatat transaksi keuangan perusahaan secara kronologis dengan menyebutkan akun yang didebet maupun yang dikredit. Di dalam sistem enterprise resource planning, entry jurnal dapat berasal dari departemen-departemen yang terkait dengan proses produksi baik secara langsung maupun tidak langsung. d. Tutup buku Tutup buku merupakan proses akhir dalam suatu periode akuntansi sebelum memasuki periode akuntansi berikutnya. Konsep dasar dari proses ini adalah memindahkan revenue dan expenses ke akun rekening retained earning (laba ditahan) sehingga diperoleh nilai equity (modal) di akhir periode. e. Membuat laporan keuangan Dari data jurnal yang telah terkumpul dan berisi debit dan kredit akun yang saling berelasi, kumpulan data jurnal tersebut dapat diproses atau
digabung berdasarkan tipe akunnya untuk menjadi sebuah rangkuman laporan keuangan. Laporan keuangan secara umum terdiri dari 4 jenis yaitu : 1). Neraca (balance sheet) 2). Laporan laba rugi (profit and loss statement) 3). Laporan arus kas (cash flow statement) 4). Neraca percobaan (trial balance) 2.2. Service Oriented Analysis and Design (SOAD) Service oriented analysis and design merupakan metode perancangan desain sistem aplikasi secara top-down yang merancang sistem dari level kebutuhan proses bisnis hingga level software komponen. Dalam metode ini, desain aplikasi dibagi menjadi tiga bagian yaitu conceptual view, logical view, dan physical view. 2.3 Orkestrasi Komposisi Web Service Komposisi service merupakan pengaturan, koordinasi, dan penyusunan secara otomatis dari sistem, middleware, atau service dari aplikasi yang kompleks. Orkestrasi merupakan proses bisnis yang dapat dieksekusi yang memungkinkan interaksi antara web service internal maupun eksternal. Orkestrasi mendeskripsikan bagaimana web service dapat berinteraksi pada level message, termasuk business logic dan eksekusi yang bergantung pada interaksi. Interaksi yang dilakukan mungkin berupa aplikasi maupun organisasi dan hasilnya dapat bertahan lama dalam proses transaksi yang terjadi. Dengan orkestrasi, proses selalu akan dikontrol dari sudut pandang salah satu bagian bisnis. 3.
Analisis dan Desain Modul buku besar merangkum seluruh aktivitas transaksi di dalam perusahaan dalam bentuk input jurnal yang nantinya menjadi dasar pembuatan laporan keuangan perusahaan seperti nercara, laporan laba rugi, dan arus kas. Input journal tidak hanya berasal dari modul buku besar saja, tetapi juga berasal dari domain-domain lain seperti cash/bank, account receivable, account payable, dan manufacturing. Sehingga dapat dikatakan bahwa buku besar merupakan induk dari sistem keuangan yang ada di dalam sebuah perusahaan. Dalam segi arsitektur, perangkat lunak yang akan dibangung memiliki 5 buah layer yang digambarkan pada diagram berikut ini.
Domain Model Layer
Presentation Layer
Service Layer
dan akan dihubungkan dengan sequence flow dengan node aktifitas lainnya sesuai dengan alur kerja yang dilaluinya.
Application Service Layer
Data Access Layer
Database Database
Gambar 1, de sain arsitektur perangkat lunak aplikasi buku besar
3.1. Conceptual View Conceptual view merupakan lapisan pada tingkat management yang berisi garis besar proses bisnis yang berjalan di dalam perusahaan. Proses bisnis di dalam aplikasi buku besar dipaparkan secara konsep dengan menggunakan beberapa diagram yaitu stakeholder diagram, functional domain wofkflow diagram, dan integration of functional domain diagram. Stakeholder diagram mendefinisikan actoraktor (stakeholder) yang berperan di dalam sistem buku besar baik bisnis maupun IT control. Di dalam sistem akuntansi buku besar, ada tujuh aktor yang terlibat baik secara langsung maupun tidak langsung. Aktor-aktor tersebut dapat dilihat pada diagram stakeholder berikut ini. analysis Stakeholder
Responsible Accounting Staff
Accountable Finance Manager
Consulted
Informed
Business Analyst
Customer
Application Development
Bank
Supplier
Gambar 2, stakeholder diagram domain fungsi buku besar
Functional domain workflow diagram mendefinisikan alur kerja secara garis besar yang dilakukan oleh sistem buku besar. Alur kerja ini digambarkan dengan diagram business process modeling notation (BPMN). Setiap proses yang dilakukan digambarkan dengan notasi node activity
Gambar 3, potongan diagram alur kerja domain fungsi buku besar dalam bentuk BPMN
3.2. Logical View Logical view merupakan lapisan menghubungkan analisa terhadap proses bisnis dari sistem buku besar secara konsep pada lapisan conceptual view dengan analisa sistem aplikasi pada level bawah yang sudah mencakup level komponen class dari sistem. Untuk menghubungkan dua buah lapisan tersebut, logical view memiliki beberapa komponen di dalamnya yaitu diagram SOAD yang mencakup mapping antara business layer, service layer, dan component layer, matrix yang menggambarkan hubungan antara business service dengan software komponen, dan business service workflow diagram yang menggambarkan alur kerja dari masing-masing business service secara lebih detail. Business service workflow diagram menggambarkan aktifitas alur kerja tiap business service yang digambarkan di dalam diagram BPMN yang tentunya lebih detail jika dibandingkan dengan alur kerja domain fungsi pada conceptual view karena alur kerja business service ini sudah berada pada tingkat service walaupun masih belum menyentuh lapisan software component.
act 7.2 Period Management 7.2.1 ManagingAccountingPeriod Manual?
Start Get Accounting Period Data
[Y]
Manage Accounting Period End
[N]
Generate Accounting Period
7.2.1.1 Provide Accounting Period
«datastore» GL_Accountingperiod
Gambar 4, alur kerja business service accounting period management
Menurut IBM, diagram service oriented analysis and design (SOAD) dibangun berdasarkan 3 lapisan yaitu business layer, service layer, dan component layer. Business layer berisi paparaan mengenai proses bisnis apa saja yang terlibat di dalam sistem yang dibangun, dalam hal ini buku besar. Service layer mendefinisikan service-service apa saja yang dapat dihasilkan dari masing-masing proses bisnis yang ada. Service-service ini nantinya akan direalisasikan ke dalam satu atau lebih software component yang akan didefinisikan di dalam component layer.
3.3. Physical View Physical view merupakan lapisan paling bawah di dalam metode service oriented analysis and design. Physical view berisi rancangan desain pada tingkat programmer yang akan menggambarkan desain arsitektur perangkat lunak sistem buku besar yang telah dijelaskan pada bab 3.3 di atas. Sesuai dengan pembagian layer di dalam desain arsitektur perangkat lunak sistem yang dibangun, physical view terdiri dari lima buah komponen yang mendefinisikan masing-masing layer yang ada di dalam arsitektu perangkat lunak yaitu web service layer, presentation layer, application layer, data model layer, dan data access layer. Web service layer berisi analisa dan desain aplikasi yang digambarkan ke dalam web service design beserta sequence diagramnya. Dari hasil analisa, domain fungsi buku besar memiliki beberapa web service yang dikeluarkan yaitu : a. Web service PostJournalService b. Web service ProvideFinancialReport c. Web service ProvideMasterData d. Web service ProvideCalculationValue e. Web service ProvideProductionCostReport Presentataion layer berisi desain antar muka sistem yang menggambarkan bentuk halaman maupun form yang nantinya direalisasikan ke dalam tampilan web sebenarnya. ui Journal Management Post Journal Department :
List Department
Journal Code :
Code
Journal Name :
Name
Account Type :
account type
COA :
List COA
Column Type :
Type
Add COA
Submit
Cancel
Gambar 6, desain antar muka post journal
Application service layer berisi analisa dan desain control dari sistem aplikasi buku besar yang dibangun. Meliputi method-method dari class-class yang digunakan hingga business sequence diagram yang ada. Gambar 5, diagram SO AD domain fungsi buku besar
class applicationserv ice
class Data Transfer Obj ect Serializable
GlIncomeStatementDTO
GlJournalASL -
closingDao: GlWIPCostClosingDao coaASL: GlCoaASL coaDao: GlCoaDao currSetting: GlSetting helper: GlJournalDao helperJournalDetail: GlJournalDetailDao journalSourceASL: GlJournalSourceASL journalTypeASL: GlJournalTypeASL periodASL: GlAccountingPeriodASL rateLib: ExRateLib settingDao: GlSettingDao transferDao: GlWIPTransferDao trxTypeDao: GlTransactionTypeDao wipCostDao: GlWIPCostDao
+ + + + + + + + + + + + + + + + + + +
generateJournalFromTransaction(Date, BigDecimal, String, String, String, String) : boolean generateJurnalCode(String, Date) : String getDetailJournal(int) : List
getJournalFromCode(String) : GlJournal getJournalFromID(int) : GlJournal getJournalList() : List getJournalsBySource(String, int) : List getJournalsFromPeriod(GlAccountingperiod) : List getSubsidiaryLedger(int, int) : List postDefectGoodsJournal(String, String, Date, int, String) : boolean postDirectLabourRequestJournal(Date, BigDecimal, String, String, String, String) : boolean postJournal(GlJournal) : boolean postMaterialRequestJournal(Date, BigDecimal, String, String, String, String) : boolean postOverheadEstimationCostJournal(Date, BigDecimal, String, String, String, String) : boolean postProductionOrderJournal(Date, String, String, int) : boolean postTransferFinishedGoodJournal(String, String, String, Date, int, String, String) : boolean postTransferGoodsJournal(String, String, String, String, Date, int, BigDecimal) : boolean postWIPCostJournal(Date, BigDecimal, String, String, String, String, String) : boolean undoUnpostJournal(GlJournal) : boolean unpostJournal(GlJournal) : boolean
Gambar 7, aplication service layer GlJournalASL
Data model layer berisi komponen dan class penyusun dari sistem buku besar yang dibangun. Ada empat buah komponen di dalam data model layer yaitu component diagram, class diagram, data transfer object, dan component diagram dictionary.
-
accountId: int accountName: String accountNumber: String accTypeId: int actualValue: BigDecimal budgetValue: BigDecimal groupName: String groupType: String overBudget: BigDecimal percentageOfBudget: BigDecimal
Gambar 9, data transfer object GlIncomaStateme ntDTO
3.4 Orkestrasi Orkestrasi yang diterapkan di dalam sistem buku besar ini diaplikasikan pada proses bisnis generate financial report. Sudah diterangkan pada bab 2 bahwa sistem buku besar bertanggung jawab untuk menghasilkan empat buah laporan keuangan wajib yaitu balance sheet, profit and loss statement, cash flow statement, dan trial balance. Cash flow statement merupakan report yang dihasilkan dengan acuan hasil report balance sheet dan profit and loss statement. BPMN Orchestration
Start
Service digunakan untuk menghasilkan data laporan neraca dalam periode akuntansi tertentu. Input : AccountingPeriod:int Output : List
cmp Component Diagram
Service ini digunakan untuk memberikan nilai income statement dalam periode akuntansi tertentu Input : AccountingPeriod : int Output : BigDecimal
Account::GlCoa + + + + + + + + + + + +
coacalc: String coadescription: String coaentity: String coaid: int coaname: String coanormalbalance: Character coanumber: String coaopeningbalance: BigDecimal coaparent: String coaworkcenter: String glAccounttype: GlAccounttype glCoagroup: GlCoagroup
«Business Serv ice» 7.5.2 Prov iding Profit and Loss
«Business Serv i... 7.5.3 Prov iding Balance Sheet
«Business Serv ice» 7.5.4 Prov iding Cash Flow
Gambar 8, class GlCoa
Data transfer object merupakan class -class yang digunakan dalam proses pertukaran data yang digunakan pada saat pemanggilan sebuah method atau service.
End
Service ini digunakan untuk menghasilkan laporan arus kas Input : List, BigDecimal, Period:int Output : List
Gambar 10, desain orkestrasi pembuatan laporan arus kas
4.
Uji Coba dan Evaluasi Proses pengujian dilakukan berdasarkan alur proses proses bisnis yang berjalan di dalam sistem buku besar itu sendiri dan integrasi sistem buku besar
dengan fungsional domain lain di dalam satu kesatuan sistem enterprise resource planning. 4.1. Uji Coba Fungsionalitas Aplikasi Berikut ini adalah scenario uji coba fungsionalitas fungsi pembuatan laporan neraca pada buku besar. Aplikasi : Aplikasi General Ledger Aktor : Accounting Staff
No
Tabe l 1, de tail uji coba fungsionalitas generate balance sheet report No Kegiatan Reaksi Aplikasi Status 1 Membuka halaman Halaman generate OK generate balance balance sheet report sheet report ditampilkan
Kegiatan
Reaksi Aplikasi
Status
Gambar 13, screenshot skenario uji coba fungsionalitas posting journal - laporan neraca terbentuk
4.2. Uji Coba Web Service Uji coba ini digunakan untuk menguji web service yang ada di dalam domain fungsi buku besar dengan menggunakan metode white box.
Gambar 11, screenshot skenario uji coba fungsionalitas posting journal - halaman generate balance sheet report ditampilkan 2
Memilih periode akuntansi
Laporan neraca ditampilkan.
OK
Tabel 2, detail uji coba web service ProvideFinancialRe port Web Method Parameter Exp Result ProvideBalance period = 124; Not List ProvideProfit period = 124; Not List ProvideCash balanceSheetData Not List netIncome = 1500000; entity = "SBY"; ProvideTrial period = 124; Not List
Gambar 14, screenshot unit testing Web Service ProvideFinancialReport
Gambar 12, screenshot skenario uji coba fungsionalitas posting journal - data periode akuntansi muncul
5.
Kesimpulan Dalam proses pengerjaan tugas akhir dari tahap analisis, desain, implementasi, hingga uji coba didapatkan kesimpulan sebagai berikut : 1. Aplikasi buku besar dapat dibangun dengan menggunakan orientasi service dengan metode pembangunan perangkat lunak
Status pass pass pass
pass
2.
3.
6.
service oriented analysis and design pada platform java. Integrasi aplikasi buku besar berhasil dilakukan dengan domain fungsi account payable, account receivable, fixed assets, cash and bank management, dan manufacturing terutama dalam proses bis nis posting jurnal akuntansi. Aplikasi buku besar dapat mencakup dua buah dimensi yaitu dimensi unit akun finansial dan unit departmental produksi dari perusahaan.
Daftar Pustaka [1] Software as a Service Introduction. (n.d.). Retrieved April 4, 2011, from Microsoft: http://www.microsoft.com/serviceproviders/s aas/default.mspx [2] Hall, J. A. (2007). Sistem Informasi Akuntansi. Jakarta: Salemba Empat. [3] Carter, W. K. (2009). Akuntansi Biaya. Jakarta: Salemba Empat. [4] Barry, D. K. (n.d.). Service-oriented architecture (SOA) definition. Retrieved April 10, 2011, from Web Services and Service-Oriented Architectures: http://www.service-architecture.com/webservices/articles/serviceoriented_architecture_soa_definition.html