PERANCANGAN DATA MART KEPEGAWAIAN PADA UNIT SUMBER DAYA MANUSIA (HUMAN RESOURCE) PT. GMF AEROASIA Citra Prawita Kirana1 Prihandoko2 1, 2 Universitas Gunadarma Jl. Margonda Raya 100 Pondok Cina Depok 16424 1
[email protected] 2
[email protected]
ABSTRAK Proses manajemen informasi sumber daya manusia yang menangani seluruh transaksi kepegawaian, mulai dari pendataan pegawai baru, turnover pegawai, cuti, pelanggaran, promosi, demosi, sampai penggajian, membutuhkan data dalam jumlah yang sangat banyak setiap bulannya. Ditambah lagi apabila perusahaan memiliki pegawai yang berjumlah lebih dari 2000 orang, tentunya proses pencarian data untuk membuat laporan akan memakan waktu yang cukup lama. Berdasarkan alasan tersebut, penulis mencoba membuat suatu datamart, yang diharapkan mampu menghasilkan data sesuai dengan kriteria yang diinginkan secara cepat dan akurat. Datamart ini dibuat dengan menggunakan fasilitas DTS (Data Transformation Services) yang ada di SQL Server 2000, mulai dari proses ekstraksi, transformasi, sampai proses loading. Sedangkan aplikasi untuk mengakses data mart ini dibangun dengan bahasa pemrograman Visual Basic 6.0
Kata Kunci : Data Mart, Human Resource, dan ETL
1
PENDAHULUAN PT. GMF AeroAsia adalah anak perusahaan milik PT. Garuda Indonesia yang khusus menangani masalah perawatan pesawat terbang. Sebagai anak perusahaan, GMF termasuk perusahaan yang cukup besar, ditunjang dari jumlah pegawainya yang mencapai ± 2400 orang. Dalam organisasi sebesar itu, pihak manajemen informasi sumber daya manusia (Human Resource) membutuhkan data dengan jumlah yang sangat banyak dalam kesehariannya untuk memproses segala transaksi kepegawaian, mulai dari absensi harian, penggajian, cuti, promosi, pelanggaran, dan lain-lain. Banyaknya data ini tentunya akan mempersulit proses pembuatan laporan yang mencakup seluruh data tersebut. Data-data yang digunakan untuk keperluan transaksional di atas tersimpan di dalam tabel-tabel yang jumlahnya cukup banyak. Sehingga untuk membuat suatu laporan kepegawaian yg melibatkan lebih dari satu dimensi (kriteria), maka user harus mencarinya dalam tabel-tabel yang bersangkutan dan melakukan beberapa proses join sehingga akan memakan waktu yang cukup lama. Padahal, laporan-laporan tersebut adalah dasar dari proses pengambilan keputusan yang tetntunya harus dapat dilakukan secara cepat dan akurat. Untuk dapat memenuhi tuntutan itu, dibutuhkan suatu Data Mart, yang diharapkan dapat memberi kemudahan bagi pihak manajemen SDM PT. GMF AeroAsia untuk memperoleh informasi yang sesuai untuk digunakan dalam membuat laporan kepegawaian secara cepat dan akurat.
TINJAUAN PUSTAKA Data Warehousing Menurut Bill Inmon yang dikenal sebagai “father of the Data Warehouse”, definisi dari Data Warehouse adalah : Sekumpulan/koleksi data yang mendukung pengambilan keputusan pihak manajemen yang mempunyai beberapa karakteristik sebagai berikut : a.
Subject Oriented
2
Sebuah Data Warehouse dirancang dan dibangun untuk memenuhi kebutuhan analisis data berdasarkan subjek tertentu. b.
Integrated Untuk memenuhi kebutuhan analisis secara menyeluruh, sebuah Data Warehouse harus mampu mengintegrasikan data dari berbagai sumber data yang beragam.
c.
Non Volatile Data-data dalam sebuah Data Warehouse tidak dapat diubah (tidak dapat di-update). Data-data tersebut merupakan data historis yang digunakan untuk memenuhi kebutuhan analisis, bukan untuk menangani transaksi seperti pada operasional database pada umumnya.
OLAP Database
read
add
change
Data Warehouse
delete
Operational System Application
read Decision Support System ( DSS)
Gambar 1. Hubungan antara Operational Database dan Data Warehouse
d.
Time Variant Model analisis yang diterapkan pada sebuah Data Warehouse
berfokus pada perubahan data faktual berdasarkan waktu. Dalam hal ini Data Warehouse harus mampu menyimpan data untuk sebuah subjek tertentu dalam waktu yang berbeda-beda. Data warehouse memungkinkan pengguna untuk menggabungkan data yang bersifat operasional dengan data historis yang mungkin tersimpan di sumber yang berbeda baik lokasi maupun bentuknya. Hal ini memungkinkan pengguna,
3
para eksekutif, manajer maupun analis untuk melakukan permintaan dan analisis atas data perusahaan dari berbagai dimensi yang berbeda. Data warehouse memungkinkan penggunanya untuk melakukan analisis kompleks atas data perusahaan termasuk mencari, mengumpulkan, dan memanipulasi untuk mendapatkan data dalam bentuk baru, menyaring dan menghilangkan data yang tidak dikehendaki, menggabungkannya dengan data dari sumber lain atau membuat suatu kesimpulan untuk memenuhi kebutuhan tertentu. Data operasional biasanya menjadi sumber data bagi data warehouse, yang kemudian disimpan di dalam sistem pengumpulan terpisah. Untuk membangun suatu arsitektur Data Warehouse sangat tergantung pada kebutuhan sistem (system requirements). Berbeda dengan Database Operasional, data dalam Data Warehouse digunakan untuk keperluan spesifik, umumnya berupa analisis oleh aplikasi-aplikasi dalam Executive Information System (EIS) atau Decision Support System (DSS).
Tabel fakta Adalah suatu tabel yang merupakan jantung dari star schema. Tabel fakta terdiri dari dua bagian. Bagian pertama mendefinisikan primary key yang terdiri dari primary key-primary key dari dimensi-dimensi yang ada di sekelilingnya. Bagian kedua adalah nilai-nilai numerik yang dapat diukur dalam Data Warehouse. Nilai-nilai yang dapat diukur tersebut bisa didefinisikan dan dikalkulasikan.
Tabel dimensi Dikenal sebagai look up atau reference table, berisi data yang relative statis dalam sebuah data warehouse.
Extraction Transformation Loading (ETL) Fungsi ETL adalah melakukan format ulang data-data yang relevan dari sistem sumber ke dalam informasi yang berguna dan siap disimpan ke dalam Data Warehouse.
4
a.
Extraction Ekstraksi adalah proses penyaringan data dari data sumber, atau pemilihan
data yang dibutuhkan dari data sumber untuk dimasukkan ke dalam Data Warehouse. b.
Transformation Tahap transformasi menjalankan serangkaian perintah dan fungsi dari data
yang telah di-extract untuk mendapatkan data yang sesuai yang akan di loading ke dalam Data Mart. Seperti pembersihan data, standarisasi elemen data, melakukan translasi kode, menghasilkan nilai perhitungan yang baru, melakukan proses join dari sumber yang berbeda, misalnya pada proses lookup atau merge, dan lain-lain. c.
Loading Tahap terakhir ini akan mengisi data ke dalam data warehouse.
On Line Analytical Processing (OLAP) OLAP atau On Line Analitycal Processing adalah sebuah konsep presentasi data yang memungkinkan kita melihat data dari beberapa aspek atau dimensi (multidimensional) dalam rangka melakukan analisa, yang oleh sistem diterjemahkan menjadi query pada data yang berjumlah sangat banyak. Database OLAP menggunakan data model multidimensi, yang mengijinkan query analisis yang kompleks dengan kecepatan eksekusi yang tinggi. Hasil yang dikeluarkan oleh query OLAP pada umumnya ditampilkan dalam format matrix atau pivot. Di dalam konsep OLAP digunakan dikenal istilah cube untuk model data yang terdiri dari tabel metrik (fact table) dimana data transaksional disimpan, dan tabel-tabel dimensi (dimensional tables) yang menyimpan data tentang aspekaspek atau dimensi dari data.
5
PROSES PERANCANGAN DATA MART User Requirements
Identifikasi data sumber
Tabel-tabel data sumber
Proses ETL Extract
Tabel dan field yang sesuai dengan user requirement
Transform Memformat data, joining tabel, membuat tabel fakta dan dimensi, enrichment data
Load
Fact table
Dimension table
6
Membangun Cube
CUBE DATA MART
Mengakses Data Mart
1
2
3
4
5
Bar graph
Gambar 2.
Alur Proses Perancangan Data Mart
Narasi alur proses perancangan Data Mart di atas adalah sebagai berikut: 1. Langkah pertama adalah mengidentifikasi tabel-tabel pada data sumber yang memuat data-data yang dibutuhkan untuk metrik dan dimensi yang telah ditetapkan sesuai kebutuhan user (user requirements). 2. Data-data tersebut kemudian dimasukkan ke dalam staging area, hal ini dimaksudkan agar proses ETL yang akan dilakukan terhadap data-data tersebut tidak mengganggu proses transaksi OLTP yang sedang berlangsung. Staging area yang digunakan pada kasus ini adalah SQL Server 2000, dan databasenya adalah HR. •
Dalam database HR tersebut dilakukan proses ETL. Pertama, datadata dalam tabel diekstraksi, yaitu dipilih field-field yang dibutuhkan yang sesuai dengan metrik dan dimensi pada user requirements, sedangkan field-field yang tidak dibutuhkan diabaikan atau dibuang.
7
•
Selanjutnya dilakukan proses transformasi terhadap data-data terpilih itu. Data-data tersebut diproses menjadi bentuk yang diinginkan untuk kemudian dimasukkan ke Data Mart. - Proses transformasi yang pertama adalah memformat data, yaitu menentukan tipe data pada setiap field. - Selanjutnya adalah proses joining antara tabel Masa_bakti dan tabel Turn_over agar dapat diketahui pegawai mana yang masih aktif dan yang sudah tidak aktif di perusahaan. - Membuat tabel-tabel fakta dan tabel-tabel dimensi sesuai dengan user requirements yang telah ditentukan. - Kemudian pada tabel-tabel fakta dan dimensi tersebut ditambahkan beberapa field turunan, yaitu field-field yang diturunkan (dihasilkan) dari perhitungan field-field lain, misalnya MKA, Sisa MKA, dan usia pegawai. Selain itu juga ditambahkan surrogate key (key pengganti) dan field of 1’s.
•
Setelah ditransform, data-data tersebut lalu diisikan ke dalam tabeltabel fakta dan dimensi yang telah dibuat.
3. Data-data yang telah tersimpan dalam tabel fakta dan dimensi itu kemudian diubah menjadi bentuk data yang multidimensi yang dapat dilihat dari segala sudut sehingga dapat diakses oleh client untuk keperluan analisis. Proses ini menggunakan query-query SQL dan divisualisasikan menjadi aplikasi sehingga memudahkan user dalam melihat data-data di data mart.
Analysis User Requirements Pada perancangan Data Mart ini, manajemen operasional Sumber Daya Manusia GMF dibagi menjadi 3 sub modul, yaitu Personnel Administration, Leave Administration, dan Payroll.
8
Berikut adalah kebutuhan-kebutuhan bisnis (user business requirements) dari masing-masing sub modul tersebut yang dibutuhkan oleh manajer untuk keperluan analisis. Tabel 1. User Requirements Sub Modul
Requirements
Keterangan Informasi
data-data
pribadi
pegawai (mulai dari nama, tgl lahir, Data-data pribadi pegawai
usia, jenis kelamin,dan lain-lain). Dikelompokkan
berdasarkan
jabatan/unit, grade, masa bakti, dan lain-lain. Informasi Pendidikan pegawai
pendidikan
terakhir
pegawai. Dikelompokkan
berdasarkan
jabatan/unit. Alamat pegawai Personnel Administration
Informasi sebaran tempat tinggal pegawai. Informasi masa bakti pegawai.
Masa bakti
Dikelompokkan
berdasarkan
jabatan/unit, usia, jenis kelamin, dan lain-lain. Jumlah
pegawai
yang
masih
aktif/masih bekerja di perusahaan. Jumlah pegawai aktif
Dikelompokkan jabatan/unit,
masa
berdasarkan bakti,
jenis
kelamin, usia, dan lain-lain. Informasi pegawai yang pensiun Pensiun
bulan ini. Dikelompokkan
berdasarkan
jabatan/unit, masa bakti, usia. Turn over
Jumlah
pegawai
yang
mengundurkan diri.
9
Dikelompokkan
berdasarkan
jabatan/unit, alasan, jenis kelamin. Informasi pegawai yang melakukan pelanggaran, Informasi pelanggaran
jenis
pelanggaran,
sanksi, dan lain-lain. Dikelompokkan
berdasarkan
jabatan/unit, grade, jenis kelamin. Informasi pegawai yang menerima Informasi penghargaan
penghargaan tahun ini. Dikelompokkan
berdasarkan
jabatan/unit, masa bakti, usia. Jumlah pegawai yang mendapat promosi. Promosi
Dikelompokkan
berdasarkan
jabatan/unit, grade, masa bakti, usia, jenis kelamin. Jumlah pegawai yang di demosi. Demosi
Dikelompokkan
berdasarkan
jabatan/unit, grade, masa bakti, usia, jenis kelamin. Rata-rata
Cuti tahunan
cuti
tahunan
diambil pegawai setiap tahunnya. Dikelompokkan
berdasarkan
Leave
jabatan/unit, masa bakti.
Administration
Rata-rata Cuti istimewa
yang
cuti
istimewa
yang
diambil pegawai setiap tahunnya. Dikelompokkan
berdasarkan
jabatan/unit, alasan. Gaji Pokok Payroll
Informasi gaji pokok pegawai. Dikelompokkan berdasarkan grade. Informasi tunjangan yang di dapat
Tunjangan Jabatan
oleh pegawai-pegawai yang berada di
tingkat
manajer
ke
atas
10
(tunjangan jabatan). Rata-rata
uang
transport
yang
dikeluarkan setiap bulan.
Uang Transport
Dikelompokkan
berdasarkan
jabatan/unit. Rata-rata
biaya overtime yang
harus dikeluarkan setiap bulan.
Biaya Overtime
Dikelompokkan
berdasarkan
jabatan/unit. Total pendapatan pegawai yang harus dibayarkan setiap bulan.
Pendapatan Pegawai
Dikelompokkn
berdasarkan
jabatan/unit.
Metrik dan Dimensi Dari user requirements tersebut dilakukan analisa untuk menentukan metrik dan dimensi yang sesuai. Metrik adalah data yang berupa besaran yang nilainya dapat dikalkulasikan, sedangkan dimensi adalah kategori dari mana / berdasarkan apa data metrik tersebut dilihat. Berikut ini adalah metrik-metrik beserta satuan ukuran yang digunakan untuk setiap sub modul.
Tabel 2. Metrics Sub Modul
Personnel Administration
Personnel Action
Metrik
Ukuran
MKA (Now)
Tahun
MKA (Pensiun)
Tahun
MKA (Turnover)
Tahun
Sisa MKA
Tahun
Jumlah Pelanggaran
Orang
Jumlah Pegawai Yang Mendapat Orang
11
Penghargaan
Leave
Payroll
Jumlah Promosi, Demosi
Orang
Lama Cuti
Hari
Gaji Pokok Pegawai
Rupiah
Uang Transport
Rupiah
Uang Overtime
Rupiah
Tunjangan Jabatan
Rupiah
Pendapatan Pegawai
Rupiah
Sedangkan tabel di bawah ini berisi dimensi-dimensi dari setiap sub modul di atas. Tabel 3. Dimensions Sub Modul
Dimensi Data Pribadi Pegawai
Keterangan Dapat digunakan untuk melihat demografi pegawai berdasarkan data pribadi. Misalkan ingin dilihat sebaran tempat
Personnel
tinggal
pegawai
berdasarkan jenis kelamin, atau
Administration
informasi pegawai berdasarkan pendidikan berdasarkan
terakhirnya, usia
atau
status
perkawinan. Informasi Jabatan
Informasi jabatan pegawai, unit, grade, dan lain-lain.
Personnel Action
Pelanggaran
Informasi
waktu
terjadinya
pelanggaran, jenis pelanggaran, dan
pegawai-pegawai
yang
melakukan pelanggaran. Penghargaan
Memperlihatkan
informasi
penghargaan
yang
diberikan
kepada
pegawai,
perusahaan
12
bentuk penghargaan, dan siapa saja
pegawai
yang
mendapat
penghargaan, serta alasannya. Promosi, Demosi
Memperlihatkan waktu terjadinya promosi, demosi dan data-data pegawai
yang
mendapatkan
promosi dan demosi tersebut. Informasi cuti pegawai
Dapat digunakan untuk melihat informasi
Leave Administration
cuti
pegawai
berdasarkan jenis cuti, waktu pengambilan cuti.
Payroll
Informasi gaji pegawai
Gaji pegawai, periode penggajian
Informasi tunjangan
Tunjangan
jabatan,
uang
transport, overtime.
Identifikasi Tabel-Tabel Data Sumber Berikut adalah tabel-tabel yang menyimpan semua data yang dibutuhkan untuk proses ETL. Tabel 4. Tabel-tabel data sumber Tabel Personnel_info Field Name
Note
Emp_no
Nomer induk pegawai
Name
Nama pegawai
Place_of_Birth
Tempat lahir pegawai
Date_of_Birth
Tanggal lahir pegawai
Age
Usia pegawai
Sex
Jenis kelamin pegawai
Religion
Agama pegawai
Marital_status
Status perkawinan pegawai
13
Last_education_level
Pendidikan terakhir pegawai Bidang pendidikan terakhir
Major
pegawai
Last_education_institution_name
Instansi pendidikan terakhir pegawai
Tabel Address Field Name
Note
Emp_no
Nomer induk pegawai
Name
Nama pegawai
Address
Alamat lengkap pegawai
City
Kota tempat tinggal pegawai
Province
Provinsi tempat tinggal pegawai
Zip_code
Kode pos tempat tinggal pegawai
Phone
Nomer telepon pegawai
Email
Alamat email pegawai
Tabel Masa_bakti Field Name
Note
Emp_no
Nomer induk pegawai
Name
Nama pegawai Tanggal diterimanya pegawai di
Join_date
perusahaan
Retired_date
Tanggal pensiun pegawai Usia pensiun pegawai (semua
Retired_age
pegawai akan pensiun di usia 56 tahun
Tabel Turn_over Field Name
Note
14
Emp_no
Nomer induk pegawai
Name
Nama pegawai Tanggal diterimanya pegawai di
Join_date
perusahaan
Turnover_date
Reason_for_turnover
Tanggal pegawai keluar dari perusahaan Alasan pegawai keluar dari perusahaan
Tabel Emp_position Field Name
Note
Emp_no
Nomer induk pegawai
Name
Nama pegawai
Position
Jabatan pegawai
Unit_dinas_code
Kode unit dinas
Unit_bidang_code
Kode unit bidang
Unit_seksi_code
Kode unit seksi
Rumpun
Jenis jabatan
Position_group
Kelompok jabatan
Job_type
Tipe pekerjaan (direct / indirect)
Grade
Golongan
Valid_from
Terhitung mulai tanggal pegawai menempati jabatan tertentu
Tabel Unit_dinas Field Name
Note
Unit_dinas_code
Kode unit dinas
Unit_dinas
Nama unit dinas
Tabel Unit_bidang
15
Field Name
Note
Unit_bidang_code
Kode unit bidang
Unit_bidang
Nama unit bidang
Tabel Unit_seksi Field Name
Note
Unit_seksi_code
Kode unit seksi
Unit_seksi
Nama unit seksi
Tabel Pers_action Field Name
Note
Emp_no
Nomer induk pegawai
Name
Nama pegawai
Unit_seksi_code
Kode unit seksi
Act_date
Tanggal promosi atau demosi
Act_type
Tipe action (promosi / demosi)
Reason_for_act
Alasan dilakukannya promosi atau demosi
Tabel Award Field Name
Note
Emp_no
Nomer induk pegawai
Name
Nama pegawai Tanggal diberikannya
Award_date
penghargan (pada saat ulang tahun GMF)
Award_name Reason_for_award Award_prize
Nama penghargaan Alasan diberikannya penghargaan Bentuk penghargaan
16
Tabel Violation Field Name
Note
Emp_no
Nomer induk pegawai
Name
Nama pegawai
Incident_date
Tanggal terjadinya pelanggaran
Reference
Referensi
Violation
Nama pelanggaran
Violation_level
Tingkat pelanggrana
Sanction
Sanksi yang diberikan Status kasus (apakah sudah
Status
selesai, masih dlam proses, atau ditunda)
Tabel Leave Field Name
Note
Emp_no
Nomer induk pegawai
Name
Nama pegawai
Start_date
Tanggal mulai cuti
End_date
Tanggal cuti beakhir
Leave_total
Total cuti (berapa hari)
Leave_type
Jenis cuti
Leave_name
Nama cuti
Tabel Absence Field Name
Note
Periode
Periode penggajian
Emp_no
Nomer induk pegawai
Name
Nama pegawai
Unit_seksi_code
Kode unit seksi
17
Plann_W_Days
Jumlah hari kerja per bulan
Attendance
Total kehadiran per bulan
Business_trip
Total perjalanan bisnis per bulan
Training
Total training per bulan
Leave
Total cuti per bulan
Other_absence
Overtime_Hours
Total ketidakhadiran lainnya per bulan Total overtime per bulan (dalam hitungan jam) Total jam kerja ekstra diluar
Extra_vooding
overtime per bulan (00.00 am 06.00 am) (dalam hitungan jam)
Remark
Tabel Allowance Field Name
Note
Position_group
Kelompok jabatan
Allowance
Besar tunjangan
Tabel Salary Field Name
Note
Salary_code
Kode gaji
Grade
Golongan
Rumpun
Jenis jabatan
Position_group
Kelompok jabatan
Min_salary
Gaji minimal
Max_salary
Gaji maksimal
Salary
Besar gaji
18
Extraction, Transformation, and Loading (ETL)
Proses ETL (Extraction, Transformation, and Loading Data Sumber
Tabel A
Transformation
Tabel B Extraction Memilih field-field pada tabel-tabel data sumber sesuai dengan kebutuhan. Tabel C
Menentukan tipe data pada setiap field yang telah dipilih (tipe data sql), Joining tabel Masa_bakti dan tabel Turn_over, Membuat field-field turunan (MKA_Retired,MKA_Turno ver,MKA_Now,Sisa_MKA Membuat tabel-tabel fakta dan dimensi, Menambahkan surrogate key (key pengganti) dan field of 1's.
Loading Mengisikan data ke tabel fakta dan dimensi yang telah dibuat.
Data Mart
Tabel D
Gambar 3.
Proses Extraction, Transformation, and Loading
a. Extraction Tabel-tabel pada data sumber yang telah diidentifikasi selanjutnya di-extract atau dipilih field-field apa saja yang dibutuhkan untuk di load ke dalam tabel-tabel fakta dan dimensi. Sehingga tidak semua data dalam data sumber dimasukkan ke dalam data mart, tatapi hanya data-data yang mempunyai relevansi dengan user requirements saja.
Tabel 5. Tabel-tabel beserta field yang telah diekstraksi Field Name
Tabel Personnel_info Type
Emp_no
Varchar(6)
Name
Varchar(255)
Note Primary key
19
Place_of_Birth
Varchar(255)
Date_of_Birth
Datetime
Age
Int
Sex
Varchar(255)
Religion
Varchar(255)
Marital_status
Varchar(255)
Last_education_level
Varchar(255)
Major
Varchar(255)
Last_education_institution_name Varchar(255)
Field Name
Tabel Address Type
Emp_no
Varchar(6)
Address
Varchar(255)
City
Varchar(255)
Province
Varchar(255)
Zip_code
Varchar(5)
Phone
Varchar(255)
Email
Varchar(255)
Field Name
Tabel Masa_bakti Type
Emp_no
Varchar(6)
Join_date
Datetime
Retired_date
Datetime
Field Name
Tabel Turn_over Type
Emp_no
Varchar(6)
Turnover_date
Datetime
Reason_for_turnover
Varchar(255)
Note Primary key
Note Primary key
Note Primary key
20
Field Name
Tabel Emp_position Type
Emp_no
Varchar(6)
Position
Varchar(255)
Unit_dinas_code
Varchar(5)
Unit_bidang_code
Varchar(6)
Unit_seksi_code
Varchar(15)
Rumpun
Varchar(255)
Position_group
Varchar(255)
Job_type
Varchar(255)
Grade
Varchar(2)
Valid_from
Datetime
Field Name
Tabel Pers_action Type
Emp_no
Varchar(6)
Act_date
Datetime
Act_code
Varchar(2)
Act_type
Varchar(255)
Reason_for_act
Varchar(255)
Last_position
Varchar(255)
Last_position_group
Varchar(255)
Last_rumpun
Varchar(255)
Last_unit_dinas
Varchar(255)
Last_unit_bidang
Varchar(255)
Last_unit_seksi
Varchar(255)
Last_grade
Varchar(2)
Last_job_type
Varchar(255)
Last_salary
Money
New_position
Varchar(255)
New_position_group
Varchar(255)
Note Primary key
Note Primary key
21
New_rumpun
Varchar(255)
New_unit_dinas
Varchar(255)
New_unit_bidang
Varchar(255)
New_unit_seksi
Varchar(255)
New_grade
Varchar(2)
New_job_type
Varchar(255)
New_salary
Money
Field Name
Tabel Award Type
Emp_no
Varchar(6)
Award_date
Datetime
Award_name
Varchar(255)
Reason_for_award
Varchar(255)
Award_prize
Varchar(255)
Field Name
Tabel Violation Type
Emp_no
Varchar(6)
Incident_date
Datetime
Reference
Varchar(255)
Violation
Varchar(255)
Violation_level
Varchar(2)
Sanction
Varchar(255)
Status
Varchar(255)
Field Name
Tabel Leave Type
Emp_no
Varchar(6)
Start_date
Datetime
End_date
Datetime
Leave_total
Int
Note Primary key
Note Primary key
Note Primary key
22
Leave_type
Varchar(255)
Leave_name
Varchar(255)
Field Name
Tabel Absence Type
Periode
Datetime
Emp_no
Varchar(6)
Plann_W_Days
Int Int
Attendance Business_trip
Int
Training
Int
Leave
Int
Other_absence
Int
Overtime_Hours
Int
Field Name
Tabel Allowance Type
Position_group
Varchar(255)
Allowance
Money
Field Name
Tabel Salary Type
Salary_code
int
Grade
Varchar(2)
Rumpun
Varchar(2)
Position_group
Varchar(3)
Min_salary
Money
Max_salary
Money
Salary
Money
Note Primary key
= Plann_W_Days – (Business_trip + Training + Leave + Other_absence)
Note Primary key
Note
23
b. Transformation Setelah data di-extract, proses selanjutnya adalah transformasi data yaitu proses mengubah data menjadi bentuk yang sesuai dengan kebutuhan. Beberapa proses transformasi yang akan dilakukan pada perancangan data mart HR ini, yaitu : i. Memberikan tipe data Proses memberikan tipe data pada setiap field dapat juga dilakukan pada saat ekstraksi data. Sedangkan pada proses transformasi ini dilakukan lagi pemeriksaan terhadap semua tipe data untuk menghindari terjadinya perbedaan tipe data untuk data yang sama. ii. Enrichment Data Enrichment data adalah proses menambahkan field baru pada suatu tabel, sesuai dengan user requirements. - Enrichment data MKA_Retired Pada
tabel
Masa_bakti,
perlu
ditambahkan
field
MKA_Retired.
MKA_Retired ini diperlukan untuk menghitung sisa masa bakti pegawai. MKA_Retired ini didapat dari pengurangan antara Retired_date dengan Join_date. Sedangkan Retired_date di dapat dari penyesuaian usia pegawai, apabila usia pegawai sudah mencapai 56 tahun, maka pada tahun tesebut pegawai pensiun. -Enrichment data MKA_Turnover Pada tabel Turn_over, perlu ditambahkan field MKA_Turnover. MKA_Turnover ini diperlukan untuk menghitung total masa bakti pegawai selama bekerja di perusahaan,. MKA_Turnover ini didapat dari pengurangan antara Turnover_date dengan Join_date. iii.
Joining tabel Masa_bakti dengan tabel Turn_over Tabel Masa_bakti di-join dengan tabel Turn_over untuk mengetahui siapa
saja pegawai yang masih aktif bekerja di perusahaan dan yang sudah tidak aktif. Proses joining ini dilakukan dengan membangun view pada kedua tabel tersebut dengan menghubungkan field Emp_no di antara keduanya. Proses joining ini dilakukan pada saat mengisikan data ke dalam data mart. iv.
M embuat Fact Table dan Dimension Table
24
Tabel fakta dan tabel-tabel dimensi yang dibuat ini disesuaikan dengan metrik dan dimensi yang telah ditentukan pada user requirements. v.
Menambahkan field MKA_Now dan Sisa_MKA Pada tabel Dim_MasaBakti, ditambahkan field baru yaitu MKA_Now, yang
merupakan total masa kerja aktif pegawai di perusahaan, dan Sisa_MKA yang merupakan sisa masa kerja aktif yang dimiliki pegawai sebelum pegawai tersebut pensiun. vi.
Menambahkan field ‘Salary’ yang ada di tabel Salary ke tabel Dim_Emp_position Proses dilakukan untuk memberikan informasi gaji setiap pegawai.
Besarnya gaji pegawai ditentukan dengan melihat pada golongan, rumpun, dan kelompok jabatan seorang pegawai. vii.
Enrichment ‘Count’ Data Pada tabel Fact_Award, Fact_Violation, dan Fact_Action dibutuhkan suatu
field (bernama ‘Count’) yang tiap recordnya berisi angka 1, yang mampu menjumlahkan data berdasarkan kriteria tertentu. Misalnya, pada tabel Fact_Action, ingin diketahui barapa jumlah pegawai yang mendapat promosi selama tahun 2005. Untuk dapat dilakukan agregasi terhadap data tersebut, perlu ditambahkan field of 1’s ini. Sehingga ‘Count’ data dapat dengan mudah teragregasi berdasarkan dimensi ‘Promosi’ dan ‘2005’.
c. Loading Apabila data-data yang telah diekstraksi selesai dibentuk melalui proses transformasi, selanjutnya akan diisikan (load) ke dalam database DataMart HR. Karena ini adalah proses loading untuk yang pertama kali, maka metode yang digunakan adalah Refresh mode, pada proses ini seluruh data yang telah di-extract dan di-transform dimasukkan ke dalam tabel-tabel fakta dan dimensi yang telah dibuat.
25
MODEL SKEMA DATA Model skema data yang digunakan dalam data mart ini adalah model snowflake, karena ada beberapa tabel dimensi yang primary key-nya tidak menjadi foreign key di fact table, melainkan menjadi foreign key di dimension table lainnya. Terdapat 5 fact table yang masing-masing skemanya adalah sebagai berikut. a. Leave
Gambar 4.2 Snowflake schema untuk Leave
b. Violation
Gambar 4.3 Snowflake schema untuk Violation
26
c. Payroll
Gambar 4.4 Snowflake schema untuk Payroll
d. Award
Gambar 4.5 Snowflake schema untuk Award
e. Personnel Action
27
Gambar 4.6 Snowflake schema untuk Personnel Action
Mengakses Datamart Menggunakan “HR Application” Dalam aplikasi ini penulis mencoba mempermudah user dengan memberikan tampilan program yang ‘user friendly’, yaitu user diberi hak untuk memilih sendiri data (field) apa saja yang ingin ditampilkan dan berdasarkan kriteria apa/bagaimana data tersebut ditampilkan. Sehingga user dapat mengakses data human resource sesuai dengan apa yang diinginkannya dengan cepat dan mudah, tanpa perlu melakukan joining tabel yang satu dan lainnya. Data yang akan diterima user dari aplikasi ini adalah data dalam bentuk tabel (grid) atau grafik (chart). Selain itu, aplikasi ini juga dilengkapi fasilitas untuk membuat laporan, baik per hari, per bulan, maupun per tahun.
28
KESIMPULAN & SARAN Data mart yang dibangun dalam penulisan tugas akhir ini, dispesifikasikan untuk memenuhi kebutuhan manajemen sumber daya manusia akan informasiinformasi yang bersifat akurat, terkini, maupun yang bersifat historical. Informasiinformasi tersebut dapat digunakan untuk membantu mempercepat pembuatan laporan kepegawaian, seperti misalnya laporan pengeluaran perusahaan untuk gaji pegawai selama tahun 2006 atau pada bulan-bulan tertentu yang dikehendaki. Data-data yang digunakan dalam pembuatan data mart ini adalah data-data pegawai PT. GMF AeroAsia pada bulan januari 2005 sampai mei 2007. Data-data tersebut bersifat real, namun untuk data payroll (penggajian) yang disajikan adalah data fiktif, hal ini dilakukan demi menjaga kerahasiaan perusahaan. Beberapa manfaat yang didapat dari pembuatan data mart ini adalah: 1. Meningkatkan nilai data yang dikelola, user dapat melihat data dengan pemahaman yang baik karena kemampuan data mart yang mampu mengerjakan peringkasan (filtering) dan perbandingan data dengan baik. 2. Meningkatkan efisiensi memperoleh informasi, karena data mart dapat menyajikan data yang diinginkan dengan waktu yang relative cepat dan mudah. 3. Meningkatkan akurasi informasi yang disajikan. Untuk pemakai yang ingin mengembangkan aplikasi ini disarankan menggunakan pivot tabel sebagai pengganti grid sehingga data yang ditampilkan dapat dibaca lebih baik dan lebih bermanfaat untuk proses analisis.
DAFTAR PUSTAKA 1. Abdul Razaq, Belajar Praktis Pemrograman Microsoft Visual Basic 6.0, Penerbit INDAH, Jakarta, 2004. 2. Adi Laksono, 7 Jam Belajar Excel 2003 Untuk Orang Awam, Maxicom, Palembang, 2004.
29
3. Alex Ferdinansyah, Perancangan Data Mart Untuk Pengelolaan Sumber Daya Manusia, Tesis Fakultas Ilmu Komputer Universitas Indonesia, 2006. 4. Harip Santoso, Pemrograman Client-Server menggunakan SQL Server 2000 dan Visual Basic 6.0, Elex Media Komputindo, Jakarta, 2004. 5. Harip Santoso, Membuat Multiaplikasi menggunakan Visual Basic 6.0, Elex Media Komputindo, Jakarta, 2004. 6. Ir. Yuniar Supardi, Microsoft Visual Basic Untuk Segala Tingkat, Elex Media Komputino, Jakarta, 2006. 7. Kasmoni, Visual Basic Untuk Orang Awam, Maxicom, Palembang, 2003. 8. Melaniawati, Perancangan Data Warehouse Sistem Pembelian dan Penjualan Pada PD Raya Makmur Motor, Skripsi Fakultas Ilmu Komputer Universitas Gunadarma, 2001. 9. PC Media Majalah, Edisi 06/2007, Hal 100 – 103. 10. Rumus dan Fungsi Pada Microsoft Excel [Versi 97, 2000, XP, 2003], Penerbit ANDI dan MADCOMS, Yogyakarta dan Madiun, 2004. 11. Tikno Riyanto, Pengembangan Data Warehouse Untuk Mendukung Pengambilan Keputusan Dalam Mengelola Sumber Daya Manusia (SDM) : Sebuah studi kasus TNI Angkatan Udara, Tesis Fakultas Ilmu Komputer Universitas Indonesia, 2006. 12. Yuswanto dan Subari, Mengolah Database dengan SQL Server 2000, Prestasi Pustaka, Jakarta, 2005.
30