PENERAPAN BASIS DATA TERPARTISI DALAM RANCANG BANGUN SISTEM PENGGAJIAN-PENGUPAHAN DENGAN MODEL JARINGAN CLIENT-SERVER Yulis Dwi Anto 1) Januar Wibowo 2) Tegar Heru S. 3) 1) S1/Jurusan Sistem informasi 04410100036. 2) Pembimbing I 3)Pembimbing II Sekolah Tinggi Manajemen Informatika & Teknik Komputer Surabaya.
Abstract ; Managing data transaction of employees such as check clock, wages, salaries , income tax, honorarium, commission ,gift will become a serious difficult task if involving large quantity employees. You can imagine how busy you are if you have to take care of about 3000 or more data of employees every month with only Microsoft Excel as your tool, you will have more difficulties if you have to take care of them every day. Definitely you need better solution, and because of that here I presenting to you this wages and salaries management system with client server. The use age of client server database model will make server become center of data transaction and requests which mean make server responses will become more and more slower as numbers of client requests increasing. So system will need better strategy to avoid time consuming process. Because server hold large number of historical data, it would be time consuming if user of system try to querying large sum of data query. One of strategy that will be applied to the server that we hope could become as better strategy is database partitioning. Partitioning if the way to divide large number of data table into smaller segments, so hopefully within smaller data to probe for requested query then server will finish the task with more time efficiently. Keywords ; payroll, database partitions, client- server. Memajemen
karyawan
dari seribu karyawan untuk diolah.
dengan menggunakan aplikasi MS.
Penggunaan basis data dengan model
Excel dari hari ke hari akan dirasakan
distribusi client-server ialah pilihan
semakin
karena
tepat untuk menjadi solusi praktis
banyaknya sheets dan workbooks yang
dalam pendataan karyawan dengan
harus dibuka. Belum lagi konsolidasi
jumlah yang sedemikian. Client-server
data
memiliki keunggulan praktis dalam hal
antar
data
merepotkan
administrator
yang
membutuhkan waktu dengan data lebih
integritas
1
data
sehingga
ketidakefesienan
konsolidasi
antar
unit
dengan
unit
lainnya
dalam
sheets, antar workbooks, dan antar
jaringan. Model aliran data pada
administrator
jaringan ini tampak pada gambar
dapat
ditinggalkan.
Selain itu client-server juga lebih
berikut;
praktis untuk tipe transaksi yang
Model Client-Server.
menggunakan online data sharing pada
model
1
Merupakan model aliran data
kerja
yang memiliki baik hierarki maupun
Keuntungan
hubungan langsung antar komputer
lainnya dengan penggunaan sistem
dalam jaringan. Hubungan aliran data
distribusi data terpusat client-server
pada model ini dilakukan secara
ialah lalu lintas data lebih mudah
langsung dari klien ke server tanpa
diawasi, selain itu juga data dapat
harus melalui protokol ataupun lapisan
langsung terkumpul dipusat sehingga
aplikasi khusus untuk komunikasi
bisa
antara klien dan server. Model aliran
bersamaan/workgroups.
langsung
diolah
menjadi
informasi.
Client-Server tergambar pada gambar
LANDASAN TEORI
2 berikut ini;
1. Model Jaringan
Server sebagai sumber data
Server Response
Model Peer to Peer.
Request
Response
Response Request
Request
Client sebagai penerima data Client
Yaitu model jaringan dimana
yang
sama
dalam
Client
Gambar 1. Model Client-Server.
setiap unit pada jaringan memiliki level
Client
Model Server.
hierarki
jaringan. Pada model jaringan ini aliran data bersifat sejajar antar satu
2
Hierachical
Client-
Merupakan model aliran data
target
dan
orientasi
yang
akan
yang memiliki karakteristik Client-
menuntun para perancang arsitektur
Server
basis data pada efesiensi dan ketepatan
tetapi
dengan
banyak
lapisan/layers, atau tiers antara server-
manajemen
servernya.
transaksi:
penyimpanan
data
3. Pengertian dari Pemartisian Basis Data
Model Distributed Computing,
Pengertian
pemartisian basis
Merupakan model distribusi data menurut MySQL ialah : data
yang
memiliki
karakteristik
manager.
“Partitioning takes this notion a step further, by enabling you to distribute portions of individual tables across a file system according to rules which you can set largely as needed. In effect, different portions of a table are stored as separate tables in different locations.” (MySQL,2011:http://dev.mysql.com/d oc/refman/5.1/en/partitioningoverview.html).
2.
4. Tipe-tipe dari Pemartisian Basis Data
sebagai kebalikan data model ClientServer. Pada model ini proses request tidak
dijalankan
oleh
komputer
cabang/node tetapi oleh komputer server, yang bertindak sebagai task
Transaksional Proses Sistem Online transaction processing
atau yang biasa di sebut
MySQL(2011:http://dev.mysql.com/
OLTP
doc/refman/5.1/en/partitioning-
mempunyai peranan yang penting di
types.html) dapat diketahui bahwa
dalam database management system
pemartisian
(DBMS). Di dalam DBMS OLTP ialah
dilakukan dengan beberapa cara
konsep, class of
antara lain;
system, pola pikir,
3
basis
data
dapat
separated DATE NOT NULL DEFAULT '9999-
Range Partitioning , atau pemartisian berjarak. Merupakan sedemikian
bentuk rupa
12-31', job_code INT, store_id INT
pemartisian
sehingga
) PARTITION BY LIST(store_id) ( PARTITION pNorth VALUES IN (3,5,6,9,17), PARTITION pEast VALUES IN (1,2,10,11,19,20), PARTITION pWest VALUES IN (4,12,13,14,18), PARTITION pCentral VALUES IN (7,8,15,16) );
nilai
ekspresi pada pemartisian terletak antara jarak yang ditentukan. Jarak yang ditentukan haruslah feasible dan
Hash partitioning, atau pemartisian dengan hash.
tidak overlapping. Contoh : CREATE TABLE employees ( id INT NOT NULL, fname VARCHAR(30), lname VARCHAR(30), hired DATE NOT NULL DEFAULT '197001-01', separated DATE NOT NULL DEFAULT '9999-12-31', job_code INT NOT NULL, store_id INT NOT NULL ) PARTITION BY RANGE (store_id) ( PARTITION p0 VALUES LESS THAN (6), PARTITION p1 VALUES LESS THAN (11), PARTITION p2 VALUES LESS THAN (16), PARTITION p3 VALUES LESS THAN MAXVALUE );
List Partitioning, pemartisian daftar. Merupakan
bentuk
Merupakan bentuk pemartisian ini sebenarnya sama dengan kedua bentuk pemartisian sebelumnya hanya saja pengguna
perlu
menspesifikasikan pemartisian
ekspresi
dan
cukup
menunjuk
atribut sebagai dasar dimana partisi-
atau
partisi akan dibentuk. Contoh :
pemartisian
PARTITION BY HASH(store_id) PARTITIONS 4 ;
yang sama dengan Range Partitioning
Key partitioning, atau pemartisian dengan kunci.
hanya saja ekspresi jarak pemartisian yang
tidak
Merupakan
diberikan dilakukan dengan yang
pernyataan eksplisit. Contoh :
pemartisian
otomatis sepenuhnya. Seperti
halnya
CREATE TABLE employees ( id INT NOT NULL, fname VARCHAR(30), lname VARCHAR(30), hired DATE NOT NULL DEFAULT '197001-01',
bentuk
pengguna
pemartisian tidak
dengan
perlu
menentukan
ekspresi pemartisian. Contoh :
4
hash
ABSENSI TRAN_KD_AHLI
Identifier_1
CREATE TABLE k1 ( id INT NOT NULL PRIMARY KEY, name VARCHAR(20) ) PARTITION BY KEY()
UPAH
NIP A20 <M> TGL_ABSEN D <M> JAM_MASUK T JAM_KELUAR T PKABSEN A28 SHIFT I <M>
NAMA_AHLI A50 <M> KD_AHLI A10
Identifier_1
TRAN_KD_AGAMA KD_AGAMA A15 <M> NAMA_AGAMA A50
Keahlian ABSENSI
Identifier_1 TRAN_KARYAWAN Agama
TRAN_KDGOL KD_GOL A15 <M> NAMA_GOL A50 Identifier_1
Golongan
TRAN_KDDEPT
PARTITIONS 2;
KD_DEPTX A15 <M> NAMA_DEPT A50 Identifier_1
Departemen
Jabatan TRAN_KD_JABATAN
PERANCANGAN SISTEM
Pengupahan
NIP A20 <M> NAMA A30 ALAMAT A50 KOTA A20 TGLLAHIR D KOTA LAHIR A20 KELAMIN A1 KAWIN A1 JUMANAK N1 KDDEPT A10 <M> KDGOL A10 <M> KDAGAMA A10 <M> TELPON A20 KDJABATAN A10 <M> KDKEAHLIAN A10 PENSIUNAN A1 STATUS_PEG A20
Identifier_1 TRAN_THR
THR
Penggajian
Identifier_1
KD_JABATAN A10 <M> NAMA_JABATAN A50 Nip Pejabat
Identifier_1 TRAN_GAJI
PPH21AKHIR
NIPPAJ A20 <M> BRUTO_PJK N20 DEDUKSI_THN N20 PKP N20 PTKP_LEMBUR N20 TUNJANGAN TARIF1 N15 UTANGPIUTANG TARIF2 N15 TARIF3 N15 TARIF4 N15 TARIF5 N15 TOTALPJKTAHUN N20
Pejabat
DFD sistem penggajian dan pengupahan- Context Diagram.
NIPTHR A20 <M> THR N20 TAHAP N2 DEDUKSI_THR N20 PTKP_ N20 PKP N20 PJK17LV1 N15 PJK17LV2 N15 PJK17LV3 N15 PJK17LV4 N15 PJK17LV5 N15 THRBERSIH N15
Pph21
Identifier_1
1.
TGLUPAH D <M> JUMJAMUPAH N2 JUMUPAH N20 DEDUKSI_UPAH N20 PTKP_UP N20 PKP_UP N20 PJUPALV1 N15 PJUPALV2 N15 PJUPALV3 N15 PJUPALV4 N15 PJUPALV5 N15 UPAH_AKHIR N15 NIP_UPA A28 <M> PKUPAH A28
TRAN_PEJABAT KD_JABATAN A10 <M> NIPJ A20 PERIODE A7 <M> Identifier_1
Identifier_1
NIPGP A20 <M> GAJI_POKOK N20 LEMBUR_AKM N20 TUNJANGAN N20 TOTAL N20 DEDUKSI_THN N20 PTKP_ N20 PKP N20 TAR17LV1 N15 TAR17LV2 N15 TAR17LV3 N15 TAR17LV4 N15 TAR17LV5 N15 TOT_BERSIH N20 Identifier_1
LEMBUR
Model Gane-Sarson (Data Flow
TRAN_DETAIL_TUNJ
NIPLEM A20 <M> TGLLEMBUR D <M> JUMJAM N2 JUMLEMBUR N20 PKLEMBUR I Identifier_1
Diagram) sebagaimana berikut;.
UTANGPIUTANGKARYAWAN NIPPIUT A20 <M> TAMBAHAN N20 KET_TAMBAH A255 PENGURANG N20 KET_KURANG A255 TGLTRAN D NO_AKUN_DEBET A20 NO_AKUN_KREDIT1 A20 Identifier_1
Data gaji
NIPTUNJ A20 <M> TUN_PROFESI N20 TUN_JABATAN N20 TUN_KEAHLIAN N20 TUN_TRANSPOR N20 TUN_PANGAN N20 TUN_KESEHATAN N20 TUN_ANAK N20 TUN_ISTRI N20 TUN_PAJAK N20 AL_TUN_LAIN1 A20 AL_TUN_LAIN2 A20 AL_TUN_LAIN3 A20 AL_TUN_LAIN4 A20 AL_TUN_LAIN5 A20 TUN_PENSIUN N20 Identifier_1
Data absensi Data pph21 penghasilan Data Karyawan
Gambar 3. Rancangan CDM
Manajemen SDM(Super)
Data upah Data honorarium
3. Physical Data Model.
Penentuan jam_shif pegawai Setiing Kebijakan
UPAH
T RAN_KARYAWAN
0
NIP NAMA_AHLI KD_GOL KD_DEPT X KD_AGAMA KD_JABAT AN NAMA ALAMAT KOT A T GLLAHIR KOT A LAHIR KELAMIN KAWIN JUMANAK KDDEPT KDGOL KDAGAMA T ELPON KDJABAT AN KDKEAHLIAN PENSIUNAN ST AT US_PEG
Kueri honorarium
Absen keluar
Kueri data pph21 penghasilan Kueri gaji
Absen masuk
Seting Tarif Lembur Seting Tarif Upah
Sistem penggajian dan pengupahan
char(20) char(50) char(15) char(15) char(15) char(10) char(30) char(50) char(20) date char(20) char(1) char(1) numeri c(1,0) char(10) char(10) char(10) char(20) char(10) char(10) char(1) char(20)
T GLUPAH date JUMJAMUPAH numeri c(2,0) JUMUPAH numeri c(20,0) DEDUKSI_UPAH numeri c(20,0) PT KP_UP numeri c(20,0) PKP_UP numeri c(20,0) PJUPALV1 numeri c(15,0) PJUPALV2 numeri c(15,0) PJUPALV3 numeri c(15,0) PJUPALV4 numeri c(15,0) PJUPALV5 numeri c(15,0) UPAH_AKHIR numeri c(15,0) FK_PENGUPAHAN NIP_UPA char(28) NIP char(20) PKUPAH char(28) T RAN_T HR NIPT HR NIP T HR T AHAP DEDUKSI_T HR PT KP_ PKP PJK17LV1 PJK17LV2 PJK17LV3 PJK17LV4 FK_PENGGAJIAN PJK17LV5 T HRBERSIH FK_T HR
T RAN_GAJI
Kueri data upah PPH21AKHIR NIPPAJ NIP BRUT O_PJK DEDUKSI_T HN PKP PT KP_ T ARIF1 T ARIF2 T ARIF3 T ARIF4 T ARIF5 T OT ALPJKT AHUN
Kueri data absensi
+
char(20) char(20) numeri c(20,0) numeri c(2,0) numeri c(20,0) numeri c(20,0) numeri c(20,0) numeri c(15,0) numeri c(15,0) numeri c(15,0) numeri c(15,0) numeri c(15,0) numeri c(15,0)
Kueri Data Karyawan
char(20) char(20) numeri c(20,0) numeri c(20,0) numeri c(20,0) numeri c(20,0) FK_T UNJANGAN numeri c(15,0)FK_UT ANGPIUT ANG numeri c(15,0) numeri c(15,0) numeri c(15,0) numeri c(15,0) numeri c(20,0)
NIPGP NIP GAJI_POKOK LEMBUR_AKM T UNJANGAN T OT AL DEDUKSI_T HN PT KP_ PKP T AR17LV1 T AR17LV2 T AR17LV3 T AR17LV4 T AR17LV5 T OT _BERSIH
FK_LEMBUR LEMBUR NIPLEM T GLLEMBUR NIP JUMJAM JUMLEMBUR PKLEMBUR
Transaksi setelah pajak
char(20) date char(20) numeri c(2,0) numeri c(20,0) i nt
char(20) char(20) numeri c(20,0) numeri c(20,0) numeri c(20,0) numeri c(20,0) numeri c(20,0) numeri c(20,0) numeri c(20,0) numeri c(15,0) numeri c(15,0) numeri c(15,0) numeri c(15,0) numeri c(15,0) numeri c(20,0)
T RAN_DET AIL_T UNJ UT ANGPIUT ANGKARYAWAN char(20) NIPPIUT NIP char(20) T AMBAHAN numeri c(20,0) KET _T AMBAH char(255) PENGURANG numeri c(20,0) KET _KURANG char(255) T GLT RAN date NO_AKUN_DEBET char(20) NO_AKUN_KREDIT 1 char(20)
NIPT UNJ NIP T UN_PROFESI T UN_JABAT AN T UN_KEAHLIAN T UN_T RANSPOR T UN_PANGAN T UN_KESEHAT AN T UN_ANAK T UN_IST RI T UN_PAJAK AL_T UN_LAIN1 AL_T UN_LAIN2 AL_T UN_LAIN3 AL_T UN_LAIN4 AL_T UN_LAIN5 T UN_PENSIUN
char(20) char(20) numeri c(20,0) numeri c(20,0) numeri c(20,0) numeri c(20,0) numeri c(20,0) numeri c(20,0) numeri c(20,0) numeri c(20,0) numeri c(20,0) char(20) char(20) char(20) char(20) char(20) numeri c(20,0)
DML OLTP pajak penghasilan Karyawan dan pekerja lepas
DML OLTP upah dan honorarium
Admin SDM
Gambar 4. PDM Sistem
DML OLTP data karyawan DML OLTP gaji karyawan
HASIL DAN PEMBAHASAN Gambar 2. Context Diagram
1. Sistem Transaksional Bagian ini mengunakan TPS
2. Conceptual Data Model.
dalam sistem
5
berfungsi
untuk
mencatat transaksi penggajian dan pengupahan,
Gambar 7. Laporan Penggajian
3. Evaluasi dan uji korelasi. Uji coba kefektifan pemartisian basis data Gambar 5. Form Transaksional
pelaporan
berada
basis
transaksional
2. Sistem Pelaporan. Sistem
pada
data
non
prosessing(master)
dilakukan dengan
9 macam kueri
pada
yang memiliki karakteristik yang
aplikasi master dengan form kontrol
berbeda satu sama lainnya. Sumber
pada gambar 6 di bawah;
daya lingkungan pengujian ialah konstan. Pengujian dilakukan pada local host dengan prosessor Pentium 2140 dengan
kecepatan clock 1,6
Ghz dan RAM 1 Gb. Tabel 1. Tabel Karakter Kueri Tes
Selektif
2
2 tabel tidak ada
3
2 tabel
Selektif
4
2 tabel
Selektif
Where Cluase tidak ada tidak ada periode = 2011 less than 2006
5
2 tabel
Selektif
less than NIP,
Kueri 1
Gambar 6. Form Laporan Hasil laporan kemudian diterbitkan
Join Tabel
Select
Selektif
sebagaimana gambar 7 berikut ;
6
Order By NIP, Periode NIP, Periode NIP, Periode NIP, Periode
Periode
2003 6
2 tabel
Selektif
7
2 tabel
Selektif
8
3 tabel
Selektif
9
3 tabel
Selektif
hasil
pengujian
jum.anak <2 jum.anak >= 2 tidak ada tahun > 2006
kecepatan
Tabel 4.Uji Kueri 6 Partisi
NIP, Periode NIP, Periode NIP, Periode NIP, Periode
Kueri 1 2 3 4 5 6 7 8 9
kueri
berdasarkan jumlah partisi dilakukan
Waktu Kueri partisi 6(Periode tahun) Uji 1 Uji 2 Uji 3 17,031 17,563 16,819 14,578 14,312 14,473 0,547 0,547 0,531 7,751 8,781 8,782 2,157 2,251 2,21 14,334 14,453 14,657 14,719 15,344 15,172 16,607 16,047 16,703 6,594 6,609 6,187
dengan hasil jumlah kueri sebagai Tabel 5.Uji Kueri 3 Partisi
berikut; Tabel 2. Jumlah Data Hasil Kueri Kueri Ku 1 2 3
Jum Data 477504 477504 39792
Ku 4 5 6
Jum Data 238752 119376 155672
Ku 7 8 9
Jum Data 320832 477504 253436
1 2 3 4 5 6 7 8 9
Uji coba dilakukan pada 12, 6, 3 dan tanpa partisi dengan hasil uji sebagai berikut;
Waktu Kueri partisi 3(Periode tahun) Uji 1 Uji 2 Uji 3 17,091 14,5 0,51 8,789 2,359 14,5 15,078 17,547 8,021
16,781 14,344 0,547 8,719 2,641 14,406 15,28 17,487 6,987
17 14,156 0,55 8,781 2,625 14,24 14,891 17,642 6,907
Tabel 3.Uji Kueri 12 Partisi Tabel 6.Uji Kueri tanpa Partisi Kueri 1 2 3 4 5 6 7 8 9
Waktu Kueri partisi 12(Periode tahun) Uji 1 Uji 2 Uji 3 16,578 16,574 16,141 13,751 13,813 13,547 0,594 0,513 0,594 7,895 7,781 8,812 2,016 2,156 2,344 14,501 13,906 14,675 14,872 15,516 14,973 15,078 15,281 14,996 4,687 4,611 4,641
Kueri Uji 1 1 2 3 4 5 6 7 8 9
7
51 36,219 0,53 24,469 4,469 53,672 55,61 39,78 9,46
Waktu Kueri tanpa partisi Uji 2 Uji 3 60,422 33,672 0,51 24,579 4,89 53,657 54,984 37,985 10,12
57,156 33,873 1,43 24,89 4,906 49,156 56,61 39,812 10,547
Hasil Koefisien r ialah ; Tabel 7. r Korelasi Hasil Uji Ku
r korelasi
Ku
1
-0,6878 0,70205 0,29568
4
0,703457
5
-0,75023
6
-0,68235
2 3
r korelasi
Ku
r korelasi
nilai minus r
korelasi.
Artinya
semakin
banyak/detail
pemartisian
maka kecenderungan akan
7 -0,68235 8 0,74278 9 0,93941
mempunyai
kecepatan
menyelesaikan kueri select lebih singkat
KESIMPULAN Untuk
pekerjaan
tertentu yaitu dengan skala
penggajian dan pengupahan dengan
data scanning yang kecil
kuantitas
diperlukan
maka jumlah partisi tidak
sistem terkomputerisasi . Dari hasil
akan berpengaruh banyak
uji statistik terhadap 9 macam kueri
dalam penyelesaian kueri
didapati bahwa rata-rata ;
select yang ditunjukkan dgn
-
menyelesaikan
Pada karakter kueri select
yang
besar
Terdapat hubungan antara
angka r = 0,29568 pada
pemartisian
kueri ke 3.
basis
dengan
data
kecepatan
DAFTAR PUSTAKA
penyelesaiaan kueri select -
Jumlah data
pemartisian cenderung
basis secara
signifikan
mempengaruhi
secara
terbalik/negatif
kecepatan
McCabe, JamesD., 2003, Network analysis, architecture and design , Morgan Kaufmann, San Francisco MySQL, Documentation Library, 2011, MySQL 5.1 Reference Manual, 08 Februari 2011. Kyte, Thomas, 2010, Expert Oracle Database Architecture: Oracle Database Programming 9i, 10g, and 11g Techniques and Solutions , Apress.
penyelesaian
kueri select yang
dalam
tabel 7 ditunjukkan dengan
8
9
10
11
12