1
Implementasi Pengambilan Data Dari Dua Datasource Studi Kasus Aplikasi Rekening Koran Platform SSRS Pada Bank XYZ
Artikel Ilmiah
Diajukan kepada Fakultas Teknologi Informasi
untuk memperoleh Gelar Sarjana Komputer
Peneliti:
Nur Cahyoko (672015053) Sri Yulianto Joko Prasetyo, M.Kom
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana
Salatiga Desember 2019
2
3
4
20 Februari 2020
5
6
7 1. Pendahuluan
Pada setiap perusahaan yang memanfaatan teknologi sebagai kendaraan untuk segela pekerjaanya haruslah baik dalam penggunaannya. Semakin baik perusahaan memanajemen teknologi yang digunakan maka biaya yang diinvestasikan pada bidang tersebut akan lebih bermanfaat dan lebih efektif. Salah satu teknologi yang tidak lepas dalam sebuah perusahaan adalah server basis data yang menjadi instrumen penting yang digunakan untuk menyimpan data. Setiap aplikasi memproses data yang ada didalam basis data untuk dijadikan informasi yang bermanfaat. Basis data yang baik adalah basis data yang mampu mendukung segala permintaan aplikasi agar informasi dapat di sampaikan secara maksimal.
Akan tetapi sering ditemukan penggunaan sebuah database yang terpasang di server harus menyuplai data untuk mendukung berbagai aplikasi yang digunakan oleh developer dan juga sebagai alat produksi. Hal ini cenderung akan membebani kerja server database, selain itu jika server database mengalami maintenence maka seluruh aplikasi yang menggunakan database tersebut juga akan mengalami gangguan.
Bank XYZ merupakan salah satu bank terbesar yang ada di Indonesia saat ini.
Sebagai sebuah bank yang mempunyai banyak nasabah tentunya juga akan mempunyai banyak data transaksi yang harus disimpan jika sewaktu-waktu nasabah ingin melihat rekap transaksi yang telah dilakukan. Maka dari itu Bank XYZ menggunakan Oracle Oracle untuk menyimpan seluruh data transaksi.
Oracle Database merupakan salah satu database yang sudah tidak diragukan lagi kemampuannya dalam menyimpan data dan memanajemen data yang ada didalamnya.
Aplikasi Rekening Koran merupakan salah satu produk yang dimiliki oleh Bank XYZ untuk memenuhi kebutuhan nasabahnya dalam menyediakan rekap transaksi. Aplikasi Rekening Koran Bank XYZ dibangun menggunakan platform SSRS (SQL Server Reporting Service) yang setiap datanya diambil dari Oracle database yang artinya data diambil dari server yang berbeda. Setelah bertahun- tahun mempraktekan pengambilan data secara cross platform, dirasakan bahwa Oracle Database mulai menunjukan penurunan performa dalam menampilkan data karena Oracle database menjadi satu-satunya database yang harus menyediakan data untuk berbagai aplikasi yang berbeda. Maka dari itu untuk meringankan beban kerjanya, Aplikasi Rekening Koran harus mempunyai database sendiri untuk memenuhi segala kebutuhan datanya. Hal ini juga didukung bahwa sebenarnya aplikasi tersebut sudah mempunyai database sendiri yaitu SQL Server.
Dengan hal tersebut maka data transaksi terbaru akan disimpan di SQL Server dan data transaksi yang lama akan tetap berada di database Oracle sehingga dibutuhkan suatu cara bagaimana mengakses kedua database tersebut menjadi sebuah tampilan berbentuk laporan didalam Aplikasi Rekening Koran yang dibangun di SSRS.
Penelitian ini bertujuan untuk mengimplementasikan hal tersebut. Yaitu bagaimana cara mengakses data dari dua database yang berbeda dan ditampilkan didalam aplikasi Rekening Koran yang dibangun di platform SSRS secara bersamaan.
8 2. Tinjauan Pustaka
Penelitian lain yang membahas tentang pertukaran data dengan menggunakan database yang memanfaatkan Teknologi API Dropbox terbukti dapat mempermudah pembangunan sistem tanpa harus mengeluarkan biaya. Akan tetapi dalam penelitiannya belum diungkapkan bagaimana Teknologi API dapat mengakses data yang berada di dalam database MySQL, sehingga perlu dilakukan penelitian pada tahap implementasi untuk mengetahui metode dan teknologi apa saja yang digunakan.[7]
Pada penelitian selanjutnya yang disusun oleh Jashinta Anggriana Putri dengan judul Analisis Dan Implementasi Reporting Service Pada Aplikasi Absensi PNS Menggunakan SSRS dibahas tentang implementasi SSRS sampai dengan tahap deployment sehingga hasil dari penelitian dapat dibuat sebagai acuan. Akan tetapi pada penelitian tersebut masih kurang membahas pada lingkungan databasenya sehingga proses pengambilan data pada database belum bisa dipakai acuan untuk penelitian berikutnya[3].
Penelitian lain membahas tentang Reporting Services yang merupakan suatu sistem pembuatan laporan yang berdiri sendiri. Laporan yang dihasilkan dapat langsung digunakan baik melalui aplikasi maupun diakses langsung oleh pengguna akhir (end user). Dengan fitur yang cukup lengkap, laporan yang dihasilkan dapat dibuat dalam berbagai format (HTML, PDF, Word, Excel dan sebagainya) sehingga user dapat menggunakannya sesuai dengan kebutuhan. Data yang digunakan dalam pembuatan laporan menggunakan SSRS ini dapat berasal baik dari OLTP (Online Transaction Processing) maupun OLAP (Online Analytical Processing) sehingga memudahkan untuk memenuhi kebutuhan user baik untuk laporan yang sifatnya rutin maupun laporan untuk analisis dan histori.
Perbedaan penelitian sebelumnya dengan penelitian ini adalah pada penelitian ini Aplikasi SSRS mengambil data dari dua datasource yang kemudian ditampilkan pada satu halaman interface secara bersamaan. Selain itu pembahasan pada penelitian merangkup sampai dengan database.
Oracle adalah database relasional yang terdiri dari kumpulan data dalam suatu sistem manajemen basis data RDBMS (Relational Data Base Management System) yang multi-platform. Server Oracle berisi Oracle Instance dan Oracle Database, dimana Oracle Instance berisi struktur memori yang disebut dengan system- globalarea (SGA) dan background-process yang dipergunakan oleh server Oracle untuk mengatur database. [1]
Microsoft SQL Server adalah sistem manajemen basis data yang digunakan untuk menyimpan berbagai jenis data, dan telah didukung teknologi cloud.
Microsoft SQL Server menyediakan seperangkat alat untuk mengekstrak data dari
9
berbagai perangkat atau sumber, bahkan di pusat data. adalah sistem manajemen basis data yang digunakan untuk menyimpan berbagai jenis data, dan telah didukung teknologi cloud. Microsoft SQL Server menyediakan seperangkat alat untuk mengekstrak data dari berbagai perangkat atau sumber, bahkan di pusat data. Dengan menggunakan bahasa query Microsoft SQL Server yang disebut T- SQL (Transact-SQL), pengguna dapat memanipulasi query data yang memungkinkan untuk dimodikasi serta diakses data sesuai permintaan. [2]
SQL Server Reporting Service (SSRS) merupakan tools pelapooran (reporting) yang dikembangkan oleh Microsoft. SSRS kompatibel dengan berbagai sumber data diantaranya SQL Server, SQL Azure, SSAS model multidimensional dan model tabular, Parallel Datawarehouse, OLE DB, ODBC, serta SharePoint List. Laporan dapat dibuat menggunakan Visual Studio atau SQL Data Tools Business Intelligence (SSDT-BI) yang menyediakan antarmuka secara drag and drop, yang nantinya menghasilkan sebuah berkas Report Definition Language (RDL) berdasarkan XML. SSRS menyediakan Report Designer, Report Builder, Power View, Report Server serta Report Manager yang mana digunakan untuk mengunggah berkas RDL yang oleh pengguna dapat digunakan sebagai bahan analisis kebutuhan bisnis. Pelaporan dapat dilakukan dengan pendjawalan serta dapat diditribusikan melalui portal, email, dan dapat juga diubah kedalam bentuk HTML, PDF, Excel, berbagai macam tipe gambar (TIFF, BMP, GIF, JPEG, PNG), serta format Microsoft Word. [5]
Rekening Koran (dari bahasa Belanda rekening-courant / current account) adalah ringkasan transaksi keuangan yang telah terjadi pada periode tertentu pada rekening bank yang dimiliki oleh individu atau perusahaan di lembaga keuangan.
Rekening koran umumnya dicetak secara berkala dan dikirim langsung ke pemegang rekening, atau hanya dicetak atas permintaan pemegang rekening. [4]
3. Metode dan Perancangan
Penelitian ini bersifat kualitatif dengan menggunakan metode studi kasus dengan alur pikir sebagaimana ditunjukkan pada gambar 1.[6] Pada tahap awal penelitian, informasi yang digali adalah mendefinisikan tujuan dari pengambilan data dari dua Data Source Aplikasi Rekening Koran Bank XYZ berdasarkan latar belakangnya. Dari tujuan tersebut kemudian dicarikan solusi kemudian menyiapkan teknologi dan dummy data. Setelah itu dilakukan percobaan menggunakan dummy data dan penyesuain teknologi yang digunakan. Jika pada saat melakukan percobaan ditemukan kendala maka perlu dilakukan evaluasi dan perbaikan terhadap solusi dan teknologi yang digunakan. Tahap selanjutnya jika berhasil melakukan percobaan maka perlu diadakan pengujian untuk mengetahui tingkat keberhasilan dari percobaan tersebut. Jika tahapan tersebut mencapai keberhasilan maka bisa dilakukan implementasi pada sistem yang sesungguhnya.
10
Gambar 1. Alur Pikir Penelitian
A. Objek Penelitian
Adapun objek dari penelitian ini adalah Aplikasi Rekening Koran Bank XYZ untuk pelaporan transaksi nasabah yang menggunakan platform SSRS.
B. Lokasi Penelitian
Adapun lokasi penelitian ini dilaksanakan pada Bank XYZ departemen Data Warehouse yang mengurusi pada Aplikasi Rekening Koran.
C. Arsitektur sistem dan teknologi
Gambar 2, Arsitektur sistem terdiri dari dua lingkup server yaitu Oracle Database yang berfungsi menyimpan data lama sampai dengan 31 Desember 2018 dan SQL Server yang berfungsi untuk menyimpan data baru yang dimulai dari 1 Januari 2019. Kedua server dapat terhubung dengan cara menggunakan conector yang sudah terinstal di masing-masing server yaitu Conector Oracle Client yang harus diinstal terlebih dahulu pada Oracle Database, dan pada SQL Server tidak perlu diinstal karena menggunaka OLEDB yang sudah terinstal.
Setiap database memiliki tabel yang berisi dummy data yang dibuat berdasarkan atribut, dan row yang sama dengan yang ada pada Bank XYZ yang kemudian diimport kedalam Oracle Database dan SQL Server sebagai data transaksi.
Aplikasi Rekening Koran SSRS mengambil data transaksi dengan menggunakan Store Procedure yang dibuat dimasing-masing server berdasarkan parameter nomor rekening dan tanggal transaksi.[9]
11
Gambar 2. Arsitektur Sistem
D. Entity Relationship Diagram dan Pembuatan Data
Gambar 3, merupakan Entity Relationship Diagram ERD untuk menjelaskan hubungan antar tabel yang digunakan pada Database Oracle dan SQL Server Database. Tabel berjumlah 5 dan mempunyai relasi:
1. Entity customer (terdiri dari atribut no_customer, no_ktp, dan nama_customer) berelasi dengan entity info_rekening (terdiri dari no_rekening dan no_customer) dengan kardinalitas satu ke banyak.
2. Entity info_rekening (terdiri dari no_rekening dan no_customer) berelasi dengan entity transaksi (terdiri no_transaksi, no_customer, no_rekening, no_cabang, id_transaksi, tgl_transaksi, debit, kredit) dengan kardinalitas satu ke banyak.
3. Entity cabang (terdiri dari no_cabang, alamat_cabang, kode_pos_cabang) berelasi dengan entity transaksi (terdiri no_transaksi, no_customer, no_rekening, no_cabang, id_transaksi, tgl_transaksi, debit, kredit) dengan kardinalitas satu ke banyak.
4. Entity info_transaksi (terdiri dari id_transaksi, jenis_transaksi, ket_transaksi) berelasi dengan entity transaksi (terdiri no_transaksi, no_customer, no_rekening, no_cabang, id_transaksi, tgl_transaksi, debit, kredit) dengan kardinalitas satu ke satu.
5. Entity transaksi (terdiri dari no_transaksi, no_customer, no_rekening, no_cabang, id_transaksi, tgl_transaksi, debit, kredit) berelasi dan mempunyai kardinalitas dengan seluruh tabel sebelumnya.
Gambar 3. Entity Relationship Diagram
12
Dummy Data dibuat berdasarkan data asli yang ada pada Bank XYZ dan dibuat untuk mendukung penelitian ini digunakan sebagai data untuk mengisi setiap tabel untuk percobaan apakah Aplikasi Rekening Koran dapat menampilkan data.[10]
Sebagai contoh pada tabel info_akun dibuat sebanyak 100 row dengan atribut yaitu no_customer mempunyai tipe data auto-increment 1 yang dimulai pada nomor 10000001, no_ktp mempunyai tipe data auto_increment 1 yang dimulai pada nomor 10000000001, nama mempunyao tipe data Names dengan option name surename (nama lengkap) dan digenerate (dibuat) secara otomatis sebanyak 100 row nama yang berbeda-beda, no_cabang mempunyai tipe data number range yang berarti data akan dibuat acak dengan rentang antara 1000 s/d 9999 dan jumlahnya adalah berdasarkan jumlah data cabang yang dibuat. Kemudian untuk mengunduh hasilnya disimpan kedalam format CSV.
Gambar 4. Pembuatan dummy data
Gambar 5. Merupakan gambaran secara garis besar hubungan antara nasabah yang bertindak sebagai user dengan Aplikasi Rekening Koran. Untuk memperoleh Rekening Koran diaharuskan menginputkan nomor rekening beserta tanggal rentang waktu yang akan ditampilkan.
Gambar 5. Hubungan antara User dengan Aplikasi
13 4. Hasil dan Pembahasan
Gambar 6, import data ke Oracle Database dengan menggunakan file CSV hasil dari pembuatan dummy data yang di-import. Proses import data dengan memilih kolom dan menentukan tipe datanya. Kolom no_customer diberi tipe data numeric dengan size 8, kolom no_ktp diberi tipe data numeric dengan ukuran 11, kolom nama diberi tipe data varchar2 dengan ukuran 50, dan kolom no_cabang diberi tipe data numeric dengan ukuran 4. Kemudian dijadikan tabel dengan nama info_customer dan disimpan didalam Oracle Database.
Gambar 6. Import data dan menentukan tipe data ke Oracle Database
Gambar 7, import data Flat File ke database SQL Server merupakan data yang berasal dari hasil export Oracle Database karena pebedaan data dari kedua database terletak pada waktu transaksinya. Pada saat import ke dalam tabel transaksi setiap kolom dipisahkan dengan columndelimiter (pemisah antar kolom) {t} Tab, dipilih kolom no_customer diberikan tipe data numeric dengan ukuran 8, no_rekening diberikan tipe data numeric dengan ukuran 8, no_transaksi merupakan nomor urutan untuk setiap transaksi dan diberikan tipe data numeric dengan panjang 8, date diberikan tipe data date dengan format dd-mm-yyyy, debit dan kredit diberikan tipe data numeric dengan ukuran 13, keterangan merupakan catatan mengenai transaksi diberikan tipe data string dengan ukuran 50, dan id_transaksi diberikan tipe data numeric dengan ukuran 3 yang digunakan untuk mengkategorikan jenis transaksi seperti transaksi yang melewati teller, mobile dan merchant.
14
Gambar 7. Import data dan menentukan tipe data ke SQL Server Database
Query SQL 1 dan Query SQL 2, adalah baris SQL Store Procedure untuk pengambilan data didalam Oracle Database dan SQL Server. Penggunaan Store Procedure dalam penelitian ini bertujuan untuk pengambilan data yang berulang- ulang. Parameter yang digunakan adalah p_no_rekening digunakan untuk mengidentifikasi nomor rekening milik nasabah yang berasal dari tabel transaki, p_date_1 dan p_date_2 digunakan untuk menentukan rentang waktu transaksi milik nasabah juga berasal dari tabel transaksi. Kemudian untuk data yang akan ditampilkan adalah kolom nama yang berasal dari table customer, dan kemudian kolom no_rekening, date, debit, kredit, keterangan yang berasal dari tabel transaksi. Untuk kolom nama nasabah digunakan kolom no_customer.
Query SQL 1. Store procedure pada Oracle Database
create or replace PROCEDURE REKENINGKORAN (p_no_rekening NUMERIC, p_date_1 date, p_date_2 date, PRC out SYS_REFCURSOR)
AS BEGIN
OPEN PRC FOR SELECT
b.nama, a.no_rekening, a.date, a.debit, a.kredit, a.keterangan FROM transaksi a, customer b
WHERE a.date BETWEEN (p_date_1 and p_date_2) and a.no_rekening = p_no_rekening
and a.no_customer = b.no_customor ORDER BY a.DATE_J;
END REKENINGKORAN;
15 Query SQL 2. Store procedure pada SQL Server Database
Gambar 8, Pembuatan antar muka Aplikasi Rekening Koran dibuat menggunakan Bussines Intelegent SSRS hanya menggunakan texbox untuk memuat parameter no_rekening dan date. Kemudian untuk memuat data transaksi, menggunakan dua buah tabel. Tabel 1 untuk memuat data yang berasal Oracle database beserta untuk menuliskan headaer, Tabel 2 untuk memuat data yang berasal dari SQL Server.
Gambar 8. Pembuatan antar muka Aplikasi Rekening Koran
Gambar 9, untuk menghubungkan SSRS dan Oracle, diperlukan Oracle Client yang harus sudah terinstal. Peran Oracle client ialah untuk melayani requset dari client dalam hal ini yang bertindak sebagai client adalah SSRS. Kemudian menentukan target server Oracle yaitu //localhost:1521/xe dan mengisi username beserta password server.
Gambar 9. Koneksi ke Oracle Database
CREATE PROCEDURE rekeningkoran @P_NO_REKENING numeric, @P_TANGGAL_1 date,
@P_TANGGAL_2 date AS
SELECT TANGGAL_TRANSAKSI, NO_REKENING, CONVERT(INT,DEBIT) AS DEBIT, CONVERT(INT,KREDIT) AS KREDIT, KETERANGAN
from [INFO _TRANSAKSI]
where NO_REKENING = @P_NO_REKENING AND
(TANGGAL_TRANSAKSI between @P_TANGGAL_1 AND @P_TANGGAL_2) RETURN 0
16
Gambar 10, menguji aplikasi dari sisi development untuk pengambilan data, sehingga jika ada error ataupun ada data yang ditampilkan tidak sesuai maka dapat diperbaiki secara langsung. Menjalankan aplikasi Rekening Koran dengan memasukkan nomor rekening nasabah beserta tanggal rentang waktu transaksi.
Hasilnya aplikasi dapat menampilkan data dari kedua database.
Gambar 10. Pengujian aplikasi Rekening Koran
Gambar 11, adalah tampilan web load Aplikasi Rekening Koran pada Web Portal SSRS yang di gunakan oleh user. User memasukan nomor rekening dan tanggal rentang waktu transaksi. Melalui interface tersebut menunjukkan bahwa web test load berhasil dilakukan.
17
Gambar 11. Tes Web Load Aplikasi Rekening Koran
Gambar 12. Test Performance Aplikasi Rekening Koran dibutuhkan untuk mengetahui aplikasi dapat diakses dengan cepat. Karena Aplikasi Rekening koran diakses oleh banyak user (karyawan dan nasabah). Test dialakukan menggunakan skenario bahwa setiap cabang Bank XYZ mengakses sebanyak 10 kali dalam sehari dan tidak semua cabang dalam sehari melakukan pengaksesan Aplikasi.
Maka dari itu test dilakukan dengan running Aplikasi sebanyak 10x akses dikali dengan mengambil total 10 cabang. Dan didapatkan rata rata request time adalah 0.833 detik dengan total time 0.933 untuk sekali akses pada 1 cabang.
Gambar 12. Test Performance Aplikasi Rekening Koran
5. Kesimpulan
Berdasarkan hasil test web load, Aplikasi rekening Koran dapat menampilkan data dari Oracle database dan SQL Server secara bersamaan. Selain itu berdasarkan test performance juga diperoleh bahwa web dapat dimuat dengan rata-rata request time sebesar 0.8 detik.
18 6. Pustaka
[1] H. Purwoko, “Pemanfaatan Basis Data Oracle Pada Sistem Informasi Work Order Pada Pt Xyz Di Jakarta Timur,” Comput. Eng. Sci. Syst. J., vol. 3, no. 2, p. 117, 2018.
[2] P. Leblanc, Microsoft SQL Server 2012 Step by Step. California: O’Reilly Media, Inc, 2013.
[3] J. A. Putri and N. F. Soeliman, “Analisis Dan Implementasi Reporting Service Pada Aplikasi Absensi Pns Menggunakan Ssrs,” InfoTekJar (Jurnal Nas. Inform. dan Teknol. Jaringan), vol. 2, no. 1, pp. 27–32, 2017.
[4] H. A. Idris, M. Si, B. Endang, and M. Si, “Efektivitas Pelayanan Pegawai Bank Rakyat Indonesia ( Bri ) Cabang Kecamatan,” vol. 3, no. 4, pp.
1130–1144, 2015.
[5] D. Cherry, Reporting Services. Wiley Publishing, Inc., 2013.
[6] V. Leonardo, B Yuwono “Tata Kelola Teknologi Informasi Dalam Rangka Integrasi Sistem Dan Teknologi Informasi Lintas Anak Perusahaan,” Tata Kelola Teknologi Informasi Journal of Information Systems, Volume 5, Issues 1, April 2009
[7] HANAFI, Ahmad; SUKARSA, I Made; AGUNG CAHYAWAN WIRANATHA, A.A. Ketut. Pertukaran Data Antar Database Dengan Menggunakan Teknologi API. Lontar Komputer : Jurnal Ilmiah Teknologi Informasi, [S.l.], p. 22-30, mar. 2017. ISSN 2541-5832.
[8] S. Mujasih, “Aplikasi Business Intelligence Untuk Analisa Dan Prakiraan Cuaca Maritim,” Jurnal Meteorologi Dan Geofisika Vol. 14 No. 2 Tahun 2013 : 87-98
[9] T. Hastono, “Optimasi Query Sistem Informasi Menggunakan Stored Procedure,” Jurnal Dinamika Informatika Volume 8, No 2, September 2019 ISSN 1978-1660 : 79-89 ISSN online 2549-8517
[10] I. Ben-Gan, Microsoft® SQL Server ® 2012 T-SQL Fundamentals. 2012.