• Tidak ada hasil yang ditemukan

Draft Judul : OPTIMALISASI TIME DAN BUFFER GETS DENGAN SQL TUNING PADA SISTEM INFORMASI PENGGAJIAN PT.XYZ

N/A
N/A
Protected

Academic year: 2021

Membagikan "Draft Judul : OPTIMALISASI TIME DAN BUFFER GETS DENGAN SQL TUNING PADA SISTEM INFORMASI PENGGAJIAN PT.XYZ"

Copied!
8
0
0

Teks penuh

(1)

Draft Judul : OPTIMALISASI TIME DAN

BUFFER GETS DENGAN SQL TUNING PADA

SISTEM INFORMASI PENGGAJIAN PT.XYZ

Edbert Giovanni Suryadi

Keithsen Chusny

Suparto Darudiato

PENDAHULUAN

Di era modernisasi ini, semakin banyak saja industri yang dibangun dan berkembang secara pesat dalam negara. Hal ini tentu saja tak luput dari adanya pengaruh dari Teknologi Informasi yang seiring berjalannya waktu berkembang semakin cepat. Untuk itu industri-industri yang sudah ada jika tetap ingin berada di jalur utama kompetisi dalam mendominasi pasaran dituntut untuk berkembang secara pesat dengan memanfaatkan kemajuan Teknologi Informasi agar tetap memiliki kharisma sebagai industri yang kompeten di pasar.

Salah satu teknologi informasi yang dibutuhkan sebuah perusahaan dalam menyimpan dan mengatur data yang ada di dalam perusahaan adalah database. menurut (Sukheja & Singh, 2011), kebutuhan akan sebuah database telah meningkat secara drastis pada zaman kini, dimana terjadi sebuah desentralisasi di dalam infrastruktur IT suatu perusahaan akibat proses merger , akuisisi, dan aplikasi khusus corporate sehingga dibutuhkan database.

PT.XYZ memiliki Sistem Informasi Penggajian yang digunakan untuk mengelola proses penggajian karyawan-karyawannya. Seiring dengan bertambahnya jumlah data yang dimiliki, maka proses pengaksesan menjadi semakin lambat sehingga PT.XYZ membutuhkan improvisasi pada kinerja sistem dalam mengakses data.

Melalui proses SQL tuning, maka diharapkan agar kinerja Sistem Informasi Penggajian pada PT.XYZ menjadi lebih efektif dan efisien. SQL tuning merupakan salah satu metoda tuning terhadap

query dan menulis ulang sebuah query sehingga dapat diproses lebih cepat. Tujuan utama dari SQL tuning adalah untuk mengurangi response time yang dibutuhkan dalam memproses SQL, untuk mencari

cara yang lebih efisien untuk memproses workload, meningkatkan waktu pencarian dengan menggunakan

indexes, penggabungan data yang efisien antar dua atau lebih tabel.

Dalam penelitian ini hanya akan membahas SQL tuning pada bagian HR(Human Resource) untuk sistem informasi penggajian karyawan. Prioritas utama dalam pelaksanaan SQL tuning ini adalah dengan penurunan buffer gets dan elapsed time, penurunan buffer gets akan memperkecil penggunaan

resource saat pengambilan data ke dalam databse yang akan mempercepat kinerja database dan

penurunan elapsed time akan mempercepat akses data dan meningkatkan efektivitas perusahaan.

Bind variable, partitioning, materialized view, compression technique, dan session parameter

tidak akan dibahas dalam penelitian ini.

Tujuan dari penulisan ini adalah meningkatkan performance database PT. XYZ dengan

melakukan optimalisasi pada buffer gets dan elapsed time query-query Sistem Informasi Penggajian.

Manfaat yang ingin diperoleh dari penulisan ini adalah :

1. Peningkatan performa database agar proses binsis PT. XYZ dapat berjalan lebih baik.

2. Query yang menjadi penyebab menurunnya performa database tidak menganggu aktivitas di

masa depan.

METODE PENELITIAN

Metode penelitian yang digunakan untuk menganalisis proses bisnis PT.XYZ dan mengusulkan pemecahan masalah yang tepat adalah sebagai berikut:

(2)

Metode Analisis a. Pengumpulan data

Untuk mendapatkan data pada PT.XYZ, maka dilakukan survei langsung dilokasi dengan menelusuri modul Sistem Informasi Penggajian.

b. Studi Kepustakaan

Melakukan studi literature baik dari buku teks maupun jurnal-jurnal yang berhubungan dengan SQL Tuning sebagai dasar pembelajaran dalam pembuatan karya ilmiah. c. Analisis Sistem Berjalan

Menganalisis sistem berjalan dengan menggunakan ERD serta rich picture untuk menggambarkan struktur database PT.XYZ.

Metode Tuning

Menurut K.Burleson(2010, p.315) metode tuning yang dapat digunakan adalah : a. Optimasi pemanggilan query

Melakukan perbaikan terhadap sintaks yang digunakan agar eksekusi menjadi lebih cepat dan menggunakan memory yang lebih sedikit.

b. Pembuatan Index

Membuat index yang sesuai kebutuhan untuk mempermudah akses data ke dalam database dan menghemat penggunaan memory sehingga lebih efisien.

HASIL DAN BAHASAN

1. Query Salary

Query ini digunakan untuk menampilkan data-data gaji karyawan.

Gambar 1 ERD Query Salary

Sebelum Tuning

Tabel 1 Query Salary

SELECT DISTINCT a.EMPLID,a.CAL_RUN_ID,(

SELECT SUM(b.CALC_RSLT_VAL) FROM PS_GP_RSLT_ERN_DED b WHERE b.PIN_NUM = 10608 AND a.emplid = b.emplid AND a.cal_run_id = b.cal_run_id)

AS SALARY,(SELECT SUM(b.CALC_RSLT_VAL) FROM PS_GP_RSLT_ERN_DED b WHERE b.PIN_NUM = 10609 AND a.emplid = b.emplid

AND a.cal_run_id = b.cal_run_id) AS OVERTIME,(

(3)

Gambar 2 Statistik Query Salary

Gambar 3 Tampilan Query Salary

Berdasarkan hasil pengukuran yang terdapat pada gambar 2 diatas, terlihat bahwa query Salary yang ditunjukan pada tabel 1 memiliki elapsed time sebesar 64.83 sec dengan buffer gets sebesar 35,210 yang memperlihatkan bahwa query ini tergolong memiliki nilai buffer gets yang cukup tinggi sehingga menyebabkan penggunaan resource menjadi besar sehingga menyebabkan elapsed time yang dibutuhkan menjadi tinggi.

Setelah Tuning

Tabel 2 Query Salary Setelah Tuning

SELECT a.EMPLID,a.CAL_RUN_ID, (SELECT SUM(b.CALC_RSLT_VAL) FROM PS_GP_RSLT_ERN_DED b WHERE b.PIN_NUM = 10608 AND a.emplid = b.emplid

AND a.cal_run_id = b.cal_run_id) AS SALARY, (SELECT SUM(b.CALC_RSLT_VAL)

AND a.emplid = b.emplid

AND a.cal_run_id = b.cal_run_id) AS TUNJANGAN FROM PS_GP_RSLT_ERN_DED a

(4)

Gambar 4 Statistik Query Salary Setelah Tuning

Gambar 5 Tampilan Query Salary Setelah Tuning

Berdasarkan query yang terdapat pada tabel 1, ditemukan bahwa query tersebut menampilkan data yang bersifat unique maka pada percobaan dilakukan dengan penggantian sintaks DISTINCT menjadi sintaks GROUP BY yang seperti yang terlihat pada tabel 2. Terlihat pada gambar 4 bahwa elapsed time yang dibutuhkan menjadi 35.20 sec dengan jumlah buffer gets yaitu 15,881.

2. Query Bank

Query ini digunakan untuk menampilkan data karyawan dan bank yang terasosiasi dengan

karyawan.

FROM PS_GP_RSLT_ERN_DED b WHERE b.PIN_NUM = 10609 AND a.emplid = b.emplid

AND a.cal_run_id = b.cal_run_id) AS OVERTIME, (SELECT SUM(b.CALC_RSLT_VAL)

FROM PS_GP_RSLT_ERN_DED b WHERE b.PIN_NUM = 11362 AND a.emplid = b.emplid

AND a.cal_run_id = b.cal_run_id) AS TUNJANGAN FROM PS_GP_RSLT_ERN_DED a

WHERE a.CAL_RUN_ID = 'CG_2011W004_TS_P' GROUP BY EMPLID,cal_run_id

(5)

Gambar 6 ERD Query Bank

Sebelum Tuning

Tabel 3 Query Bank Sebelum Tuning

SELECT DISTINCT B.emplid, MAP.hms_cc_group, bank_cd, branch_ec_cd FROM ps_job B

left join ps_hms_cc_map MAP ON MAP.hms_cost_center = B.acct_cd join ps_pye_bankacct BANK

ON B.emplid = BANK.emplid AND MAP.hpyp_cntrl_area = 'IDN'

WHERE ( bank_cd, branch_ec_cd )

IN (SELECT bank_cd, branch_ec_cd FROM ps_bank_branch_tbl

WHERE src_bank_id = 'BCA-HMS' AND eff_status = 'A')

AND eff_status = 'A'

AND account_type_pye = 'S' AND B.effdt = (SELECT Max(B1.effdt) FROM ps_job B1 WHERE B1.effdt <= (SELECT Max(prd_end_dt) FROM ps_gp_pye_prc_stat D WHERE D.emplid = B1.emplid

(6)

Gambar 7 Statistik Query Bank Sebelum Tuning

Gambar 8 Tampilan Query Bank Sebelum Tuning

Berdasarkan hasil pengukuran yang terdapat pada gambar 7 diatas, terlihat bahwa query Bank yang ditunjukan pada tabel 3 memiliki elapsed time sebesar 142.28 sec dengan buffer gets sebesar 582,260 yang memperlihatkan bahwa query ini tergolong memiliki nilai buffer gets yang cukup tinggi sehingga menyebabkan penggunaan resource menjadi besar sehingga menyebabkan elapsed time yang dibutuhkan menjadi tinggi.

(SELECT Max(B1.effdt) FROM ps_job B1

WHERE B1.effdt <= (SELECT Max(prd_end_dt)

FROM ps_gp_pye_prc_stat D WHERE D.emplid = B1.emplid AND D.cal_id IN

(SELECT cal_id

FROM ps_hmsa_ts_out_cal) AND D.emplid =

(SELECT DISTINCT emplid FROM ps_gp_payment PYE WHERE PYE.emplid =

D.emplid AND PYE.cal_id =

(7)

Setelah Tuning

Tabel 4 Composite Index pada Query Bank

Tabel 5 Query Bank Setelah Tuning

Gambar 9 Statistik Query Bank Setelah Tuning

CREATE INDEX IDX001 ON PS_PYE_BANKACCT (bank_cd,branch_ec_cd)

SELECT DISTINCT

B.EMPLID,MAP.HMS_CC_GROUP,BANK_CD,branch_ec_cd FROM PS_JOB B

LEFT JOIN PS_HMS_CC_MAP MAP

ON MAP.HMS_COST_CENTER = B.ACCT_CD JOIN PS_PYE_BANKACCT BANK

ON B.EMPLID = BANK.EMPLID

AND MAP.HPYP_CNTRL_AREA = 'IDN' WHERE EXISTS(SELECT bank_cd,branch_ec_cd FROM ps_bank_branch_tbl brn

WHERE brn.src_bank_id = 'BCA-HMS' AND brn.eff_status = 'A'

AND bank.bank_cd = brn.bank_cd

AND bank.branch_ec_cd = brn.branch_ec_cd) AND EFF_STATUS = 'A'

AND ACCOUNT_TYPE_PYE = 'S' AND B.effdt = (SELECT MAX(B1.effdt) FROM PS_JOB B1

WHERE B1.EFFDT <= (SELECT MAX(PRD_END_DT) FROM PS_GP_PYE_PRC_STAT D WHERE D.EMPLID = B1.EMPLID AND EXISTS (SELECT CAL_ID FROM

PS_HMSA_TS_OUT_CAL cal

WHERE d.cal_id = cal.cal_id)

AND D.EMPLID = (SELECT DISTINCT EMPLID FROM PS_GP_PAYMENT PYE WHERE PYE.EMPLID = D.EMPLID AND PYE.CAL_ID = 'C_2011W004_TS_D')))

(8)

Gambar 10 Tampilan Query Bank Setelah Tuning

Berdasarkan tabel 3, pada percobaan seperti yang terlihat pada tabel 5 dilakukan penggantian sintaks IN pada pemanggilan value menjadi menggunakan EXISTS sehingga pemanggilan data bisa menjadi lebih ringan serta dilakukan penggunaan composite index pada atribut bank_cd dan branch_ec_cd tabel PS_PYE_BANKACCT dikarenakan kedua atribut tersebut merupakan selective

attribute sehingga dengan menggunakan index dapat mengurangi beban dalam pemanggilan data.

Terlihat pada gambar 9 bahwa elapsed time yang dibutuhkan menjadi 111.42 sec dengan buffer gets yaitu 119,162.

SIMPULAN DAN SARAN

Simpulan

Bedasarkan penelitian yang telah dilakukan, maka simpulan yang dapat ditarik adalah :

Terdapat Elapsed time dan Buffer Gets yang tinggi pada saat mengeksekusi query pada Sistem Informasi Penggajian PT. XYZ. Penyebab dari lamanya pemanggilan query pada Sistem Informasi Penggajian PT.XYZ disebabkan oleh penggunaan syntax yang tidak tepat dan penggunaan tabel yang tidak diperlukan. Hasil dari penelitian SQL tuning ini adalah dengan menurunnya buffer gets maka pemakaian resource dalam pemanggilan data ke dalam database akan menjadi lebih sedikit dan mengakibatkan lama pemanggilan data berkurang.

Saran

Saran yang diberikan oleh penulis agar pengembangan DBMS di perusahaan dapat berjalan dengan baik adalah :

1. Menggunakan skripsi ini sebagai landasan dalam melakukan proses tuning pada modul lainnya. 2. Melakukan proses tuning lainnya, seperti Memory tuning, I/O tuning dan Application tuning

agar proses bisnis PT.XYZ dapat meningkat.

REFERENSI

Sukheja, D., & Singh, U. K. (2011). A Novel Approach of Query Optimization for Distributed. IJCSI

International Journal of Computer Science Issues, Vol. 8, Issue 4, No 1, July 2011, 307.

K.Burleson, D. (2010). Oracle Tuning : The Definitive Reference.

RIWAYAT HIDUP

Edbert Giovanni Suryadi lahir di kota Jakarta pada 7 Maret 1991. Penulis menamatkan pendidikan S1

di Universitas Bina Nusantara dalam bidang Sistem Informasi pada 2013.

Keithsen Chusny lahir di kota Jakarta pada 27 September 1991. Penulis menamatkan pendidikan S1 di

Gambar

Gambar 1 ERD Query Salary
Gambar 2 Statistik Query Salary
Gambar 4 Statistik Query Salary Setelah Tuning
Tabel 3 Query Bank Sebelum Tuning
+4

Referensi

Dokumen terkait

Saran yang dapat diberikan untuk pembahasan yang lebih jauh lagi adalah bahwa algoritma MBFGS telah terbukti efektif dibandingkan BFGS baik secara teori konvergensi

Vi hade en förhoppning på att detta även skulle kunna leda till minskade behandlingar mot ledinflammationer i de olika besättningarna, men här har vi för lite försöksresultat och

Secara garis besar permasalahan yang ingin dikemukakan dalam penelitian ini adalah tentang nilai falsafah bushido dan penyimpangannya yang terdapat dalam dwilogi novel

Penelitian ini dilakukan dengan menggunakan rancangan penelitian eksperimental murni pada 4 kelompok stem cell hewan yang ditambahkan dengan scaffold tulang rawan kering

(3) Selain memenuhi nilai/norma positif yang berlaku di masyarakat sebagaimana dimaksud pada ayat (2), Buku Teks Pelajaran maupun Buku Non Teks Pelajaran wajib memenuhi

Hasil ekstraksi minyak nabati sulit untuk memisahkan dengan mediumnya yaitu air karena hasil minyak nabati yang dihasilkan dari mikroalga tidak memisah maka itu

Kegiatan inti merupakan penyampaian materi pembelajaran yang model pelaksanaannya sesuai dengan RPP yang telah dibuat oleh praktikan. Proses Pembimbingan Oleh Guru Pamong

Tujuan penelitian ini adalah untuk mengetahui potensi ekstrak daun kayu manis yang dapat menghambat pertumbuhan bakteri A. Penelitian ini diharapkan dapat memberikan