penerapan basis data terpartisi dalam...
TRANSCRIPT
-
1
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 data karyawan
dengan menggunakan aplikasi MS.
Excel dari hari ke hari akan dirasakan
semakin merepotkan karena
banyaknya sheets dan workbooks yang
harus dibuka. Belum lagi konsolidasi
data antar administrator yang
membutuhkan waktu dengan data lebih
dari seribu karyawan untuk diolah.
Penggunaan basis data dengan model
distribusi client-server ialah pilihan
tepat untuk menjadi solusi praktis
dalam pendataan karyawan dengan
jumlah yang sedemikian. Client-server
memiliki keunggulan praktis dalam hal
integritas data sehingga
-
2
ketidakefesienan konsolidasi antar
sheets, antar workbooks, dan antar
administrator dapat ditinggalkan.
Selain itu client-server juga lebih
praktis untuk tipe transaksi yang
menggunakan online data sharing
pada model kerja
bersamaan/workgroups. Keuntungan
lainnya dengan penggunaan sistem
distribusi data terpusat client-server
ialah lalu lintas data lebih mudah
diawasi, selain itu juga data dapat
langsung terkumpul dipusat sehingga
bisa langsung diolah menjadi
informasi.
LANDASAN TEORI
1. Model Jaringan
Model Peer to Peer.
Yaitu model jaringan dimana
setiap unit pada jaringan memiliki
level yang sama dalam hierarki
jaringan. Pada model jaringan ini
aliran data bersifat sejajar antar satu
unit dengan unit lainnya dalam
jaringan. Model aliran data pada
jaringan ini tampak pada gambar 1
berikut;
Model Client-Server.
Merupakan model aliran data
yang memiliki baik hierarki maupun
hubungan langsung antar komputer
dalam jaringan. Hubungan aliran data
pada model ini dilakukan secara
langsung dari klien ke server tanpa
harus melalui protokol ataupun lapisan
aplikasi khusus untuk komunikasi
antara klien dan server. Model aliran
Client-Server tergambar pada gambar
2 berikut ini;
Client Client Client
Server
Response Response Response
RequestRequest
Request
Server sebagai
sumber data
Client sebagai
penerima data
Gambar 1. Model Client-Server.
Model Hierachical Client-Server.
-
3
Merupakan model aliran data
yang memiliki karakteristik Client-
Server tetapi dengan banyak
lapisan/layers, atau tiers antara server-
servernya.
Model Distributed Computing,
Merupakan model distribusi
data yang memiliki karakteristik
sebagai kebalikan data model Client-
Server. Pada model ini proses request
tidak dijalankan oleh komputer
cabang/node tetapi oleh komputer
server, yang bertindak sebagai task
manager.
2. Transaksional Proses Sistem
Online transaction processing
atau yang biasa di sebut OLTP
mempunyai peranan yang penting di
dalam database management system
(DBMS). Di dalam DBMS OLTP ialah
konsep, class of system, pola pikir,
target dan orientasi yang akan
menuntun para perancang arsitektur
basis data pada efesiensi dan ketepatan
manajemen penyimpanan data
transaksi:
3. Pengertian dari Pemartisian Basis
Data
Pengertian pemartisian basis
data menurut MySQL ialah :
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/partitioning-
overview.html).
4. Tipe-tipe dari Pemartisian Basis
Data
MySQL(2011:http://dev.mysql.com/
doc/refman/5.1/en/partitioning-
types.html) dapat diketahui bahwa
pemartisian basis data dapat
dilakukan dengan beberapa cara
antara lain;
http://dev.mysql.com/doc/refman/5.1/en/partitioning-overview.htmlhttp://dev.mysql.com/doc/refman/5.1/en/partitioning-overview.htmlhttp://dev.mysql.com/doc/refman/5.1/en/partitioning-overview.htmlhttp://dev.mysql.com/doc/refman/5.1/en/partitioning-types.htmlhttp://dev.mysql.com/doc/refman/5.1/en/partitioning-types.htmlhttp://dev.mysql.com/doc/refman/5.1/en/partitioning-types.htmlhttp://dev.mysql.com/doc/refman/5.1/en/partitioning-types.html
-
4
Range Partitioning , atau pemartisian berjarak.
Merupakan bentuk pemartisian
sedemikian rupa sehingga nilai
ekspresi pada pemartisian terletak
antara jarak yang ditentukan. Jarak
yang ditentukan haruslah feasible dan
tidak overlapping. Contoh :
CREATE TABLE employees (
id INT NOT NULL,
fname VARCHAR(30),
lname VARCHAR(30),
hired DATE NOT NULL DEFAULT '1970-
01-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, atau pemartisian daftar.
Merupakan bentuk pemartisian
yang sama dengan Range Partitioning
hanya saja ekspresi jarak pemartisian
yang diberikan dilakukan dengan
pernyataan eksplisit. Contoh :
CREATE TABLE employees (
id INT NOT NULL,
fname VARCHAR(30),
lname VARCHAR(30),
hired DATE NOT NULL DEFAULT '1970-
01-01',
separated DATE NOT NULL DEFAULT '9999-
12-31',
job_code INT,
store_id INT
)
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)
);
Hash partitioning, atau pemartisian dengan hash.
Merupakan bentuk pemartisian ini
sebenarnya sama dengan kedua bentuk
pemartisian sebelumnya hanya saja
pengguna tidak perlu
menspesifikasikan ekspresi
pemartisian dan cukup menunjuk
atribut sebagai dasar dimana partisi-
partisi akan dibentuk. Contoh :
PARTITION BY HASH(store_id)
PARTITIONS 4 ;
Key partitioning, atau pemartisian dengan kunci.
Merupakan bentuk pemartisian
yang otomatis sepenuhnya. Seperti
halnya pemartisian dengan hash
pengguna tidak perlu menentukan
ekspresi pemartisian. Contoh :
-
5
CREATE TABLE k1 (
id INT NOT NULL PRIMARY
KEY,
name VARCHAR(20)
)
PARTITION BY KEY()
PARTITIONS 2;
PERANCANGAN SISTEM
1. DFD sistem penggajian dan
pengupahan- Context Diagram.
Model Gane-Sarson (Data Flow
Diagram) sebagaimana berikut;.
Transaksi setelah pajak
Penentuan jam_shif pegaw ai
Data honorarium
Kueri honorarium
Setiing Kebijakan
Seting Tarif Lembur
Seting Tarif Upah
DML OLTP pajak penghasilan
DML OLTP upah dan honorarium
DML OLTP gaji karyaw an
DML OLTP data karyawan
Absen keluar
Absen masuk
Data pph21 penghasilan
Kueri data pph21 penghasilan
Data absensi
Kueri data absensi
Data upah
Kueri data upah
Data gaji
Kueri gaji
Kueri Data Karyaw an
Data Karyaw an
0
Sistem penggajian dan
pengupahan
+
Karyaw an
dan pekerja
lepas
Manajemen
SDM(Super)
Admin SDM
Gambar 2. Context Diagram
2. Conceptual Data Model.
TUNJANGANUTANGPIUTANG
LEMBUR
ABSENSI
Nip Pejabat
Pejabat
Pph21
THR
Pengupahan
Penggajian
Keahlian
Jabatan
Agama
Golongan
Departemen
TRAN_KARYAWAN
NIP
NAMA
ALAMAT
KOTA
TGLLAHIR
KOTA LAHIR
KELAMIN
KAWIN
JUMANAK
KDDEPT
KDGOL
KDAGAMA
TELPON
KDJABATAN
KDKEAHLIAN
PENSIUNAN
STATUS_PEG
A20
A30
A50
A20
D
A20
A1
A1
N1
A10
A10
A10
A20
A10
A10
A1
A20
Identifier_1
TRAN_GAJI
NIPGP
GAJI_POKOK
LEMBUR_AKM
TUNJANGAN
TOTAL
DEDUKSI_THN
PTKP_
PKP
TAR17LV1
TAR17LV2
TAR17LV3
TAR17LV4
TAR17LV5
TOT_BERSIH
A20
N20
N20
N20
N20
N20
N20
N20
N15
N15
N15
N15
N15
N20
Identifier_1
TRAN_DETAIL_TUNJ
NIPTUNJ
TUN_PROFESI
TUN_JABATAN
TUN_KEAHLIAN
TUN_TRANSPOR
TUN_PANGAN
TUN_KESEHATAN
TUN_ANAK
TUN_ISTRI
TUN_PAJAK
AL_TUN_LAIN1
AL_TUN_LAIN2
AL_TUN_LAIN3
AL_TUN_LAIN4
AL_TUN_LAIN5
TUN_PENSIUN
A20
N20
N20
N20
N20
N20
N20
N20
N20
N20
A20
A20
A20
A20
A20
N20
Identifier_1
TRAN_THR
NIPTHR
THR
TAHAP
DEDUKSI_THR
PTKP_
PKP
PJK17LV1
PJK17LV2
PJK17LV3
PJK17LV4
PJK17LV5
THRBERSIH
A20
N20
N2
N20
N20
N20
N15
N15
N15
N15
N15
N15
Identifier_1
PPH21AKHIR
NIPPAJ
BRUTO_PJK
DEDUKSI_THN
PKP
PTKP_
TARIF1
TARIF2
TARIF3
TARIF4
TARIF5
TOTALPJKTAHUN
A20
N20
N20
N20
N20
N15
N15
N15
N15
N15
N20
Identifier_1
LEMBUR
NIPLEM
TGLLEMBUR
JUMJAM
JUMLEMBUR
PKLEMBUR
A20
D
N2
N20
I
Identifier_1
UPAH
TGLUPAH
JUMJAMUPAH
JUMUPAH
DEDUKSI_UPAH
PTKP_UP
PKP_UP
PJUPALV1
PJUPALV2
PJUPALV3
PJUPALV4
PJUPALV5
UPAH_AKHIR
NIP_UPA
PKUPAH
D
N2
N20
N20
N20
N20
N15
N15
N15
N15
N15
N15
A28
A28
Identifier_1
TRAN_KDDEPT
KD_DEPTX
NAMA_DEPT
A15
A50
Identifier_1
TRAN_KD_AGAMA
KD_AGAMA
NAMA_AGAMA
A15
A50
Identifier_1
TRAN_KDGOL
KD_GOL
NAMA_GOL
A15
A50
Identifier_1
TRAN_KD_JABATAN
KD_JABATAN
NAMA_JABATAN
A10
A50
Identifier_1
TRAN_KD_AHLI
NAMA_AHLI
KD_AHLI
A50
A10
Identifier_1
TRAN_PEJABAT
KD_JABATAN
NIPJ
PERIODE
A10
A20
A7
Identifier_1
ABSENSI
NIP
TGL_ABSEN
JAM_MASUK
JAM_KELUAR
PKABSEN
SHIFT
A20
D
T
T
A28
I
Identifier_1
UTANGPIUTANGKARYAWAN
NIPPIUT
TAMBAHAN
KET_TAMBAH
PENGURANG
KET_KURANG
TGLTRAN
NO_AKUN_DEBET
NO_AKUN_KREDIT1
A20
N20
A255
N20
A255
D
A20
A20
Identifier_1
Gambar 3. Rancangan CDM
3. Physical Data Model.
FK_LEMBUR
FK_UTANGPIUTANGFK_TUNJANGAN
FK_PENGGAJIAN
FK_THR
FK_PENGUPAHAN
UPAH
TGLUPAH
JUMJAMUPAH
JUMUPAH
DEDUKSI_UPAH
PTKP_UP
PKP_UP
PJUPALV1
PJUPALV2
PJUPALV3
PJUPALV4
PJUPALV5
UPAH_AKHIR
NIP_UPA
NIP
PKUPAH
date
numeric(2,0)
numeric(20,0)
numeric(20,0)
numeric(20,0)
numeric(20,0)
numeric(15,0)
numeric(15,0)
numeric(15,0)
numeric(15,0)
numeric(15,0)
numeric(15,0)
char(28)
char(20)
char(28)
TRAN_THR
NIPTHR
NIP
THR
TAHAP
DEDUKSI_THR
PTKP_
PKP
PJK17LV1
PJK17LV2
PJK17LV3
PJK17LV4
PJK17LV5
THRBERSIH
char(20)
char(20)
numeric(20,0)
numeric(2,0)
numeric(20,0)
numeric(20,0)
numeric(20,0)
numeric(15,0)
numeric(15,0)
numeric(15,0)
numeric(15,0)
numeric(15,0)
numeric(15,0)
TRAN_GAJI
NIPGP
NIP
GAJI_POKOK
LEMBUR_AKM
TUNJANGAN
TOTAL
DEDUKSI_THN
PTKP_
PKP
TAR17LV1
TAR17LV2
TAR17LV3
TAR17LV4
TAR17LV5
TOT_BERSIH
char(20)
char(20)
numeric(20,0)
numeric(20,0)
numeric(20,0)
numeric(20,0)
numeric(20,0)
numeric(20,0)
numeric(20,0)
numeric(15,0)
numeric(15,0)
numeric(15,0)
numeric(15,0)
numeric(15,0)
numeric(20,0)
TRAN_DETAIL_TUNJ
NIPTUNJ
NIP
TUN_PROFESI
TUN_JABATAN
TUN_KEAHLIAN
TUN_TRANSPOR
TUN_PANGAN
TUN_KESEHATAN
TUN_ANAK
TUN_ISTRI
TUN_PAJAK
AL_TUN_LAIN1
AL_TUN_LAIN2
AL_TUN_LAIN3
AL_TUN_LAIN4
AL_TUN_LAIN5
TUN_PENSIUN
char(20)
char(20)
numeric(20,0)
numeric(20,0)
numeric(20,0)
numeric(20,0)
numeric(20,0)
numeric(20,0)
numeric(20,0)
numeric(20,0)
numeric(20,0)
char(20)
char(20)
char(20)
char(20)
char(20)
numeric(20,0)
UTANGPIUTANGKARYAWAN
NIPPIUT
NIP
TAMBAHAN
KET_TAMBAH
PENGURANG
KET_KURANG
TGLTRAN
NO_AKUN_DEBET
NO_AKUN_KREDIT1
char(20)
char(20)
numeric(20,0)
char(255)
numeric(20,0)
char(255)
date
char(20)
char(20)
PPH21AKHIR
NIPPAJ
NIP
BRUTO_PJK
DEDUKSI_THN
PKP
PTKP_
TARIF1
TARIF2
TARIF3
TARIF4
TARIF5
TOTALPJKTAHUN
char(20)
char(20)
numeric(20,0)
numeric(20,0)
numeric(20,0)
numeric(20,0)
numeric(15,0)
numeric(15,0)
numeric(15,0)
numeric(15,0)
numeric(15,0)
numeric(20,0)
TRAN_KARYAWAN
NIP
NAMA_AHLI
KD_GOL
KD_DEPTX
KD_AGAMA
KD_JABATAN
NAMA
ALAMAT
KOTA
TGLLAHIR
KOTA LAHIR
KELAMIN
KAWIN
JUMANAK
KDDEPT
KDGOL
KDAGAMA
TELPON
KDJABATAN
KDKEAHLIAN
PENSIUNAN
STATUS_PEG
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)
numeric(1,0)
char(10)
char(10)
char(10)
char(20)
char(10)
char(10)
char(1)
char(20)
LEMBUR
NIPLEM
TGLLEMBUR
NIP
JUMJAM
JUMLEMBUR
PKLEMBUR
char(20)
date
char(20)
numeric(2,0)
numeric(20,0)
int
Gambar 4. PDM Sistem
HASIL DAN PEMBAHASAN
1. Sistem Transaksional
Bagian ini mengunakan TPS
dalam sistem berfungsi untuk
-
6
mencatat transaksi penggajian dan
pengupahan,
Gambar 5. Form Transaksional
2. Sistem Pelaporan.
Sistem pelaporan berada pada
aplikasi master dengan form kontrol
pada gambar 6 di bawah;
Gambar 6. Form Laporan
Hasil laporan kemudian diterbitkan
sebagaimana gambar 7 berikut ;
Gambar 7. Laporan Penggajian
3. Evaluasi dan uji korelasi.
Uji coba kefektifan pemartisian basis
data pada basis data non
transaksional prosessing(master)
dilakukan dengan 9 macam kueri
yang memiliki karakteristik yang
berbeda satu sama lainnya. Sumber
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
Kueri
Join Tabel Select
Where Cluase Order By
1 2 tabel Selektif tidak ada
NIP, Periode
2 tidak ada Selektif
tidak ada
NIP, Periode
3 2 tabel Selektif periode
= 2011
NIP, Periode
4 2 tabel Selektif
less
than
2006
NIP, Periode
5 2 tabel Selektif less than NIP,
-
7
2003 Periode
6 2 tabel Selektif jum.anak
< 2
NIP, Periode
7 2 tabel Selektif jum.anak
>= 2
NIP, Periode
8 3 tabel Selektif tidak ada
NIP, Periode
9 3 tabel Selektif tahun >
2006
NIP, Periode
hasil pengujian kecepatan kueri
berdasarkan jumlah partisi dilakukan
dengan hasil jumlah kueri sebagai
berikut;
Tabel 2. Jumlah Data Hasil Kueri
Ku Jum Ku Jum Ku Jum
Data Data Data
1 477504 4 238752 7 320832
2 477504 5 119376 8 477504
3 39792 6 155672 9 253436
Uji coba dilakukan pada 12, 6, 3 dan
tanpa partisi dengan hasil uji sebagai
berikut;
Tabel 3.Uji Kueri 12 Partisi
Waktu Kueri
Kueri partisi 12(Periode tahun)
Uji 1 Uji 2 Uji 3
1 16,578 16,574 16,141
2 13,751 13,813 13,547
3 0,594 0,513 0,594
4 7,895 7,781 8,812
5 2,016 2,156 2,344
6 14,501 13,906 14,675
7 14,872 15,516 14,973
8 15,078 15,281 14,996
9 4,687 4,611 4,641
Tabel 4.Uji Kueri 6 Partisi
Waktu Kueri
Kueri partisi 6(Periode tahun)
Uji 1 Uji 2 Uji 3
1 17,031 17,563 16,819
2 14,578 14,312 14,473
3 0,547 0,547 0,531
4 7,751 8,781 8,782
5 2,157 2,251 2,21
6 14,334 14,453 14,657
7 14,719 15,344 15,172
8 16,607 16,047 16,703
9 6,594 6,609 6,187
Tabel 5.Uji Kueri 3 Partisi
Waktu Kueri
Kueri partisi 3(Periode tahun)
Uji 1 Uji 2 Uji 3
1 17,091 16,781 17
2 14,5 14,344 14,156
3 0,51 0,547 0,55
4 8,789 8,719 8,781
5 2,359 2,641 2,625
6 14,5 14,406 14,24
7 15,078 15,28 14,891
8 17,547 17,487 17,642
9 8,021 6,987 6,907
Tabel 6.Uji Kueri tanpa Partisi
Waktu Kueri
Kueri tanpa partisi
Uji 1 Uji 2 Uji 3
1 51 60,422 57,156
2 36,219 33,672 33,873
3 0,53 0,51 1,43
4 24,469 24,579 24,89
5 4,469 4,89 4,906
6 53,672 53,657 49,156
7 55,61 54,984 56,61
8 39,78 37,985 39,812
9 9,46 10,12 10,547
-
8
Hasil Koefisien r ialah ;
Tabel 7. r Korelasi Hasil Uji
Ku r Ku r Ku r
korelasi korelasi korelasi
1 -0,6878 4 -
0,703457 7 -0,68235
2 -
0,70205 5 -0,75023 8 -
0,74278
3 -
0,29568 6 -0,68235 9 -
0,93941
KESIMPULAN
Untuk menyelesaikan pekerjaan
penggajian dan pengupahan dengan
kuantitas yang besar diperlukan
sistem terkomputerisasi . Dari hasil
uji statistik terhadap 9 macam kueri
didapati bahwa rata-rata ;
- Terdapat hubungan antara
pemartisian basis data
dengan kecepatan
penyelesaiaan kueri select
- Jumlah pemartisian basis
data cenderung secara
signifikan mempengaruhi
secara terbalik/negatif
kecepatan penyelesaian
kueri select yang dalam
tabel 7 ditunjukkan dengan
nilai minus r korelasi.
Artinya semakin
banyak/detail pemartisian
maka kecenderungan akan
mempunyai kecepatan
menyelesaikan kueri select
lebih singkat
- Pada karakter kueri select
tertentu yaitu dengan skala
data scanning yang kecil
maka jumlah partisi tidak
akan berpengaruh banyak
dalam penyelesaian kueri
select yang ditunjukkan dgn
angka r = 0,29568 pada
kueri ke 3.
DAFTAR PUSTAKA
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.
http://dev.mysql.com/doc/refman/5.1/en/partitioning-maintenance.html/http://dev.mysql.com/doc/refman/5.1/en/partitioning-maintenance.html/http://dev.mysql.com/doc/refman/5.1/en/partitioning-maintenance.html/http://dev.mysql.com/doc/refman/5.1/en/partitioning-maintenance.html/
-
9
-
10
-
11
-
12