78
BAB IV PERANCANGAN DAN IMPLEMENTAS I 4.1 Perancangan Sistem Basis Data Perancangan sistem basis data dibagi menjadi 3 tahap yaitu perancangan basis data konseptual, perancangan basis data logikal, dan perancangan basis data fisikal. 4.1.1 Perancangan Basis Data Konseptual Perancangan basis data konseptual merupakan proses pembuatan model data konseptual menggunakan hasil analisis transaksi dan pengumpulan persyaratan aplikasi yang telah digunakan sebelumnya. Perancangan basis data konseptual terdiri dari beberapa langkah, yaitu: 4.1.1.1 Mengidentifikasi Tipe Entitas Berikut ini merupakan tabel yang menjelaskan entitas – entitas yang diperlukan dalam perancangan basis data. Tabel 4.1 Tabel Tipe Entitas Nama Entititas
Deskripsi
Alias
Pegawai
M endeskripsikan informasi
Pegawai
Absensi
Kejadian Setiap
pegawai
yang
mengenai pegawai secara
bekerja di Firma Hukum
lengkap
NSM P.
M endeskripsikan infromasi mengenai
absensi
yang
dilakukan oleh pegawai
Absensi
Setiap
pegawai
yang
bekerja di Firma Hukum NSM P yang melakukan proses absensi.
Cuti
M endeskripsikan infromasi mengenai
cuti
Cuti
yang
Setiap
pegawai
yang
bekerja di Firma Hukum
diambil oleh pegawai
NSM P yang mengambil cuti.
Pelatihan
M endeskripsikan informasi mengenai
Pelatihan
pelatihan
Setiap
pegawai
berhak
pegawai
pelatihan
yang
mengikuti dari
Firma
Hukum NSM P. Gaji
Penilaian
PutusKerja
M endeskripsikan informasi
Setiap
pegawai
yang
mengenai proses gaji untuk
mendapatkan
pegawai
Firma Hukum NSM P.
M endeskripsikan informasi
dari
pegawai
mengenai penilaian kinerja
dinilai
kinerjanya
pegawai
Firma Hukum NSM P.
M endeskripsikan informasi
hubungan
pemutusan kerja
dengan
pegawai
Penilaian
gaji
Setiap
mengenai
PutusKerja Setiap
pegawai
diberhentikan pensiun
dari
Hukum NSM P.
79
Gaji
yang di
yang atau Firma
4.1.1.2 Mengidentifikasi Tipe – Tipe Relasi Tahapan ini bertujuan untuk menentukan hubungan dari masing – masing entitas dengan entitas lainnya yang sesuai. Langkah – langkah dalam menentukan tipe hubungan yaitu: a. M enentukan batasan multiplicity dari tipe hubungan
Tabel 4.2 Tabel Hubungan Antar Entitas Nama Entitas
Multiplicity
Pegawai
1..1
M elakukan
Absensi
1..*
Pegawai
1..1
M engambil
Cuti
1..*
Pegawai
1..1
M engikuti
Pelatihan
1..*
Pegawai
1..1
M endapatkan
Gaji
1..*
Pegawai
1..1
M endapatkan
Penilaian
1..*
Pegawai
1..1
M endapatkan
PutusKerja
1..1
Relationship
80
Nama Entitas
Multiplicity
b. Entity relationship Diagram (ERD) Berdasarkan hubungan antar entitas yang sudah dibuat, dapat dibuat ERD sebagai berikut:
Gambar 4.1 Entity Relationship Diagram (ERD) Konseptual dengan Relationship
81
4.1.1.3 Mengidentifikasi dan Mengasosiasikan Atribut suatu Entitas Tabel 4.3 Tabel Atribut Entitas Pegawai Atribut
Deskripsi
Tipe
Length
Nulls
Multivalued
Varchar
5
No
No
Data NIP
Secara unik mengidentifikasi pegawai
Nama
Nama pegawai
Varchar
50
No
No
TempatLahir
Tempat lahir
Varchar
20
No
No
Datetime
-
No
No
Char
1
No
No
pegawai TglLahir
Tanggal lahir pegawai
JenisKelamin
Jenis kelamin pegawai
Agama
Agama pegawai
Varchar
10
No
No
Alamat
Alamat tempat
Varchar
100
No
No
Varchar
3
No
No
Varchar
3
No
No
Varchar
20
No
No
tinggal pegawai RT
No RT dari tempat tinggal pegawai
RW
No RW dari tempat tinggal pegawai
Kelurahan
Kelarahan tempat tinggal pegawai
82
Kecamatan
Kecamatan tempat
Varchar
20
No
No
Varchar
20
No
No
Varchar
5
No
No
Varchar
15
No
Yes
Varchar
5
No
No
tinggal pegawai Kota
Kota tempat tinggal pegawai
KodePos
Kode pos tempat tinggal pegawai
Telp
Nomor telepon pegawai
KodeJabatan
Secara unik mengidentifikasi jabatan pegawai
Jabatan
Jabatan pegawai
Varchar
50
No
No
KodeTanggungan
Secara unik
Varchar
5
No
Yes
Varchar
50
No
Yes
Varchar
20
No
Yes
Datetime
-
No
Yes
Char
1
No
Yes
mengidentifikasi tanggungan pegawai NamaTanggungan Nama tanggungan dari pegawai TempatlLahirTgn
Tempat lahir dari tanggungan pegawai
TglLahirTgn
Tanggal lahir dari tanggungan pegawai
JenisKelaminT gn
Jenis kelamin dari tanggungan pegawai
83
HubunganTgn
Hubungan
Varchar
10
No
Yes
Varchar
20
No
Yes
Varchar
50
No
Yes
Varchar
50
No
Yes
Varchar
50
No
Yes
Varchar
50
No
Yes
Int
11
No
Yes
Varchar
15
No
No
Varchar
10
No
No
tanggungan dengan pegawai PekerjaanT gn
Pekerjaan tanggungan pegawai
Pendidikan
Pendidikan terakhir pegawai
Institusi
Nama institusi pendidikan pegawai
Jurusan
Jurusan pendidikan pegawai
Periode
Periode pendidikan pegawai
NilaiAkhir
Nilai terakhir dari pendidikan pegawai
StatusPernikahan
Status pernikahan pegawai
StatusPegawai
Status pegawai di perusahaan
84
Tabel 4.4 Tabel Atribut Entitas Absensi Atribut
Deskripsi
Tipe
Length
Nulls
Multivalued
Varchar
5
No
No
Datetime
-
No
No
Datetime
-
No
No
Datetime
-
No
No
Int
11
No
No
varchar
100
Yes
No
Data KodeAbsensi
Secara unik mengidentifikasi absensi yang dilakukan pegawai
TglAbsensi
Tanggal pegawai melakukan absensi
JamDatang
Jam saat pegawai datang
JamPulang
Jam saat pegawai pulang
TotalJamKerja
Total waktu kerja pegawai
KetAbsensi
Keterangan absensi
85
Tabel 4.5 Tabel Atribut Entitas Cuti Atribut
Deskripsi
Tipe
Length
Nulls
Multivalued
Varchar
5
No
No
Varchar
5
No
No
Varchar
50
No
No
Datetime
-
No
No
Datetime
-
No
No
Int
11
No
No
Varchar
100
Yes
No
Data KodeCuti
Secara unik mengidentifikasi cuti yang diambil pegawai
KodeJenisCuti
Secara unik mengidentifikasi jenis cuti yang diambil pegawai
JenisCuti
Jenis cuti yang diambil pegawai
TglM ulaiCuti
Tanggal dimulainya cuti
TglSelesaiCuti
Tanggal selesainya cuti
LamaCuti
Lamanya pegawai mengambil cuti
KetCuti
Keterangan pengambilan cuti oleh pegawai
86
Tabel 4.6 Tabel Atribut Entitas Pelatihan Atribut
Deskripsi
Tipe
Length
Nulls
Multivalued
Varchar
5
No
No
Varchar
5
No
No
varchar
50
No
No
Varchar
100
No
No
Datetime
-
No
No
Datetime
-
No
No
Int
11
No
No
Varchar
100
Yes
No
Data KodePelatihan
Secara unik mengidentifikasi pelatihan yang diikuti pegawai
KodeJenisPelatihan
Secara unik mengidentifikasi jenis pelatihan yang diikuti pegawai
JenisPelatihan
Jenis pelatihan yang diikuti pegawai
NamaPelatihan
Nama pelatihan yang diikuti pegawai
TglM ulai
Tanggal mulai pelatihan
TglSelesai
Tanggal selesainya pelatihan
LamaPelatihan
Lamanya pelatihan yang diikuti pegawai
KetPelatihan
Keterangan pelatihan yang diikuti pegawai
87
Tabel 4.7 Tabel Atribut Entitas Gaji Atribut
Deskripsi
Tipe
Length
Nulls
Multivalued
Varchar
5
No
No
Data Kode Gaji
Secara unik mendidentifikasi gaji pegawai
GajiPokok
Gaji pokok pegawai
Int
11
No
No
Insentif
Tambahan gaji
Int
11
No
No
Int
11
No
No
Int
11
No
No
Datetime
-
No
No
Datetime
-
No
No
Varchar
100
Yes
No
pegawai Transportasi
Uang transportasi pegawai
TotalGaji
Total gaji yang diterima pegawai
TglProsesGaji
Tanggal proses pemberian gaji
TglTerimaGaji
Tanggal penerimaan gaji oleh pegawai
KetGaji
Keterangan gaji pegawai
88
Tabel 4.8 Tabel Atribut Entitas Penilaian Atribut
Deskripsi
Tipe
Length
Nulls
Multivalued
Varchar
5
No
No
Varchar
100
No
No
Varchar
100
No
No
Varchar
100
No
No
Datetime
-
No
No
Varchar
100
Yes
No
Data KodePenilaian
Secara unik mengidentifikasi penilaian pegawai
Perilaku
Sikap atau perilaku pegawai
Keahlian
Keahlian yang dimiliki pegawai
HasilKerja
Hasil dari penilaian kerja pegawai
TglPenilaian
Tanggal penilaian kerja pegawai
KetPenilaian
Keterangan penilaian kerja pegawai
89
Tabel 4.9 Tabel Atribut Entitas Putus Kerja Atribut
Deskripsi
Tipe
Length
Nulls
Multivalued
Varchar
5
No
No
Varchar
5
No
No
Datetime
-
No
No
Datetime
-
No
No
Varchar
100
Yes
No
Data KodePutusKerja
Secara unik mengidentifikasi pemutusan kerja pegawai
KodeJenisPutusKerja Secara unik mengidentifikasi jenis pemutusan kerja pegawai TglProsesPutusKerja
Tanggal proses pemutusan kerja
TglPutusKerja
Tanggal pemutusan kerja dengan pegawai
KetPutusKerja
Keterangan pemutusan kerja
90
4.1.1.4 Menentukan Domain Atribut Tahap ini bertujuan untuk menentukan domain dari atribut – atribut pada model data konseptual. Tabel 4.10 Tabel Domain Atribut Pegawai Atribut
Domain Value
NIP
Range Value 16000-16999
Nama
Range Value a-z, A-Z
TempatLahir
Range Value a-z, A-Z
TglLahir
Range Value 0-9, ‘/’
JenisKelamin
Range Value L atau P
Agama
Range Value a-z, A-Z
Alamat
Range Value a-z, A-Z, ‘,’, ‘,’
RT
Range Value 0-9
RW
Range Value 0-9
Kelurahan
Range Value a-z, A-Z, ‘,’, ‘,’
Kecamatan
Range Value a-z, A-Z, ‘,’, ‘,’
Kota
Range Value a-z, A-Z, ‘,’, ‘,’
KodePos
Range Value 0-9
Telepon
Range Value 0-9
KodeJabatan
Range Value JB001-JB999
KodePendidikan
Range Value PN001-PN999
KodeTanggungan
Range Value TG001-TG999
StatusPernikahan
Range Value M enikah atau Belum M enikah
StatusPegawai
Range Value Aktif atau Tidak Aktif 91
Tabel 4.11 Tabel Domain Atribut Absensi Atribut
Domain Value
KodeAbsensi
Range Value AB001-AB999
TglAbsensi
Range Value 0-9, ‘/’
JamDatang
Datetime
JamPulang
Datetime
TotalJamKerja
Range Value 0-9
KetAbsensi
Range Value a-z, A-Z, 0-9
Tabel 4.12 Tabel Domain Atribut Cuti Atribut
Domain Value
KodeCuti
Range Value CT001-CT999
KodeJenisCuti
Range Value JC001-JC999
JenisCuti
Range Value a-z, A-Z
TglM ulaiCuti
Range Value 0-9, ‘/’
TglSelesaiCuti
Range Value 0-9, ‘/’
LamaCuti
Range Value 0-9
KetCuti
Range Value a-z, A-Z, 0-9
92
Tabel 4.13 Tabel Domain Atribut Pelatihan Atribut
Domain Value
KodePelatihan
Range Value PL001-PL999
KodeJenisPelatihan
Range Value JP001-JP999
JenisPelatihan
Range Value a-z, A-Z, 0-9
NamaPelatihan
Range Value a-z, A-Z, 0-9
TglM ulaiPelatihan
Range Value 0-9, ‘/’
TglSelesaiPelatihan
Range Value 0-9, ‘/’
LamaPelatihan
Range Value 0-9
KetPelatihan
Range Value a-z, A-Z, 0-9
Tabel 4.14. Tabel Domain Atribut Gaji Atribut
Domain Value
KodeGaji
Range Value GJ001-GJ999
GajiPokok
Range Value 0-9
Insentif
Range Value 0-9
Transport
Range Value 0-9
TotalGaji
Range Value 0-9
TglProsesGaji
Range Value 0-9, ‘/’
TglTerimaGaji
Range Value 0-9, ‘/’
KetGaji
Range Value a-z, A-Z, 0-9
93
Tabel 4.15 Tabel Domain Atribut Penilaian Atribut
Domain Value
KodePenilaian
Range Value PN001-PN999
Perilaku
Range Value a-z, A-Z, 0-9
Keahlian
Range Value a-z, A-Z, 0-9
HasilKerja
Range Value a-z, A-Z, 0-9
TglPenilaian
Range Value 0-9, ‘/’
KetPenilaian
Range Value a-z, A-Z, 0-9
Tabel 4.16 Tabel Domain Atribut Putus Kerja Atribut
Domain Value
KodePutusKerja
Range Value PK001-PK999
KodeJenisPutusKerja
Range Value PK001-PK999
JenisPutusKerja
Range Value a-z, A-Z, 0-9
TglProsesPutusKerja
Range Value 0-9, ‘/’
TglPutusKerja
Range Value 0-9, ‘/’
KetPutusKerja
Range Value a-z, A-Z, 0-9
94
4.1.1.5 Mengidentifikasi Candidate Key dan Primary Key Berikut ini merupakan candidate key dan primary key berdasarkan entitas – entitas yang ada. Tabel 4.17 Tabel Candidate Key dan Primary Key setiap entitas Entity name
Candidate key
Primary key
Pegawai
NIP
NIP
Absensi
KodeAbsensi
KodeAbsensi
Cuti
KodeCuti
KodeCuti
KodeJenisCuti Pelatihan
KodePelatihan
KodePelatihan
KodeJenisPelatihan Gaji
KodeGaji
KodeGaji
Penilaian
KodePenilaian
KodePenilaian
PutusKerja
KodePutusKerja
KodePutusKerja
KodeJenisPutusKerja
95
Gambar 4.2 Entity Relationship Diagram (ERD) Konseptual dengan Primary Key
4.1.1.6 Menggunakan Enhanced Modeling Concepts Tahap ini bertujuan untuk mempertimbangkan penggunaan enhanced modeling concepts seperti spesialisai, generalisasi, agregasi dan komposisi. Pada desain basis data yang telah dibuat sejauh ini, tidak terdapat keempat enhanced modeling concepts sehingga tahapan ini tidak dilakukan dan dilewati.
96
4.1.1.7 Memeriksa redudansi Tujuan langkah ini adalah memeriksa redudansi keberadaan entitas atau hubungan yang redudan dalam model data konseptual. Ada 2 hal yang harus dilakukan pada tahap ini, yaitu: a. M emeriksa kembali hubungan one-to-one (1:1) Pada langkah ini, diperiksa apabila ada hubungan yang bersifat one-to-one (1:1). Pada ERD yang telah dibuat, tidak ada dua entitas yang menggambarkan objek yang sama. Setelah dilakukan pemeriksaan terhadap ERD model konseptual, tidak ditemukan adanya hubungan one-to-one (1:1) sehingga tidak perlu dilakukan pemeriksaan kembali untuk menghindari dua entitas yang menggambarkan objek yang sama.
b. M enghilangkan hubungan redudan M unculnya hubungan yang redudan berarti terdapat lebih dari satu jalur hubungan antar entiitas untuk mendapatkan informasi yang sama. Pada ERD yang telah dibuat, tidka ditemukan adanya hubungan yang redudansi sehingga tahap ini tidak dilakukan dan dilewati.
97
4.1.1.8 Validasi Model Konseptual Lokal terhadap User Tran saction Tujuan dari langkah ini adalah untuk meyakinkan bahwa model konseptual local sudah mendukung transaksi yang dibutuhkan view. Transaksi – transaksi yang dibutuhkan dalam kepegawaian adalah: Data Entry a. M emasukkan data absensi pegawai b. M emasukkan data cuti pegawai c. M emasukkan data pegawai yang mengikuti pelatihan d. M emasukkan data gaji pegawai e. M emasukkan data penilaian pegawai f. M emasukkan data pemutusan kerja pegawai Data Update/Deletion a. M engubah dan menghapus data absensi pegawai b. M engubah dan menghapus data cuti pegawai c. M engubah dan menghapus data pegawai yang mengikuti pelatihan d. M engubah dan menghapus data gaji pegawai e. M engubah dan menghapus data penilaian pegawai f. M engubah dan menghapus data pemutusan kerja pegawai Data Queries a. M enampilkan data absensi pegawai b. M enampilkan data cuti pegawai c. M enampilkan data pegawai yang mengikuti pelatihan d. M enampilkan data gaji pegawai e. M enampilkan data penilaian pegawai f. M enampilkan data pemutusan kerja pegawai 98
Gambar 4.3 Entity Relationship Diagram (ERD) Konseptual dengan User Tran saction
4.1.1.9 Melakukan Model Review Data Konseptual dengan User Tujuan dari langkah ini adalah untuk memastikan model data konseptual yang telah dibuat merupakan representasi dari persyaratan data organisasi. Rancangan basis data konseptual yang telah dirancang sampai saat ini dianggap masih mampu menjawab kebutuhan user dan sudah cukup mendukung Firma Hukum NSM P.
99
4.1.2 Perancangan Basis Data Logikal Perancangan basis data logikal ini bertujuan untuk membangun sebuah model data logikal dari model konseptual yang selanjutnya akan divalidasi dengan teknik normalisasi untuk memastikan bahwa strukturnya sudah benar dan model data ini benar – benar mendukung transaksi yang dibutuhkan. Perancangan basis data logikal terdiri dari beberapa langkah, yaitu : 4.1.2.1 Hilangkan Fitur - Fitur yang Tidak Kompatibel a. M enghilangkan Multivalued Attribute Untuk
menghilangkan
relationship
yang
mengandung
multivalued attribute, atribut tersebut harus dipecah dengan mengidentifikasikan entitas baru dengan hubungan one-to-many. •
Pegawai
Gambar 4.4 Menghilangkan multivalued pada entitas Pegawai 100
b. M enghilangkan relasi many to many (*:*) rekursif Hingga permodelan konseptual data lokal ini belum terdapat relasi binary many to many (*:*) rekursif c. M enghilangkan tipe relasi kompleks Hingga permodelan logikal data lokal saat ini belum terdapat hubungan relasi kompleks.
4.1.2.2 Penurunan Relasi Untuk Model Data Logikal a. Tipe Entitas Kuat (Strong Entity) Strong entity merupakan tipe entitas yang tidak tergantung terhadap entitas lainnya dimana setiap strong entity adalah model data, dibuat sebuah hubungan yang mengandung atribut sederhana dari entitas tersebut. Berikut merupakan entitas yang termasuk dalam strong entity antara lain : •
Pegawai (NIP, Nama, TempatLahir, TglLahir, JenisKelamin, Agama, KodePos,
Alamat, RT, RW, Kelurahan, Kecamatan, Kota, KodeJabatan,
Jabatan,
StatusPernikahan,
StatusPegawai) Primary Key NIP •
Absensi (KodeAbsensi, TglAbsensi, JamDatang, JamPulang, TotalJamKerja, KetAbsensi) Primary Key KodeAbsensi
101
•
Cuti (KodeCuti, KodeJenisCuti, JenisCuti, TglM ulaiCuti, TglSelesaiCuti, LamaCuti, KetCuti) Primary Key KodeCuti
•
Pelatihan (KodePelatihan, KodeJenisPelatihan, JenisPelatihan, NamaPelatihan,
TglM ulaiPelatihan,
TglSelesaiPelatihan,
LamaPelatihan, KetPelatihan) Primary Key KodePelatihan •
Gaji (KodeGaji, GajiPokok, Insentif, Transport, TotalGaji, TglProsesGaji, TglTerimaGaji, KetGaji) Primary Key KodeGaji
•
Penilaian (KodePenilaian, Perilaku, Keahlian, HasilKerja, TglPenilaian, KetPenilaian) Primary Key KodePenilaian
•
PutusKerja JenisPutusKerja,
(KodePutusKerja,
TglProsesPutusKerja,
KetPutusKerja) Primary Key KodePutusKerja
102
KodeJenisPutusKerja, TglPutusKerja,
b. Tipe Entitas Lemah (Weak Entity) Weak entity merupakan tipe entitas yang bergantung terhadap entitas lainnya. Pada umumnya primary key dari weak entity merupakan turunan dari sebagian atau keseluruhan atribut asal. Sehingga penentuan primary key tidak dapat dilakukan sebelum seluruh entitas terhubung. Berikut merupakan entitas yang termasuk dalam weak entity antara lain: • Telepon (NoTelp) Primary Key NoTelp • Tanggungan
(KodeTanggungan,
NamaTanggungan,
TglLahirT gn,
JenisKelaminTgn,
TempatLahirTgn,
HubunganTgn, PekerjaanTgn) Primary Key KodeTanggungan • Pendidikan
(KodePendidikan,
Institusi,
Jurusan,
Periode,
NilaiAkhir) Primary Key KodePendidikan
c. Tipe relasi Biner One to Many (1:*) Untuk setiap hubungan binary one to many setiap entitas saling dihubungkan. Biasanya entitas yang berada pada bagian 1 disebut parent entity dan entitas yang berada pada bagian * (banyak) disebut child entity.
103
Dalam mempresentasikan entitas tersebut kedalam model data, entitas tersebut terhubung dengan salinan atribut primary key yang bersangkutan dengan child entity tersebut disebut foreign key. Berikut ini merupakan tipe relasi yang termasuk dalam binary one to many (1:*) antara lain: • Hubungan antara Pegawai dengan Absensi
Pegawai (NIP, Nama, TempatLahir, TglLahir, JenisKelamin, A gama, Alamat, RT, RW, Kelurahan, Kecamatan, Kota, KodePos, KodeJabatan, Jabatan, StatusPernikahan, StatusPegawai) Primary Key NIP
Absensi (KodeAbsensi, NIP, TglAbsensi, JamDatang, JamPulang, TotalJamKerja, KetAbsensi) Primary Key KodeAbsensi Foreign Key NIP references Pegawai (NIP)
• Hubungan antara Pegawai dengan Cuti
Nama, Pegawai (NIP, TempatLahir, TglLahir, JenisKelamin, A gama, Alamat, RT, RW, Kelurahan, Kecamatan, Kota, KodePos, KodeJabatan, Jabatan, StatusPernikahan, StatusPegawai) Primary Key NIP
104
Cuti (KodeCuti, NIP, KodeJenisCuti, JenisCuti, TglM ulaiCuti, TglSelesaiCuti, LamaCuti, KetCuti) Primary Key KodeCuti Foreign Key NIP references Pegawai (NIP)
• Hubungan antara Pegawai dengan Pelatihan
Pegawai (NIP, Nama, TempatLahir, TglLahir, JenisKelamin, A gama, Alamat, RT, RW, Kelurahan, Kecamatan, Kota, KodePos, KodeJabatan, Jabatan, StatusPernikahan, StatusPegawai) Primary Key NIP
Pelatihan (KodePelatihan, NIP, KodeJenisPelatihan, JenisPelatihan, NamaPelatihan, TglM ulaiPelatihan, TglSelesaiPelatihan, LamaPelatihan, KetPelatihan) Primary Key KodePelatihan Foreign Key NIP references Pegawai (NIP)
• Hubungan antara Pegawai dengan Gaji
Nama, Pegawai (NIP, TempatLahir, TglLahir, JenisKelamin, A gama, Alamat, RT, RW, Kelurahan, Kecamatan, Kota, KodePos, KodeJabatan, Jabatan, StatusPernikahan, StatusPegawai) Primary Key NIP
Gaji (KodeGaji, NIP, GajiPokok, Insentif, Transport, TotalGaji, TglProsesGaji, TglTerimaGaji, KetGaji) Primary Key KodeGaji Foreign Key NIP references Pegawai (NIP)
• Hubungan antara Pegawai dengan Penilaian
Pegawai (NIP, Nama, TempatLahir, TglLahir, JenisKelamin, A gama, Alamat, RT, RW, Kelurahan, Kecamatan, Kota, KodePos, KodeJabatan, Jabatan, StatusPernikahan, StatusPegawai) Primary Key NIP 105
Penilaian (KodePenilaian, NIP, Perilaku, Keahlian, HasilKerja, TglPenilaian, KetPenilaian) Primary Key KodePenilaian Foreign Key NIP references Pegawai (NIP)
• Hubungan antara Pegawai dengan Telepon
Pegawai (NIP, Nama, TempatLahir, TglLahir, JenisKelamin, A gama, Alamat, RT, RW, Kelurahan, Kecamatan, Kota, KodePos, KodeTelp KodeJabatan, Jabatan, StatusPernikahan, StatusPegawai) Primary Key NIP
Telepon (NIP, NoTelp) Primary Key NIP, NoTelp Foreign Key NIP references Pegawai (NIP)
• Hubungan antara Pegawai dengan Tanggungan
Pegawai (NIP, Nama, TempatLahir, TglLahir, JenisKelamin, A gama, Alamat, RT, RW, Kelurahan, Kecamatan, Kota, KodePos, KodeTelp KodeJabatan, Jabatan, StatusPernikahan, StatusPegawai) Primary Key NIP
Tanggungan (NIP, KodeTanggungan, NamaTanggungan, TempatLahirTgn, TglLahirTgn, JenisKelaminT gn, HubunganTgn, PekerjaanTgn) Primary Key KodeTanggungan Foreign Key NIP references Pegawai (NIP)
• Hubungan antara Pegawai dengan Pendidikan
Pegawai (NIP, Nama, TempatLahir, TglLahir, JenisKelamin, A gama, Alamat, RT, RW, Kelurahan, Kecamatan, Kota, KodePos, KodeTelp KodeJabatan, Jabatan, StatusPernikahan, StatusPegawai) Primary Key NIP
106
Pendidikan (NIP, KodePendidikan, Institusi, Jurusan, Periode, NilaiAkhir) Primary Key KodePendidikan Foreign Key NIP references Pegawai (NIP)
d. Tipe Relasi Biner One toOne (1:1) • Hubungan antara Pegawai dengan PutusKerja
Pegawai (NIP, Nama, TempatLahir, TglLahir, JenisKelamin, A gama, Alamat, RT, RW, Kelurahan, Kecamatan, Kota, KodePos, KodeJabatan, Jabatan, StatusPernikahan, StatusPegawai) Primary Key NIP
PutusKerja (KodePutusKerja, NIP, KodeJenisPutusKerja, JenisPutusKerja, TglProsesPutusKerja, TglPutusKerja, KetPutusKerja) Primary Key KodePutusKerja Foreign Key NIP references Pegawai (NIP)
e. Tipe relasi Multi-Valued Hingga permodelan logikal data lokal ini, belum ditemukan tipe relasi multi-valued.
f. Document Relationals and Foreign Key Attributes Tabel 4.18 Tabel Document Relationals and Foreign Key Attributes Pegawai (NIP, Nama, TempatLahir, TglLahir, JenisKelamin, Agama, Alamat, RT, RW, Kelurahan, Kecamatan, Kota, KodePos, KodeJabatan, Jabatan, StatusPernikahan, StatusPegawai) Primary Key NIP Absensi (KodeAbsensi, NIP, TglAbsensi, JamDatang, JamPulang, TotalJamKerja, KetAbsensi) Primary Key KodeAbsensi Foreign Key NIP references Pegawai (NIP)
107
Cuti (KodeCuti, NIP, KodeJenisCuti, JenisCuti, TglM ulaiCuti, TglSelesaiCuti, LamaCuti, KetCuti) Primary Key KodeCuti Foreign Key NIP references Pegawai (NIP) Pelatihan
(KodePelatihan,
JenisPelatihan,
NIP,
KodeJenisPelatihan,
NamaPelatihan,
TglM ulaiPelatihan,
TglSelesaiPelatihan, LamaPelatihan, KetPelatihan) Primary Key KodePelatihan Foreign Key NIP references Pegawai (NIP) Gaji (KodeGaji, NIP, GajiPokok, Insentif, Transport, TotalGaji, TglProsesGaji, TglTerimaGaji, KetGaji) Primary Key KodeGaji Foreign Key NIP references Pegawai (NIP) Penilaian (KodePenilaian, NIP, Perilaku, Keahlian, HasilKerja, TglPenilaian, KetPenilaian) Primary Key KodePenilaian Foreign Key NIP references Pegawai (NIP) PutusKerja
(KodePutusKerja,
JenisPutusKerja,
NIP,
TglProsesPutusKerja,
KetPutusKerja) Primary Key KodePutusKerja Foreign Key NIP references Pegawai (NIP)
108
KodeJenisPutusKerja, TglPutusKerja,
Telepon (NoTelp, NIP) Primary Key NIP, NoTelp Foreign Key NIP references Pegawai (NIP) Tanggungan
(KodeTanggungan,
,
NIP,
NamaTanggungan,
TempatLahirTgn, TglLahirTgn, JenisKelaminTgn, HubunganT gn, PekerjaanT gn) Primary Key KodeTanggungan Foreign Key NIP references Pegawai (NIP) Pendidikan (KodePendidikan, NIP, Institusi, Jurusan, Periode, NilaiAkhir) Primary Key KodePendidikan Foreign Key NIP references Pegawai (NIP)
4.1.2.3 Validasi Relasi Menggunakan Normalisasi Normalisasi bertujuan untuk memvalidasi relasi – relasi dalam model data logikal dengan menggunakan teknik – teknik yang ada dalam normalisasi. Berdasarkan langkah – langkah perancangan basis data yang telaj dilakukan, mayoritas relasi yang terbentuk telah sampai pada tahap 3NF. Namun masih ada beberapa relasi yang memerlukan validasi menggunakan normalisasi.
109
•
Pegawai UNF
Pegawai
(NIP,
Nama,
JenisKelamin, A gama, Kecamatan,
Kota,
TempatLahir,
TglLahir,
Alamat, RT, RW, Kelurahan,
KodePos,
KodeJabatan,
Jabatan,
StatusPernikahan, StatusPegawai) 1NF
Pegawai
(NIP,
Nama,
JenisKelamin, A gama, Kecamatan,
Kota,
TempatLahir,
TglLahir,
Alamat, RT, RW, Kelurahan,
KodePos,
KodeJabatan,
Jabatan,
StatusPernikahan, StatusPegawai) 2NF
Pegawai
(NIP,
Nama,
JenisKelamin, A gama, Kecamatan,
Kota,
TempatLahir,
TglLahir,
Alamat, RT, RW, Kelurahan,
KodePos,
KodeJabatan,
Jabatan,
StatusPernikahan, StatusPegawai) 3NF
Pegawai
(NIP,
Nama,
JenisKelamin, A gama, Kecamatan,
Kota,
TempatLahir,
Alamat, RT, RW, Kelurahan, KodePos,
StatusPernikahan, StatusPegawai) Jabatan (KodeJabatan, NamaJabatan)
110
TglLahir,
KodeJabatan,
•
Absensi UNF
Absensi (KodeAbsensi, NIP, TglAbsensi, JamDatang, JamPulang, TotalJamKerja, KetAbsensi)
1NF
Absensi (KodeAbsensi, NIP, TglAbsensi, JamDatang, JamPulang, TotalJamKerja, KetAbsensi)
2NF
Absensi (KodeAbsensi, NIP, TglAbsensi, JamDatang, JamPulang, TotalJamKerja, KetAbsensi)
3NF
Tidak terdapat partial dependency, sehingga relasi sudah pada kondisi 2NF
•
Cuti UNF
Cuti
(KodeCuti,
NIP,
KodeJenisCuti,
JenisCuti,
TglM ulaiCuti, TglSelesaiCuti, LamaCuti, KetCuti) 1NF
Cuti
(KodeCuti,
NIP,
KodeJenisCuti,
JenisCuti,
TglM ulaiCuti, TglSelesaiCuti, LamaCuti, KetCuti) 2NF
Cuti
(KodeCuti,
NIP,
KodeJenisCuti,
JenisCuti,
TglM ulaiCuti, TglSelesaiCuti, LamaCuti, KetCuti) 3NF
Cuti (KodeCuti, NIP, KodeJenisCuti, TglM ulaiCuti, TglSelesaiCuti, LamaCuti, KetCuti) JenisCuti (KodeJenisCuti, NamaJenisCuti)
111
•
Pelatihan UNF
Pelatihan (KodePelatihan, NIP,
KodeJenisPelatihan,
JenisPelatihan,
TglM ulaiPelatihan,
NamaPelatihan,
TglSelesaiPelatihan, LamaPelatihan, KetPelatihan) 1NF
Pelatihan (KodePelatihan, NIP,
KodeJenisPelatihan,
JenisPelatihan,
TglM ulaiPelatihan,
NamaPelatihan,
TglSelesaiPelatihan, LamaPelatihan, KetPelatihan) 2NF
Pelatihan (KodePelatihan, NIP,
KodeJenisPelatihan,
JenisPelatihan,
TglM ulaiPelatihan,
NamaPelatihan,
TglSelesaiPelatihan, LamaPelatihan, KetPelatihan) 3NF
Pelatihan (KodePelatihan, NIP,
KodeJenisPelatihan,
NamaPelatihan, TglM ulaiPelatihan, TglSelesaiPelatihan, LamaPelatihan, KetPelatihan) JenisPelatihan (KodeJenisPelatihan, NamaJenisPelatihan)
•
Gaji UNF
Gaji (KodeGaji, NIP, GajiPokok, Insentif, Transport, TotalGaji, TglProsesGaji, TglTerimaGaji, KetGaji)
1NF
Gaji (KodeGaji, NIP, GajiPokok, Insentif, Transport, TotalGaji, TglProsesGaji, TglTerimaGaji, KetGaji)
2NF
Gaji (KodeGaji, NIP, GajiPokok, Insentif, Transport, TotalGaji, TglProsesGaji, TglTerimaGaji, KetGaji)
3NF
Tidak terdapat partial dependency, relasi sudah 2NF
112
•
Penilaian UNF
Penilaian
(KodePenilaian,
NIP,
Perilaku,
Keahlian,
HasilKerja, TglPenilaian, KetPenilaian) 1NF
Penilaian
(KodePenilaian,
NIP,
Perilaku,
Keahlian,
HasilKerja, TglPenilaian, KetPenilaian) 2NF
Penilaian
(KodePenilaian,
NIP,
Perilaku,
Keahlian,
HasilKerja, TglPenilaian, KetPenilaian) 3NF
Tidak terdapat partial dependency, relasi sudah pada kondisi 2NF
•
PutusKerja UNF
PutusKerja (KodePutusKerja, NIP, KodeJenisPutusKerja, JenisPutusKerja,
TglProsesPutusKerja,
TglPutusKerja,
KetPutusKerja) 1NF
PutusKerja (KodePutusKerja, NIP, KodeJenisPutusKerja, JenisPutusKerja,
TglProsesPutusKerja,
TglPutusKerja,
KetPutusKerja) 2NF
PutusKerja (KodePutusKerja, NIP, KodeJenisPutusKerja, JenisPutusKerja,
TglProsesPutusKerja,
TglPutusKerja,
KetPutusKerja) 3NF
PutusKerja (KodePutusKerja, NIP, KodeJenisPutusKerja, TglProsesPutusKerja, TglPutusKerja, KetPutusKerja) JenisPutusKerja (KodeJenisPutusKerja, JenisPutusKerja)
113
•
Telepon UNF
Telepon (NoTelp, NIP)
1NF
Telepon (NoTelp , NIP)
2NF
Dalam relasi file sudah tidak terdapat data yang berulang sehingga relasi sudah berada pada kondisi 1NF
•
Tanggungan UNF
Tanggungan
(KodeTanggungan,
,NamaTanggungan,
KodeTanggungan,
TempatLahirTgn,
TglLahirT gn,
JenisKelaminT gn, HubunganTgn, PekerjaanT gn, NIP) 1NF
Tanggungan
(KodeTanggungan,
,NamaTanggungan,
KodeTanggungan,
TempatLahirTgn,
TglLahirT gn,
JenisKelaminT gn, HubunganTgn, PekerjaanT gn, NIP) 2NF
Tanggungan
(KodeTangungan,
,NamaTanggungan,
KodeTanggungan,
TempatLahirTgn,
TglLahirT gn,
JenisKelaminT gn, HubunganTgn, PekerjaanT gn, NIP) 3NF
Tidak terdapat partial dependency, sehingga relasi sudah pada kondisi 2NF
114
•
Pendidikan UNF
Pendidikan (KodePendidikan, Institusi, Jurusan, Periode, NilaiAkhir, NIP)
1NF
Pendidikan (KodePendidikan, Institusi, Jurusan, Periode, NilaiAkhir)
2NF
Pendidikan (KodePendidikan, Institusi, Jurusan, Periode, NilaiAkhir)
3NF
Tidak terdapat partial dependency, sehingga relasi sudah pada kondisi 2NF
115
Gambar 4.5 Entity Relationship Diagram (ERD) Logikal 116
4.1.2.4 Validasi Relasi Terhadap User Tran saction Semua transaksi user yang telah didefinisikan pada tahap konseptual diperiksa kembali terhadap relasi yang ada untuk memastikan relasi sudah benar dan dapat memenuhi transaksi yang dibutuhkan user. Data Entry a. M emasukkan data absensi pegawai b. M emasukkan data cuti pegawai c. M emasukkan data jenis – jenis cuti pegawai d. M emasukkan data pegawai yang mengikuti pelatihan e. M emasukkan data jenis – jenis pelatihan pegawai f. M emasukkan data gaji pegawai g. M emasukkan data penilaian pegawai h. M emasukkan data pemutusan kerja pegawai i. M emasukkan data jenis – jenis pemutusan kerja pegawai Data Update/Deletion a. M engubah dan menghapus data absensi pegawai b. M engubah dan menghapus data cuti pegawai c. M engubah dan menghapus data jenis – jenis cuti pegawai d. M engubah dan menghapus data pegawai yang mengikuti pelatihan e. M engubah dan menghapus data jenis – jenis pelatihan pegawai f. M engubah dan menghapus data gaji pegawai g. M engubah dan menghapus data penilaian pegawai h. M engubah dan menghapus data pemutusan kerja pegawai i. M engubah dan menghapus data jenis – jenis pemutusan kerja pegawai 117
Data Queries a. M enampilkan data absensi pegawai b. M enampilkan data cuti pegawai c. M enampilkan data jenis – jenis cuti pegawai d. M enampilkan data pegawai yang mengikuti pelatihan e. M enampilkan data jenis – jenis pelatihan pegawai f. M enampilkan data gaji pegawai g. M enampilkan data penilaian pegawai h. M enampilkan data pemutusan kerja pegawai i. M enampilkan data jenis – jenis pemutusan kerja pegawai
118
Gambar 4.6 Entity Relationship Diagram (ERD) Logikal dengan User Transaction
119
4.1.2.5 Memeriksa Integrity Constraint Bagian ini mendefinisikan tindakan yang dilakukan pada saat update atau delete di foreign key yang terdapat pada di entitas, sehingga terjadi kesamaan antara data yang terdapat pada primary key dan foreign key. Tabel 4.19 Tabel Referential Integrity Constraint Pegawai (NIP, Nama, TempatLahir, TglLahir, JenisKelamin, A gama, Alamat, RT, RW, Kelurahan, Kecamatan, Kota, KodePos, KodeJabatan, StatusPernikahan, StatusPegawai, KodeTelp) Primary Key NIP Foreign Key KodeJabatan references Jabatan (KodeJabatan) ON UPDATE CASCADE ON DELETE NO ACTION Absensi (KodeAbsensi, NIP, TglAbsensi, JamDatang, JamPulang, TotalJamKerja, KetAbsensi) Primary Key KodeAbsensi Foreign Key NIP references
Pegawai (NIP) ON UPDATE
CASCADE ON DELETE NO ACTION Cuti (KodeCuti, NIP, KodeJenisCuti, TglM ulaiCuti, TglSelesaiCuti, LamaCuti, KetCuti) Primary Key KodeCuti Foreign Key NIP references Pegawai (NIP) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key KodeJenisCuti references JenisCuti (KodeJenisCuti) ON UPDATE CASCADE ON DELETE NO ACTION
120
Pelatihan (KodePelatihan, NIP, KodeJenisPelatihan, NamaPelatihan, TglM ulaiPelatihan, TglSelesaiPelatihan, LamaPelatihan, KetPelatihan) Primary Key KodePelatihan Foreign Key NIP references Pegawai (NIP) ON UPDATE CASCADE ON DELETE NO ACTION Foreign
Key
KodeJenisPelatihan
references
JenisPelatihan
(KodeJenisPelatihan) ON UPDATE CASCADE ON DELETE NO ACTION Gaji (KodeGaji, NIP, GajiPokok, Insentif, Transport, TotalGaji, TglProsesGaji, TglTerimaGaji, KetGaji) Primary Key KodeGaji Foreign Key NIP references Pegawai (NIP) ON UPDATE CASCADE ON DELETE NO ACTION Penilaian (KodePenilaian, NIP, Perilaku, Keahlian, HasilKerja, TglPenilaian, KetPenilaian) Primary Key KodePenilaian Foreign Key NIP references Pegawai (NIP) ON UPDATE CASCADE ON DELETE NO ACTION PutusKerja
(KodePutusKerja,
NIP,
KodeJenisPutusKerja,
TglProsesPutusKerja, TglPutusKerja, KetPutusKerja) Primary Key KodePutusKerja Foreign Key NIP references Pegawai (NIP) ON UPDATE CASCADE ON DELETE NO ACTION Foreign
Key
KodeJenisPutusKerja
references
JenisPutusKerja
(KodeJenisPutusKerja) ON UPDATE CASCADE ON DELETE NO ACTION 121
Jabatan (KodeJabatan, NamaJabatan) Primary Key Kode Jabatan JenisCuti (KodeJenisCuti, NamaJenisCuti) Primary Key KodeJenisCuti JenisPelatihan (KodeJenisPelatihan, NamaJenisPelatihan) Primary Key KodeJenisPelatihan JenisPutusKerja (KodeJenisPutusKerja, NamaJenisPutusKerja) Primary Key KodeJenisPutusKerja Telepon (NoTelp, NIP) Primary Key NIP, NoTelp Foreign Key NIP references Pegawai (NIP) ON UPDATE CASCADE ON DELETE NO ACTION Tanggungan (KodeTanggungan, NamaTanggungan, TempatLahirTgn, TglLahirTgn, JenisKelaminT gn, HubunganTgn, PekerjaanT gn, NIP) Primary Key KodeTanggungan Foreign Key NIP references Pegawai (NIP) ON UPDATE CASCADE ON DELETE NO ACTION Pendidikan (KodePendidikan, Institusi, Jurusan, Periode, NilaiAkhir, NIP) Primary Key KodePendidikan Foreign Key NIP references Pegawai (NIP) ON UPDATE CASCADE ON DELETE NO ACTION
122
4.1.2.6 Melakukan Review Model Data Logikal dengan User Tujuan dari langkah ini adalah untuk memastikan model data logikal yang telah dibuat merupakan representasi dari persyaratan data organisasi. Rancangan basis data logikal yang telah dirancang sampai saat ini dianggap masih mampu menjawab kebutuhan user dan sudah cukup mendukung Firma Hukum NSM P.
4.1.3 Perancangan Basis Data Fisikal 4.1.3.1 Pemilihan Database Management System (DBMS ) Pemilihan DBM S merupakan hal yang dilakukan untuk menentukan DBM S yang nantinya akan digunakan oleh perusahaan. DBM S yang menjadi pertimbangan M ySQL 5.0 dan M icrosoft SQL Server 2005. Berikut adalah pertimbangan yang menjadi faktor pemilihan DBM S : Tabel 4.20 Tabel Perbandingan Fitur MySQL MySQL 5.0 Tipe DBM S
Relational Database Server (Transactional dengan driver InnoDB)
Biaya
$ 0 (lisensi umum) atau $ 395 (lisensi komersial)
M emory
Kebutuhan minimum yang diperlukan oleh sistem operasinya
Processor
Linux / Sistem operasi berbasis UNIX, MyODBC (untuk ODBC driver support), connector / J (untuk JDBC driver support)
Harddisk space
100 M B (diutamakan)
Kelebihan
-
Cuma – Cuma, dokumentasi secara online karena merupakan perangkat lunak open source atau free software
123
-
Dapat mendukung platform lain,tidak hanya platform windows
-
Perangkat keras yang dibutuhkan lebih sedikit, sehingga lebih cost efficient
Kekurangan
Tidak sepenuhnya kompatibel dengan SQL92 yang menyebabkan masalah dengan aplikasi server yang membuat query SQL – nya sendiri. Versi yang cuma – cuma tidak mendapatkan bantuan teknis, tidak dapat mengunci obyek dibawah level tabel.
Keamanan
Tidak diketahui
Tabel 4.21 Tabel Perbandingan Fitur SQL Server 2005 SQL Server 2005 Tipe DBM S
Transactional relational database server
Biaya
$ 0 (lisensi umum)
M emory
RAM minimum 512 M B atau lebih, maksimum disesuaikan dengan sistem operasi
Processor
Windows minimum 600 M Hz – 1 GHz atau lebih
Hardisk space
53.5 M B
Kelebihan
-
M udah diinstalasi, mudah dipakai, dan mudah diatur
-
Pelaksanaanya sederhana, otomatis menjalankan basis data dengan tampilan yang optimal
-
Tools pengelolaan dan maintenance gratis
-
Integrasi langsung yang mudah dengan perangkat lunak lain
124
Kekurangan
M icrosoft SQL Server 2005 bersama dengan beberapa software keluaran windows lainnya seperti Windows Vista, M icrosoft Digital Image Suite 2006, Windows Server 2008, dan lain – lain, memiliki kelemahan yaitu kerentanan dalam GDI+ yang memungkinkan adanya eksekusi kode dari tertentu saat user melihat file gambar terentu menggunakan salah satu software windows di atas atau browsing ke website yang mengandung content yang ‘jahat’.
Keamanan
SQL Server menyediakan tingkat keamanan yang cukup tinggi yaitu dengan: -
M enggunakan login dan password untuk dapat masuk ke dalam program
-
M enyediakan granularity dalam
masa
izin
spesifikasi pada
berbagai lingkup yang telah diberi kuasa -
Pengaturan hak administratif SQL Server 2005 dapat dilakukan secara lebih mendetail sehingga hak-hak administratif dan pengembangan aplikasi database dapat dipisahkan dari tingkatan hak akses data di setiap subkomponennya.
125
4.1.3.2 Perancangan Relational Dasar Basis Data Tabel 4.22 Tabel Relasi Dasar Basis Data Entitas Pegawai Domain
Data Type
Length
NULLS
NIP
Variable Length Character String
5
No
KodeJabatan
Variable Length Character String
5
No
Nama
Variable Length Character String
50
No
TempatLahir
Variable Length Character String
20
No
TglLahir
Datetime
-
No
JenisKelamin
Single Character ‘L’, atau ‘P’
1
No
Agama
Variable Length Character String
10
No
Alamat
Variable Length Character String
100
No
RT
Variable Length Character String
3
No
RW
Variable Length Character String
3
No
Kelurahan
Variable Length Character String
20
No
Kecamatan
Variable Length Character String
20
No
Kota
Variable Length Character String
20
No
KodePos
Variable Length Character String
5
No
StatusPernikahan
Variable Length Character String
15
No
10
No
‘M enikah’ atau ‘Belum M enikah’ StatusPegawai
Variable Length Character String ‘Aktif’ atau ‘Tidak Aktif’
Primary Key NIP Foreign Key KodeJabatan references Jabatan (KodeJabatan) ON UPDATE CASCADE ON DELETE NO ACTION
Tabel 4.23 Tabel Relasi Dasar Basis Data Entitas Jabatan Domain
Data Type
NULLS
KodeJabatan
Variable Length Character String
5
No
NamaJabatan
Variable Length Character String
50
No
Primary Key KodeJabatan 126
Length
Tabel 4.24 Tabel Relasi Dasar Basis Data Entitas Telepon Domain
Data Type
Length
NULLS
NoTelp
Variable Length Character String
15
No
NIP
Variable Length Character String
5
No
Primary Key NIP, NoTelp Foreign Key NIP references Pegawai (NIP) ON UPDATE CASCADE ON DELETE NO ACTION
Tabel 4.25 Tabel Relasi Dasar Basis Data Entitas Tanggungan Domain
Data Type
Length
NULLS
KodeTanggungan
Variable Length Character String
5
No
NIP
Variable Length Character String
5
No
NamaTanggungan
Variable Length Character String
50
No
TempatLahirTgn
Variable Length Character String
20
No
TglLahirTgn
Datetime
-
No
JenisKelaminT gn
Single Character ‘L’, atau ‘P’
1
No
HubunganTgn
Variable Length Character String
10
No
PekerjaanT gn
Variable Length Character String
20
No
Primary Key KodeTanggungan Foreign Key NIP references Pegawai (NIP) ON UPDATE CASCADE ON DELETE NO ACTION
127
Tabel 4.26 Tabel Relasi Dasar Basis Data Entitas Pendidikan Domain
Data Type
Length
NULLS
KodePendidikan
Variable Length Character String
5
No
NIP
Variable Length Character String
5
No
Institusi
Variable Length Character String
50
No
Jurusan
Variable Length Character String
50
No
Periode
Variable Length Character String
50
No
NilaiAkhir
Integer
11
No
Primary Key KodePendidikan Foreign Key NIP references Pegawai (NIP) ON UPDATE CASCADE ON DELETE NO ACTION
Tabel 4.27 Tabel Relasi Dasar Basis Data Entitas Absensi Domain
Data Type
Length
NULLS
KodeAbsensi
Variable Length Character String
5
No
NIP
Variable Length Character String
5
No
TglAbsensi
Datetime
-
No
JamDatang
Datetime
-
No
JamPulang
Datetime
-
No
TotalJamKerja
Integer
11
No
KetAbsensi
Variable Length Character String
100
Yes
Primary Key KodeAbsensi Foreign Key NIP references Pegawai (NIP) ON UPDATE CASCADE ON DELETE NO ACTION
128
Tabel 4.28 Tabel Relasi Dasar Basis Data Entitas Cuti Domain
Data Type
Length
NULLS
KodeCuti
Variable Length Character String
5
No
KodeJenisCuti
Variable Length Character String
5
No
NIP
Variable Length Character String
5
No
TglM ulaiCuti
Datetime
-
No
TglSelesaiCuti
Datetime
-
No
LamaCuti
Integer
11
No
KetCuti
Variable Length Character String
100
Yes
Primary Key KodeCuti Foreign Key KodeJenisCuti references JenisCuti (KodeJenisCuti) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key NIP references Pegawai (NIP) ON UPDATE CASCADE ON DELETE NO ACTION
Tabel 4.29 Tabel Relasi Dasar Basis Data Entitas JenisCuti Domain
Data Type
Length
NULLS
KodeJenisCuti
Variable Length Character String
5
No
NamaJenisCuti
Variable Length Character String
50
No
Primary Key KodeJenisCuti
Tabel 4.30 Tabel Relasi Dasar Basis Data Entitas Pelatihan Domain
Length
NULLS
Variable Length Character String
5
No
KodeJenisPelatihan Variable Length Character String
5
No
NIP
Variable Length Character String
5
No
NamaPelatihan
Variable Length Character String
100
No
TglM ulai
Datetime
-
No
TglSelesai
Datetime
-
No
KodePelatihan
Data Type
129
LamaPelatihan
Integer
11
No
KetPelatihan
Variable Length Character String
100
Yes
Primary Key KodePelatihan Foreign Key KodeJenisPelatihan references JenisPelatihan (KodeJenisPelatihan) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key NIP references Pegawai (NIP) ON UPDATE CASCADE ON DELETE NO ACTION
Tabel 4.31 Tabel Relasi Dasar Basis Data Entitas JenisPelatihan Domain
Data Type
Length
NULLS
KodeJenisPelatihan
Variable Length Character String
5
No
NamaJenisPelatihan
Variable Length Character String
50
No
Primary Key KodeJenisPelatihan
Tabel 4.32 Tabel Relasi Dasar Basis Data Entitas Gaji Domain
Data Type
Length
NULLS
Kode Gaji
Variable Length Character String
5
No
NIP
Variable Length Character String
5
No
GajiPokok
Int
11
No
Insentif
Int
11
No
Transportasi
Int
11
No
TotalGaji
Int
11
No
TglProsesGaji
Datetime
-
No
TglTerimaGaji
Datetime
-
No
KetGaji
Varchar
100
Yes
Primary Key KodeGaji Foreign Key NIP references Pegawai (NIP) ON UPDATE CASCADE ON DELETE NO ACTION
130
Tabel 4.33 Tabel Relasi Dasar Basis Data Entitas Penilaian Domain
Data Type
Length
NULLS
KodePenilaian
Variable Length Character String
5
No
NIP
Variable Length Character String
5
No
Perilaku
Variable Length Character String
100
No
Keahlian
Variable Length Character String
100
No
HasilKerja
Variable Length Character String
100
No
TglPenilaian
Datetime
-
No
KetPenilaian
Variable Length Character String
100
Yes
Primary Key KodePenilaian Foreign Key NIP references Pegawai (NIP) ON UPDATE CASCADE ON DELETE NO ACTION
Tabel 4.34 Tabel Relasi Dasar Basis Data Entitas PutusKerja Domain
Length
NULLS
Variable Length Character String
5
No
KodeJenisPutusKerja Variable Length Character String
5
No
NIP
Variable Length Character String
5
No
TglProsesPutusKerja
Datetime
-
No
TglPutusKerja
Datetime
-
No
KetPutusKerja
Variable Length Character String
100
Yes
KodePutusKerja
Data Type
Primary Key KodePutusKerja Foreign
Key
KodeJenisPutusKerja
references
JenisPutusKerja
(KodeJenisPutusKerja) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key NIP references Pegawai (NIP) ON UPDATE CASCADE ON DELETE NO ACTION
131
Tabel 4.35 Tabel Relasi Dasar Basis Data Entitas JenisPutusKerja Domain
Data Type
Length
NULLS
Variable Length Character String
5
No
NamaJenisPutusKerja Variable Length Character String
50
No
KodeJenisPutusKerja
Primary Key KodeJenisPutusKerja
4.1.3.3 Merancang Representasi Data Dalam penelitian ini tidak diperlukan proses denormalisasi karena nilai dari tiap record - nya tidak terjadi banyak perhitungan sehingga diputuskan untuk tidak dilakukan proses denormalisasi.
4.1.3.4 Merancang Enterprise Constraint Dalam sistem terdapat beberapa aturan transaksi yang harus dipenuhi. Berikut ini didefinisikan enterprise constraint yang akan dibuat untuk menjaga integritas dari data yang di simpan. 1. NIP harus diisi 5 karakter Constraint cekNIP CHECK (len(NIP)=5) 2. JenisKelamin hanya boleh memiliki 2 nilai yaitu ‘L’. ‘P’ Constraint cekJenisKelamin CHECK (JenisKelamin in (‘L’, ‘P’)) 3. KodePos harus diisi 5 karakter Constraint cekKodePos CHECK (len(KodePos)=5) 4. StatusPernikahan hanya boleh memiliki 2 nilai yaitu ‘M enikah’, ‘Belum M enikah’ Constraint cekStatusPernikahan CHECK (StatusPernikahan in (‘M enikah’, ‘Belum M enikah’)) 132
5. StatusPegawai hanya boleh memiliki 2 nilai yaitu ‘Aktif’ , ‘Tidak Aktif’ Constraint cekStatusPegawai CHECK (StatusPegawai in (‘Aktif’, ‘Tidak Aktif’)) 6. KodeAbsensi harus diisi 5 karakter Constraint cekKodeAbsensi CHECK (len(KodeAbsensi)=5) 7. KodeCuti harus diisi 5 karakter Constraint cekKodeCuti CHECK (len(KodeCuti)=5) 8. KodeJenisCuti harus diisi 5 karakter Constraint cekKodeJenisCuti CHECK (len(KodeJenisCuti)=5) 9. KodePelatihan harus diisi 5 karakter Constraint cekKodePelatihan CHECK (len(KodePelatihan)=5) 10. KodeJenisPelatihan harus diisi 5 karakter Constraint
cekKodeJenisPelatihan
CHECK
(len(KodeJenisPelatihan)=5) 11. KodeGaji harus diisi 5 karakter Constraint cekKodeGaji CHECK (len(KodeGaji)=5) 12. KodePenilaian harus diisi 5 karakter Constraint cekKodePenilaian CHECK (len(KodePenilaian)=5) 13. KodePutusKerja harus diisi 5 karakter Constraint cekKodePutusKerja CHECK (len(KodePutusKerja)=5) 14. KodeJenisPutusKerja harus diisi 5 karakter Constraint
cekKodeJenisPutusKerja
(len(KodeJenisPutusKerja)=5) 133
CHECK
15. KodeJabatan harus diisi 5 karakter Constraint cekKodeJabatan CHECK (len(KodeJabatan)=5) 16. KodeTanggungan harus diisi 5 karakter Constraint
cekKodeTanggungan
CHECK
(len(KodeTanggungan)=5) 17. JenisKelaminT gn hanya boleh memiliki 2 nilai yaitu ‘L’, ‘P’ Constraint cekJenisKelamin CHECK (JenisKelamin in (‘L’, ‘P’)) 18. KodePendidikan harus diisi 5 karakter Constraint
cekKodePendidikan
(len(KodePendidikan)=5)
4.1.3.5 Merancang Batasan Umum (General Constraint) 1. CREATE TABLE Pegawai( NIP
VARCHAR(5),
KodeJabatan
VARCHAR(5),
Nama
VARCHAR(50),
TempatLahir
VARCHAR(20),
TglLahir
Datetime,
JenisKelamin
CHAR (1),
Agama
VARCHAR(10),
Alamat
VARCHAR(100),
RT
VARCHAR(3),
RW
VARCHAR(3),
Kelurahan
VARCHAR(20),
Kecamatan
VARCHAR(20),
Kota
VARCHAR(20), 134
CHECK
KodePos
VARCHAR(5),
StatusPernikahan
VARCHAR(15),
StatusPegawai
VARCHAR(10),
CONSTRAINT PK Pegawai PRIMARY KEY (NIP), CONSTRAINT FK KodeJabatan FOREIGN KEY Jabatan (KodeJabatan) ON UPDATE C AS CADE ON DELETE NO ACTION, CONSTRAINT cekNIP CHECK (len(NIP)=5), CONSTRAINT cekJenisKelamin CHECK (JenisKelamin in (‘L’, ‘P’)), CONSTRAINT cekKodePos CHECK (len(KodePos)=5), CONSTRAINT cekStatusPernikahan CHECK (StatusPernikahan in (‘M enikah’, ‘Belum M enikah’)), Constraint
cekStatusPegawai
CHECK
(StatusPegawai
in
(‘Aktif’, ‘Tidak Aktif’)) )
2. CREATE TABLE Jabatan( KodeJabatan
VARCHAR(5),
NamaJabatan
VARCHAR(50),
CONSTRAINT PK Jabatan PRIMARY KEY (KodeJabatan), CONSTRAINT cekKodeJabatan CHECK (len(KodeJabatan)=5) )
3. CREATE TABLE Telepon( NoTelp
VARCHAR(15),
NIP
VARCHAR(5),
CONSTRAINT PK Telepon PRIMARY KEY (NoTelp, NIP) CONSTRAINT FK NIP FOREIGN KEY Pegawai (NIP) ON UPDATE C AS CADE ON DELETE NO ACTION, ) 135
4. CREATE TABLE Tanggungan( KodeTanggungan
VARCHAR(5),
NIP
VARCHAR(5),
NamaTanggungan
VARCHAR(50),
TempatLahirTgn
VARCHAR(20),
TglLahirTgn
Datetime,
JenisKelaminT gn
CHAR(1),
HubunganTgn
VARCHAR(10),
PekerjaanT gn
VARCHAR(20),
CONSTRAINT PK Tanggungan PRIMARY KEY (KodeTanggungan), CONSTRAINT FK NIP FOREIGN KEY Pegawai (NIP) ON UPDATE C AS CADE ON DELETE NO ACTION, CONSTRAINT
cekKodeTanggungan
CHECK
(len(KodeTanggungan)=5), CONSTRAINT cekJenisKelaminT gn CHECK (JenisKelaminTgn in (‘L’, ‘P’)) ) 5. CREATE TABLE Pendidikan( KodePendidikan
VARCHAR(5),
NIP
VARCHAR(5),
Institusi
VARCHAR(50),
Jurusan
VARCHAR(50),
Periode
VARCHAR(50),
NilaiAkhir
NUM ERIC,
CONSTRAINT PK Pendidikan PRIMARY KEY (KodePendidikan), CONSTRAINT FK NIP FOREIGN KEY Pegawai (NIP) ON UPDATE C AS CADE ON DELETE NO ACTION,
136
CONSTRAINT
cekKodePendidikan
CHECK
(len(KodePendidikan)=5) )
6. CREATE TABLE Absensi( KodeAbsensi
VARCHAR(5),
NIP
VARCHAR(5),
TglAbsensi
Datetime,
JamDatang
Datetime,
JamPulang
Datetime,
TotalJamKerja
NUM ERIC,
KetAbsensi
VARCHAR(100),
CONSTRAINT PK Absensi PRIMARY KEY (KodeAbsensi), CONSTRAINT FK NIP FOREIGN KEY Pegawai (NIP) ON UPDATE C AS CADE ON DELETE NO ACTION, CONSTRAINT cekAbsensi CHECK (len(KodeAbsensi)=5) )
7. CREATE TABLE Cuti( KodeCuti
VARCHAR(5),
KodeJenisCuti
VARCHAR(5),
NIP
VARCHAR(5),
TglM ulaiCuti
Datetime,
TglSelesaiCuti
Datetime,
LamaCuti
NUM ERIC,
KetCuti
VARCHAR(100),
CONSTRAINT PK Cuti PRIMARY KEY (KodeCuti), CONSTRAINT FK KodeJenisCuti FOREIGN KEY JenisCuti (KodeJenisCuti) ON UPDATE CAS CADE ON DELETE NO ACTION,
137
CONSTRAINT FK NIP FOREIGN KEY Pegawai (NIP) ON UPDATE C AS CADE ON DELETE NO ACTION, CONSTRAINT cekKodeCuti CHECK (len(KodeCuti)=5) )
8. CREATE TABLE JenisCuti( KodeJenisCuti
VARCHAR(5),
NamaJenisCuti
VARCHAR(50),
CONSTRAINT PK JenisCuti PRIMARY KEY (KodeJenisCuti), CONSTRAINT cekKodeJenisCuti CHECK (len(KodeJenisCuti)=5) )
9. CREATE TABLE Pelatihan( KodePelatihan
VARCHAR(5),
KodeJenisPelatihan
VARCHAR(5),
NIP
VARCHAR(5),
NamaPelatihan
VARCHAR(100),
TglM ulaiPelatihan
Datetime,
TglSelesaiPelatihan
Datetime,
LamaPelatihan
NUM ERIC,
KetPelatihan
VARCHAR(100),
CONSTRAINT PK Pelatihan PRIMARY KEY (KodePelatihan), CONSTRAINT
FK
KodeJenisPelatihan
FOREIGN
KEY
JenisPelatihan (KodeJenisPelatihan) ON UPDATE C AS CADE ON DELETE NO ACTION, CONSTRAINT FK NIP FOREIGN KEY Pegawai (NIP) ON UPDATE C AS CADE ON DELETE NO ACTION, CONSTRAINT
cekKodePelatihan
(len(KodePelatihan)=5) ) 138
CHECK
10. CREATE TABLE JenisPelatihan( KodeJenisPelatihan
VARCHAR(5),
NamaJenisPelatihan
VARCHAR(50),
CONSTRAINT
PK
JenisPelatihan
PRIMARY
KEY
(KodeJenisPelatihan), CONSTRAINT
cekKodeJenisPelatihan
CHECK
(len(KodeJenisPelatihan)=5) ) 11. CREATE TABLE Gaji( KodeGaji
VARCHAR(5),
NIP
VARCHAR(5),
GajiPokok
NUM ERIC
Insentif
NUM ERIC,
Transport
NUM ERIC,
TotalGaji
NUM ERIC,
TglProsesGaji
Datetime,
TglTerimaGaji
Datetime,
KetGaji
VARCHAR(100),
CONSTRAINT PK Gaji PRIMARY KEY (KodeGaji), CONSTRAINT FK NIP FOREIGN KEY Pegawai (NIP) ON UPDATE C AS CADE ON DELETE NO ACTION, CONSTRAINT cekKodeGaji CHECK (len(KodeGaji)=5) ) 12. CREATE TABLE Penilaian( KodePenilaian
VARCHAR(5),
NIP
VARCHAR(5),
Perilaku
VARCHAR(100),
Keahlian
VARCHAR(100)
HasilKerja TglPenilaian
VARCHAR(100) Datetime,
KetPenilaian
VARCHAR(100), 139
CONSTRAINT PK Penilaian PRIMARY KEY (KodePenilaian), CONSTRAINT FK NIP FOREIGN KEY Pegawai (NIP) ON UPDATE C AS CADE ON DELETE NO ACTION, CONSTRAINT cekPenilaian CHECK (len(KodePenilaian)=5) ) 13. CREATE TABLE PutusKerja( KodePutusKerja
VARCHAR(5),
KodeJenisPutusKerja VARCHAR(5), NIP
VARCHAR(5),
TglProsesPutusKerja Datetime, TglPutusKerja
Datetime,
KetPutusKerja
VARCHAR(100),
CONSTRAINT PK PutusKerja PRIMARY KEY (KodePutusKerja), CONSTRAINT FK KodeJenisPutusKerja FOREIGN KEY JenisPutusKerja
(KodeJenisPutusKerja)
ON
UPDATE
CAS CADE ON DELETE NO ACTION, CONSTRAINT FK NIP FOREIGN KEY Pegawai (NIP) ON UPDATE C AS CADE ON DELETE NO ACTION, CONSTRAINT
cekKodePutusKerja
CHECK
(len(KodePutusKerja)=5) ) 14. CREATE TABLE JenisPutusKerja( KodeJenisPutusKerja VARCHAR(5), NamaJenisPutusKerja VARCHAR(50), CONSTRAINT
PK
JenisPutusKerja
PRIMARY
KEY
(KodeJenisPutusKerja), CONSTRAINT
cekKodeJenisPutusKerja
(len(KodeJenisPutusKerja)=5) ) 140
CHECK
4.1.3.6 Merancang Organisasi File dan Index Pada tahap ini dilakukan penentuan organisasi file yang optimal, menyimpan relasi dasar dan index yang dibutuhkan dan mencapai performance yang dapat diterima. 4.1.3.6.1 Analisis User Transaction Tahap ini bertujuan untuk memahami fungsi dari transaksi yang akan berjalan pada basis data untuk menganalisa transaksi penting. Pada tahap ini, dilakukan identifikasi kriteria kinerja, antara lain: A.
M asukkan data Pegawai
B.
M asukkan data Absensi
C.
M asukkan data Cuti
D.
M asukkan data JenisCuti
E.
M asukkan data Pelatihan
F.
M asukkan data JenisPelatihan
G.
M asukkan data Gaji
H.
M asukkan data Penilaian
I.
M asukkan data PutusKerja
J.
M asukkan data JenisPutusKerja
K.
M engubah atau menghapus data Pegawai
L.
M engubah atau menghapus data Absensi
M.
M engubah atau menghapus data Cuti
N.
M engubah atau menghapus data JenisCuti
O.
M engubah atau menghapus data Pelatihan 141
P.
M engubah atau menghapus data JenisPelatihan
Q.
M engubah atau menghapus data Gaji
R.
M engubah atau menghapus data Penilaian
S.
M engubah atau menghapus data PutusKerja
T.
M engubah atau menghapus data JenisPutusKerja
U.
Tampilkan data Pegawai
V.
Tampilkan data Pegawai berdasarkan Jabatan
W.
Tampilkan data Pegawai berdasarkan Absensi
X.
Tampilkan data Absensi
Y.
Tampilkan data Cuti
Z.
Tampilkan data JenisCuti
AA. Tampilkan data Pelatihan BB.
Tampilkan data JenisPelatihan
CC.
Tampilkan data Gaji
DD. Tampilkan data Penilaian EE.
Tampilkan data PutusKerja
FF.
Tampilkan data JenisPutusKerja
142
Tabel 4.36 Tabel Analisis Transaksi (1) A
B
C
D
R U D I
R U D I
R U D I
R U D I
X X
X X
Transaction
Entitas Pegawai
X
X X X
Jabatan
X
X
Telepon
X
X
Tanggungan
X
X
Pendidikan
X
X
Absensi
X
Cuti
X
JenisCuti
JenisPelatihan Gaji X
X
PutusKerja JenisPutusKerja
143
X X
Pelatihan
Penilaian
X
X
Tabel 4.37 Tabel Analisis Transaksi (2) E
F
G
H
R U D I
R U D I
R U D I
R U D I
X X
X X
Transaction
Entitas Pegawai
X X
Jabatan Telepon Tanggungan Pendidikan Absensi Cuti JenisCuti Pelatihan JenisPelatihan
X
X X
Gaji
X
Penilaian
X X
PutusKerja JenisPutusKerja
144
X
X
Tabel 4.38 Tabel Analisis Transaksi (3)
Entitas Pegawai
K
I
J
R U D I
R U D I
Transaction
X
X
R U D I R U D I X X
Jabatan
X X
Telepon
X X
Tanggungan
X X
Pendidikan
X X
Absensi
X X
Cuti JenisCuti Pelatihan JenisPelatihan Gaji Penilaian PutusKerja JenisPutusKerja
X X X
X X
145
L
X
Tabel 4.39 Tabel Analisis Transaksi (4) Transaction
Entitas
M
N
O
P
R U D I
R U D I
R U D I
R U D I
Pegawai Jabatan Telepon Tanggungan Pendidikan Absensi Cuti
X X
JenisCuti
X X
Pelatihan
X X
JenisPelatihan
X X
Gaji Penilaian PutusKerja JenisPutusKerja
146
Tabel 4.40 Tabel Analisis Transaksi (5) Transaction
Entitas
Q
R
S
T
R U D I
R U D I
R U D I
R U D I
Pegawai Jabatan Telepon Tanggungan Pendidikan Absensi Cuti JenisCuti Pelatihan JenisPelatihan Gaji
X X
Penilaian
X X
PutusKerja
X X
JenisPutusKerja
X X
147
Tabel 4.41 Tabel Analisis Transaksi (6) U
V
W
X
R U D I
R U D I
R U D I
R U D I
X
X
Transaction
Entitas Pegawai
X
Jabatan
X
Telepon Tanggungan Pendidikan Absensi
X
Cuti JenisCuti Pelatihan JenisPelatihan Gaji Penilaian PutusKerja JenisPutusKerja
148
X
Tabel 4.42 Tabel Analisis Transaksi (7) Y
Z
AA
BB
R U D I
R U D I
R U D I
R U D I
Transaction
Entitas Pegawai Jabatan Telepon Tanggungan Pendidikan Absensi Cuti JenisCuti
X X
Pelatihan
X
JenisPelatihan
X
Gaji Penilaian PutusKerja JenisPutusKerja
149
Tabel 4.43 Tabel Analisis Transaksi (8) CC
DD
EE
FF
R U D I
R U D I
R U D I
R U D I
Transaction
Entitas Pegawai Jabatan Telepon Tanggungan Pendidikan Absensi Cuti JenisCuti Pelatihan JenisPelatihan Gaji Penilaian
X X
PutusKerja
X
JenisPutusKerja
X
150
4.1.3.6.2 Pemilihan Indeks Setiap Entitas Pembuatan indeks pada tabel – tabel yang telah dibuat, diperlukan untuk meningkatkan performa dari sistem sewaktu dilakukan pencarian data. Indeks dibuat berdasarkan field yang sering digunakan dalam proses pencarian. Berikut adalah daftar indeks untuk masing – masing tabel yang ada:
Tabel 4.44 Tabel Pembuatan Indeks tiap Entitas Nama Tabel Pegawai
Indeks NIP
Nama Indeks Idx_NIP
(Primary Index) Jabatan
KodeJabatan
Idx_KodeJabatan
(Primary Index) Telepon
NoTelp
Idx_NoTelp
(Primary Index) NIP (Secondary Index) Tanggungan
KodeTanggungan
Idx_KodeTanggungan
(Primary Index) Pendidikan
KodePendidikan
Idx_KodePendidikan
(Primary Index) Absensi
KodeAbsensi (Primary Index)
151
Idx_KodeAbsensi
Cuti
KodeCuti
Idx_KodeCuti
(Primary Index) JenisCuti
KodeJenisCuti
Idx_KodeJenisCuti
(Primary Index) Pelatihan
KodePelatihan
Idx_KodePelatihan
(Primary Index) JenisPelatihan
KodeJenisPelatihan
Idx_KodeJenisPelatihan
(Primary Index) Gaji
KodeGaji
Idx_KodeGaji
(Primary Index) Penilaian
KodePenilaian
Idx_KodePenilaian
(Primary Index) PutusKerja
KodePutusKerja
Idx_KodePutusKerja
(Primary Index) JenisPutusKerja
KodeJenisPutusKerja (Primary Index)
152
Idx_KodeJenisPutusKerja
4.1.3.7 Mengestimasi Kapasitas Penyimpanan yang Dibutuhkan Pada tahap ini dilakukan perhitungan estimasi kebutuhan media penyimpanan. Hal ini dimaksudkan agar media penyimpanan dapat mencukupi. Estimasi kebutuhan media penyimpanan sebagai berikut: 1. Pegawai Atribut
Tipe Data
NIP
Varchar (5)
5
KodeJabatan
Varchar (5)
5
Nama
Varchar (100)
100
TempatLahir
Varchar (20)
20
TglLahir
Datetime
8
JenisKelamin
Boolean
1
Agama
Varchar (10)
10
Alamat
Varchar (100)
100
RT
Varchar (3)
3
RW
Varchar (3)
3
Kelurahan
Varchar (20)
20
Kecamatan
Varchar (20)
20
Kota
Varchar (20)
20
KodePos
Varchar (5)
5
StatusPernikahan
Varchar (15)
15
StatusPegawai
Varchar (15)
10
Jumlah =
153
Ukuran
345 byte
2. Jabatan Atribut
Tipe Data
Ukuran
KodeJabatan
Varchar (5)
5
NamaJabatan
Varchar (20)
20
Jumlah =
25 byte
3. Telepon Atribut
Tipe Data
Ukuran
NoTelp
Varchar (15)
15
NIP
Varchar (5)
5 Jumlah =
20 byte
4. Tanggungan Atribut
Tipe Data
KodeTanggungan
Varchar (5)
5
NIP
Varchar (5)
5
NamaTanggungan
Varchar (50)
50
TempatLahirTgn
Varchar (20)
20
TglLahirTgn
Datetime
8
JenisKelaminT gn
Boolean
1
HubunganTgn
Varchar (10)
10
PekerjaanT gn
Varchar (20)
20
Jumlah =
154
Ukuran
119 byte
5. Pendidikan Atribut
Tipe Data
Ukuran
KodePendidikan
Varchar (5)
5
NIP
Varchar (5)
5
Institusi
Varchar (50)
50
Jurusan
Varchar (50)
50
Periode
Varchar (50)
50
NilaiAkhir
Integer (11)
4
Jumlah =
164 byte
6. Absensi Atribut
Tipe Data
KodeAbsensi
Varchar (5)
5
NIP
Varchar (5)
5
TglAbsensi
Datetime
8
JamDatang
Datetime
8
JamPulang
Datetime
8
TotalJamKerja
Integer (11)
4
KetAbsensi
Varchar(100) Jumlah =
155
Ukuran
100 138 byte
7. Cuti Atribut
Tipe Data
Ukuran
KodeCuti
Varchar (5)
5
KodeJenisCuti
Varchar (5)
5
NIP
Varchar (5)
5
TglM ulaiCuti
Datetime
8
TglSelesaiCuti
Datetime
8
LamaCuti
Integer (11)
4
KetCuti
Varchar(100) Jumlah =
100 135 byte
8. JenisCuti Atribut
Tipe Data
Ukuran
KodeJenisCuti
Varchar (5)
5
NamaJenisCuti
Varchar (50)
50
Jumlah =
55 byte
9. Pelatihan Atribut
Tipe Data
KodePelatihan
Varchar (5)
5
KodeJenisPelatihan
Varchar (5)
5
NIP
Varchar (5)
5
NamaPelatihan
Varchar (100)
50
156
Ukuran
TglM ulai
Datetime
8
TglSelesai
Datetime
8
LamaPelatihan
Integer (11)
4
KetPelatihan
Varchar(100) Jumlah =
100 185 byte
10. JenisPelatihan Atribut
Tipe Data
Ukuran
KodeJenisPelatihan
Varchar (5)
5
NamaJenisPelatihan
Varchar (50)
50
Jumlah =
55 byte
11. Gaji Atribut
Tipe Data
Kode Gaji
Varchar (5)
5
NIP
Varchar (5)
5
GajiPokok
Integer (11)
4
Insentif
Integer (11)
4
Transportasi
Integer (11)
4
TotalGaji
Integer (11)
4
TglProsesGaji
Datetime
8
TglTerimaGaji
Datetime
8
KetGaji
Varchar(100) Jumlah = 157
Ukuran
100 142 byte
12. Penilaian Atribut
Tipe Data
Ukuran
KodePenilaian
Varchar (5)
5
NIP
Varchar (5)
5
Perilaku
Varchar(100)
100
Keahlian
Varchar(100)
100
HasilKerja
Varchar(100)
100
TglPenilaian
Datetime
KetPenilaian
Varchar(100)
8
Jumlah =
100 418 byte
13. PutusKerja Atribut
Tipe Data
KodePutusKerja
Varchar (5)
5
KodeJenisPutusKerja
Varchar (5)
5
NIP
Varchar (5)
5
TglProsesPutusKerja
Datetime
8
TglPutusKerja
Datetime
8
KetPutusKerja
Varchar(100) Jumlah =
158
Ukuran
100 131 byte
14. JenisPutusKerja Atribut
Tipe Data
Ukuran
KodeJenisPutusKerja
Varchar (5)
5
NamaJenisPutusKerja
Varchar (50)
50
Jumlah =
55 byte
Dari tabel diatas, diperkirakan besar ukuran record yang dapat digunakan untuk transaksi setiap tahunnya adalah: Tabel 4.45 Tabel Perkiraan Ukuran Record Transaksi Tabel
Size 1 Record
Perkiraan
Size Record
(byte)
Transaksi pertahun
pertahun (byte)
Pegawai
345
50
172500
Telepon
20
100
2000
Tanggungan
119
50
9950
Pendidikan
164
25
4100
Absensi
138
1000
138000
Cuti
135
12
1620
Pelatihan
185
10
1850
Gaji
142
65
9230
Penilaian
418
60
25080
PutusKerja
131
20
2620 Jumlah :
366950 byte
Perkiraan kebutuhan kapasitas disk untuk transaksi sebesar: 366950 Byte/tahun. 159
Untuk tabel master seperti Jabatan, JenisCuti, JenisPelatihan, dan JenisPutusKerja perhitungan akan dilakukan dengan cara berbeda karena jarang terjadi penambahan data. Tabel 4.46 Tabel Perkiraan Ukuran Record Master Tabel
Size 1 Record
Perkiraan Jumlah
Jumlah Size
(byte)
Record Awal
Record (byte)
Jabatan
25
13
325
JenisCuti
55
5
275
JenisPelatihan
55
5
275
JenisPutusKerja
55
2
110 Jumlah :
985 Byte
Perkiraan total kapasitas disk seluruhnya untuk tahun pertama adalah -
Tabel Master = 958 Byte
-
Transaksi = 366950 Byte
-
Total = 958 + 366950 = 367908 Byte = 359,285 KB = 0,351 M B Bila diperkirakan pertumbuhan data tiap tahunnya adalah 15%
maka kapasitas disk yang dibutuhkan dalam 5 tahun mendatang adalah: Tabel 4.47 Tabel Kebutuhan Kapasitas Disk Selama 5 Tahun Tahun
Jumlah disk tahun
Pertumbuhan data
Kebutuhan
ke - n
ke n-1
tiap tahun (15%)
Total
II
0,351 M B
0,05265 M B
0,40365 M B
III
0,40365M B
0,0605M B
0.4642M B
IV
0,4642 M B
0.67 M B
0,5338M B
V
0,5338 M B
0.8 M B
0, 6138 MB
160
4.1.3.8 Perancangan Mekanisme Keamanan Data Perancangan mekanisme keamanan dalam basis data ini bertujuan untuk membatasi pengaksesan basis data oleh user – user yang tidak berhak dan menspesifikasi user terhadap basis data yang dapat di akses. Ada dua mekanisme pengamanan data, yaitu mekanisme keamanan sistem dan mekanisme keamanan data. Keamanan sistem mencakup pengaksesan dan penggunaan dari basis data. Implementasi dari mekanisme keamanan ini adalah pembuatan halaman login sebelum memasuki halaman utama dari sistem. Halaman login mengharuskan user untuk memasukkan NIP dan password. User yang tidak memiliki dan tidak menggunakan NIP dan password tidak dapat mengakses sistem. Keamanan data mencakup pengaksesan dan penggunaan objek basis data seperti melihat (R), menambah (I), mengubah (U), dan menghapus (D) data yang ada dalam basis data. Untuk pengaksesan data, setiap pegawai harus melakukan login untuk dapat mengkases aplikasi ini.
161
Tabel 4.48 Tabel Pengamanan Data Service
Admin
Admin
Divisi
Pegawai
Entitas
HRD
Accounting
Pegawai
RUDI
R
R
R
Jabatan
RUDI
-
-
R
Telepon
RUDI
-
-
R
Tanggungan
RUDI
-
-
R
Pendidikan
RUDI
-
-
R
Absensi
RUDI
R
R
R
RI
R
RUDI
RI
JenisCuti
RUDI
-
R
-
Pelatihan
RUDI
-
RUDI
R
JenisPelatihan
RUDI
-
R
-
R
RUDI
-
R
Penilaian
RUDI
R
RUDI
R
PutusKerja
RUDI
R
-
-
JenisPutusKerja
RUDI
-
-
-
Cuti
Gaji
•
Admin HRD GRANT ALL ON Pegawai TO Admin HRD WITH GRANT OPTION GRANT ALL ON Jabatan TO Admin HRD WITH GRANT OPTION GRANT ALL ON Telepon TO Admin HRD WITH GRANT OPTION GRANT ALL ON Tanggungan TO Admin HRD WITH GRANT OPTION
162
GRANT ALL ON Pendidikan TO Admin HRD WITH GRANT OPTION GRANT ALL ON Absensi TO Admin HRD WITH GRANT OPTION GRANT INS ERT ON Cuti TO Admin HRD WITH GRANT OPTION GRANT ALL ON JenisCuti TO Admin HRD WITH GRANT OPTION GRANT ALL ON Pelatihan TO Admin HRD WITH GRANT OPTION GRANT ALL ON JenisPelatihan TO Admin HRD WITH GRANT OPTION GRANT S ELECT Gaji TO Admin HRD WITH GRANT OPTION GRANT ALL ON Penilaian TO Admin HRD WITH GRANT OPTION GRANT ALL ON PutusKerja TO Admin HRD WITH GRANT OPTION GRANT ALL ON JenisPutusKerja TO Admin HRD WITH GRANT OPTION GRANT ALL ON Pegawai TO Admin HRD WITH GRANT OPTION
163
•
Admin Accounting GRANT S ELECT Pegawai TO Admin Accounting WITH GRANT OPTION GRANT S ELECT Absensi TO Admin Accounting WITH GRANT OPTION GRANT S ELECT Cuti TO Admin Accounting WITH GRANT OPTION GRANT ALL ON Gaji TO Admin Accounting WITH GRANT OPTION GRANT S ELECT Penilaian TO Admin Accounting WITH GRANT OPTION GRANT S ELECT PutusKerja TO Admin Accounting WITH GRANT OPTION
• Divisi GRANT S ELECT Pegawai TO Divisi WITH GRANT OPTION GRANT S ELECT Absensi TO Divisi WITH GRANT OPTION GRANT ALL ON Cuti TO Divisi WITH GRANT OPTION GRANT S ELECT ON JenisCuti TO Divisi WITH GRANT OPTION GRANT ALL ON Pelatihan TO Divisi WITH GRANT OPTION GRANT S ELECT ON JenisPelatihan TO Divisi WITH GRANT OPTION 164
GRANT ALL ON Penilaian TO Divisi WITH GRANT OPTION
• Pegawai GRANT S ELECT Pegawai TO Pegawai WITH GRANT OPTION GRANT S ELECT Jabatan TO Pegawai WITH GRANT OPTION GRANT S ELECT Telepon TO Pegawai WITH GRANT OPTION GRANT S ELECT Tanggungan TO Pegawai WITH GRANT OPTION GRANT S ELECT Pendidikan TO Pegawai WITH GRANT OPTION GRANT S ELECT Absensi TO Pegawai WITH GRANT OPTION GRANT INS ERT Cuti TO Pegawai WITH GRANT OPTION GRANT S ELECT Gaji TO Pegawai WITH GRANT OPTION GRANT S ELECT Pelatihan TO Pegawai WITH GRANT OPTION GRANT S ELECT Penilaian TO Pegawai WITH GRANT OPTION
165
4.2 Perancangan Aplikasi Perancangan aplikasi ini merupakan rancangan aplikasi yang akan dibuat. Rancangan aplikasi ini dimulai dari merancang struktur menu, pembuatan State Trantition Diagram (STD), serta spesifikasi proses atau modul. 4.2.1 S truktur Menu Struktur menu menjelaskan tentang susunan dari menu yang ada di dalam perancangan aplikasi yang digunakan.
166
a. Struktur M enu Bagi Admin HRD
Tabel 4.7 S truktur Menu Bagi Admin HRD
167
b. Struktur M enu Bagi Admin Accounting
Menu Indeks
Home
Profile
View Profile Pegawai
Absen
View Absensi Pegawai
Penilaian
View Penilaian Pegawai
Cuti
View Cuti Pegawai
Gaji
View Gaji Pegawai
Putus Kerja
View Putus Kerja Pegawai
Input Gaji Pegawai
Edit Gaji Pegawai
Logout
Tabel 4.8 S truktur Menu Bagi Admin Accounting
168
Delete Gaji Pegawai
c. Struktur M enu Bagi Divisi
Menu Indeks
Home
Profile
View Profile Pegawai
Absen
View Absensi Pegawai
Penilaian
View Penilaian Pegawai
Input Penilaian Pegawai
Edit Penilaian Pegawai
Delete Penilaian Pegawai
Pelatihan
View Pelatihan Pegawai
Input Pelatihan Pegawai
Edit Pelatihan Pegawai
Delete Pelatihan Pegawai
Cuti
View Cuti Pegawai
Input Cuti Pegawai
Edit Cuti Pegawai
Delete Cuti Pegawai
Logout
Tabel 4.9 S truktur Menu Bagi Divisi
169
d. Struktur M enu Bagi Pegawai
Tabel 4.10 S truktur Menu Bagi Pegawai 170
4.2.2 State Trantition Diagram (S TD) M enurut Whitten, Bentley, Dittman (2004, p673), State Trantition Diagram (STD) adalah suatu alat yang digunakan untuk menggambarkan urutan dan variasi layar yang terjadi selama satu sesi pengguna. Berikut ini merupakan STD aplikasi kepegawaian pada Firma Hukum N SM P. a.
S TD Admin HRD
Gambar 4.11 S TD Layar Indeks Admin HRD
171
Gambar 4.12 S TD Layar Profile Admin HRD
Gambar 4.13 S TD Layar Absen Admin HRD
172
Gambar 4.14 S TD Layar Penilaian Admin HRD
Pelatihan Klik Update ---------------------------------Tampilkan Form Edit Pelatihan Pegawai
Klik Delete -----------------------------------Tampilkan Konfirmasi Delete Pelatihan Pegawai
Edit Pelatihan Pegawai
Klik Input -----------------------------------Tampilkan Form Isi Pelatihan Pegawai
Input Pelatihan Pegawai Klik View -----------------------------------Tampilkan Detail Pelatihan Pegawai
Delete Pelatihan Pegawai
Lihat Detail Pelatihan Pegawai
Klik Submit ------------------------------Tampilkan Detail Hasil Input Pelatihan Pegawai
Tampilkan Detail Pelatihan pegawai
Gambar 4.15 S TD Layar Pelatihan Admin HRD
173
Gambar 4.16 S TD Layar Cuti Admin HRD
Gambar 4.17 S TD Layar Gaji Admin HRD
174
Gambar 4.18 S TD Layar Putus Kerja Admin HRD
b.
S TD Admin Accounting
Gambar 4.19 S TD Layar Indeks Admin Accounting
175
Gambar 4.20 S TD Layar Profile Admin Accounting
Gambar 4.21 S TD Layar Absen Admin Accounting
Gambar 4.22 S TD Layar Penilaian Admin Accounting
176
Gambar 4.23 S TD Layar Cuti Admin Accounting
Gambar 4.24 S TD Layar Gaji Admin Accounting
177
Gambar 4.25 S TD Layar Putus Kerja Admin Accounting
c.
S TD Divisi
Gambar 4.26 S TD Layar Indeks Divisi
178
Gambar 4.27 S TD Layar Profile Divisi
Gambar 4.28 S TD Layar Absen Divisi
Gambar 4.29 S TD Layar Penilaian Divisi 179
Gambar 4.30 S TD Layar Pelatihan Divisi
Gambar 4.31 S TD Layar Cuti Divisi 180
d.
S TD Pegawai
Gambar 4.32 S TD Layar Indeks Pegawai
Gambar 4.33 S TD Layar Profile Pegawai
181
Gambar 4.34 S TD Layar Absen Pegawai
Gambar 4.35 S TD Layar Penilaian Pegawai
Gambar 4.36 S TD Layar Pelatihan Pegawai
182
Gambar 4.37 S TD Layar Cuti Pegawai
Gambar 4.38 S TD Layar Gaji Pegawai
183
4.2.3 Perancangan Layar Gambar – gambar berikut merupakan rancangan layar yang akan dibuat dan berfungsi sebagai sarana untuk memasukkan data ke dalam aplikasi yang telah dirancang. Rancangan layar untuk aplikasi ini terbagi atas empat yaitu rancangan layar Admin HRD, Admin Accounting, Divisi dan Pegawai. Berikut ini adalah gambar rancangan layar yang telah dibuat: a. Rancangan Layar Admin HRD
Gambar 4.39 Rancangan Layar Input Login Admin HRD
184
Gambar 4.40 Rancangan Layar home Admin HRD
Gambar 4.41 Rancangan Layar Profile Admin HRD
185
Gambar 4.42 Rancangan Layar View Profile Admin HRD
Gambar 4.43 Rancangan Layar Absen Admin HRD
186
Gambar 4.44 Rancangan Layar Rekapitulasi Absen Admin HRD
Gambar 4.45 Rancangan Layar Input Pelatihan Admin HRD
187
Gambar 4.46 Rancangan Layar Input Data pegawai Admin HRD
Gambar 4.47 Rancangan Layar Input Penilaian Admin HRD
188
Gambar 4.48 Rancangan Layar Input Cuti Admin HRD
Gambar 4.49 Rancangan Layar Cuti Admin HRD
189
Gambar 4.50 Rancangan Layar Gaji Admin HRD
Gambar 4.51 Rancangan Layar Input Putus Kerja Admin HRD
190
b. Rancangan Layar Admin Accounting
Gambar 4.52 Rancangan Layar Input Login Admin Accounting
Gambar 4.53 Rancangan Layar Home Admin Accounting
191
Gambar 4.54 Rancangan Layar Profile Admin Accounting
Gambar 4.55 Rancangan Layar Absen Admin Accounting
192
Gambar 4.56 Rancangan Layar Pelatihan Admin Accounting
Gambar 4.57 Rancangan Layar Penilaian Admin Accounting
193
Gambar 4.58 Rancangan Layar Input Gaji Admin Accounting
Gambar 4.59 Rancangan Layar Putus Kerja Admin Accounting
194
c. Rancangan Layar Divisi
Gambar 4.60 Rancangan Layar Input Login Divisi
Gambar 4.61 Rancangan Layar Home Divisi
195
Gambar 4.62 Rancangan Layar Profile Divisi
Gambar 4.63 Rancangan Layar Absen Divisi
196
Gambar 4.64 Rancangan Layar Pelatihan Divisi
Gambar 4.65 Rancangan Layar Penilaian Divisi
197
Gambar 4.66 Rancangan Layar Cuti Divisi
Gambar 4.67 Rancangan Layar Gaji Divisi
198
d. Rancangan Layar Pegawai
Gambar 4.68 Rancangan Layar Input Login Pegawai
Gambar 4.69 Rancangan Layar Home Pegawai
199
Gambar 4.70 Rancangan Layar Profile Pegawai
Gambar 4.71 Rancangan Layar Absen Pegawai
200
Gambar 4.72 Rancangan Layar Pelatihan Pegawai
Gambar 4.73 Rancangan Layar Penilaian Pegawai
201
Gambar 4.74 Rancangan Layar Input Cuti Pegawai
Gambar 4.75 Rancangan Layar Cuti Pegawai
202
Gambar 4.76 Rancangan Layar Gaji Pegawai
203
4.3 Implementasi 4.3.1 S pesifikasi Perangkat Keras Spesifikasi hardware atau perangkat keras minimum yang diperlukan untuk mengimplementasikan aplikasi basis data pada Firma Hukum NSM P adalah sebagai berikut: a. Server Proccessor
: Intel Pentium IV 3.0 Ghz
Memory
: 2 GB RAM
Hardisk
: 160 GB
Monitor, Keyboard, dan Mouse b. Client Proccessor
: Intel Pentium IV 2.4 Ghz
Memory
: 1 GB RAM
Hard Disk
: 80 GB
Monitor, Keyboard, dan Mouse
4.3.2 S pesifikasi Perangkat Lunak Spesifikasi software atau perangkat lunak yang diperlukan untuk pengimplementasian aplikasi kepegawaian pada Firma Hukum NSM P adalah sebagai berikut : a. Server •
M icrosoft Windows XP
•
Adobe Dreamweaver CS3
204
•
MySQL
•
XAM PP 1.6.7
•
Internet Browser (M ozilla Firefox, Google Chrome)
b. Client •
M icrosoft Windows XP
•
Internet Browser (M ozilla Firefox, Google Chrome)
4.3.3 Jadwal Implementasi Berikut ini merupakan rencana jadwal perancangan sistem basis data dan aplikasinya yang dimulai dari analisis kebutuhan, pengumpulan data, perancangan dan pembuatan aplikasi, demo aplikasi, sampai dengan evaluasi dalam waktu 12 minggu. Tabel 4.49 Tabel Jadwal Implementasi M inggu Kegiatan 1
2
3
4
Analisis Kebutuhan Pengumpulan Data Perancangan Aplikasi Pembuatan Aplikasi Demo Aplikasi Evaluasi
205
5
6
7
8
9
10
11
12
4.3.4 Arsitektur Jaringan Arsitektur jaringan yang akan diterapkan bertipe star topology. Komputer – komputer akan dihubungkan melalui switch dan pada arsitektur jaringan tersebut terdapat sebuah server dan workstation – workstation yang terhubung dalam jaringan pada setiap admin dimana pada setiap admin hanya terdapat satu workstation yang terhubung dengan server.
Gambar 4.77 Arsitektur Aplikasi
206
4.3.5 Petunjuk Pemakaian Sistem Berikut ini adalah petunjuk pemakaian sistem dari aplikasi kepegawaian. Aplikasi dimulai dengan membuka browser lalu masukan alamat website, setelah itu akan tampil layar login. Halaman Login
Gambar 4.78 Halaman Login Halaman ini adalah halaman login yang digunakan semua user yang ingin menggunakan aplikasi ini. Halaman ini berfungsi untuk membatasi akses user ke basis data sesuai dengan hak akses yang dimiliki. Jika user mengklik tombol ‘login’, akan dilakukan validasi apakah NIP yang di masukan sesuai dengan data dalam basis data. Jika sesuai dengan data dalam basis data maka akan masuk ke layar awal. 207
a. Petunjuk Pemakaian Sistem Admin HRD
Gambar 4.79 Halaman Home Admin HRD Halaman awal Admin HRD adalah halaman utama ketika user dengan level admin HRD melakukan login. Pada layar ini terdapat beberapa menu pilihan, yaitu menu data (berisi sub menu home, profile, absen, pelatihan, input data pegawai, penilaian, cuti, gaji, dan putus kerja).
208
Jika pada halaman utama Admin HRD memilih sub menu Profile, maka akan ditampilkan layar Profile.
Gambar 4.80 Halaman Profile Admin HRD
Pada layar ini Admin HRD dapat melihat data Profile semua pegawai. Terdapat button view, edit dan delete. Jika button tersebut di-klik maka akan menampilkan seperti dibawah ini.
209
Jika pada halaman Profile Admin HRD memilih sub menu Edit, maka akan ditampilkan layar.
Gambar 4.81 Halaman Profile S ub Menu Edit Admin HRD
Pada Halaman ini Admin HRD dapat mengedit profile seluruh pegawai yang bekerja di Firma Hukum N SM P.
210
Jika pada halaman Profile Admin HRD memilih sub menu View, maka akan ditampilkan layar.
Gambar 4.82 Halaman Profile S ub Menu View Admin HRD
Pada layar ini Admin HRD dapat melihat detail data Profile dari semua pegawai.
211
Jika pada halaman Profile Admin HRD memilih sub menu Delete, maka akan ditampilkan dilayar.
Gambar 4.83 Halaman Profile S ub Menu Delete Admin HRD
Pada Halaman ini Admin HRD dapat menghapus data profile pegawai.
212
Jika pada halaman utama Admin HRD memilih sub menu Input data pegawai pada menu data, maka akan ditampilkan layar.
Gambar 4.84 Halaman Input Data Pegawai Admin HRD
Pada layar ini Admin HRD dapat M enginput data semua pegawai yang nantinya akan tampil di layar profile semua pegawai.
213
Jika pada halaman utama Admin HRD memilih sub menu Absensi pada menu data, maka akan ditampilkan layar absensi.
Gambar 4.85 Halaman Absen Admin HRD
Pada layar ini admin HRD dapat melihat data absensi yang dia lakukan terhadap periode tertentu. Terdapat keterangan tanggal kapan pegawai melakukan absensi beserta dengan jam datang, jam pulang, hari dan total jam kerja pegawai untuk satu hari.
214
Jika pada halaman Absen Admin HRD memilih sub menu Rekapitulasi Absen, maka akan ditampilkan layar.
Gambar 4.86 Halaman Rekapitulasi Absen Admin HRD
Pada layar ini admin HRD dapat melihat data rekap absensi pegawai yang dilakukan pada periode tertentu. Terdapat keterangan tanggal kapan pegawai melakukan absensi beserta jam datang, jam pulang, hari dan total jam kerja tiap pegawai.
215
Jika pada halaman utama Admin HRD memilih sub menu Pelatihan pada menu data, maka akan ditampilkan dilayar.
Gambar 4.87 Halaman Pelatihan Admin HRD
Pada Layar ini Admin HRD dapat menginput pelatihan jika ada pegawai yang harus mengikuti pelatihan.
216
Jika pada halaman Utama Admin HRD memilih sub menu Penialaian pada menu data Penilaian, maka akan ditampilkan layar.
Gambar 4.88 Halaman Penilaian Admin HRD
Pada layar ini Admin HRD dapat memberikan dan menginput penilaian hasil kerja para pegawai selama bekerja di Firma Hukum N SM P.
217
Jika pada halaman Utama Admin HRD memilih sub menu cuti menu data cuti, maka akan ditampilkan layar cuti.
Gambar 4.89 Halaman Cuti Admin HRD
Pada halaman ini Admin HRD dapat menginput data cuti, jika Admin HRD ingin mengambil cuti.
218
Jika pada halaman cuti Admin HRD memilih sub menu my cuti menu data cuti, maka akan ditampilkan layar my cuti
Gambar 4.90 Halaman My Cuti Admin HRD
Pada Halaman ini Admin HRD dapat melihat rekap cuti yang diinput mulai dari NIP, kode cuti, kode jenis cuti, jenis cuti, tanggal mulai, tanggal selesai, total cuti, status apakah sudah di approve oleh Admin Divisi dan juga jika tidak jadi mengambil cuti, Admin HRD dapat mengcancel nya.
219
Jika pada halaman Utama Admin HRD memilih sub menu Gaji, maka akan ditampilkan layar Gaji.
Gambar 4.91 Halaman Gaji Admin HRD
Pada Halaman ini Admin HRD dapat melihat data Gaji yang Pegawai peroleh dalam periode tertentu. Terdapat rincian gaji yang telah diperoleh.
220
Jika pada halaman Utama Admin HRD memilih sub menu Putus Kerja, maka akan ditampilkan layar.
Gambar 4.92 Halaman Putus Kerja Admin HRD
Pada Halaman ini Admin HRD dapat menginput status Putus Kerja Pegawai . Jika ada pegawai yang ingin memutuskan kerja atau diputuskan kerjanya dengan Firma Hukum NSM P.
221
b. Petunjuk Pemakaian Sistem Admin Accounting
Gambar 4.93 Halaman Home Admin Accounting
Halaman Admin Accounting adalah halaman ketika user dengan level Admin Accounting melakukan login. Pada layar ini Terdapat menu pilihan, yaitu menu data ( berisi sub menu home, profile, absen, pelatihan, penilaian, cuti, dan gaji).
222
Jika pada halaman utama Admin Accounting memilih sub menu Profile pada menu data, maka akan ditampilkan layar Profile.
Gambar 4.94 Halaman Profile Admin Accounting
Pada layar ini Admin Accounting dapat melihat data Profile. Terdapat keterangan NIP, Nama, Password, Jenis kelamin, Tempat lahir, Tanggal lahir, Agama, Status nikah, Alamat, kelurahan, telepon serta foto.
223
Jika pada halaman utama Admin Keuangan memilih sub menu Absensi pada menu data, maka akan ditampilkan dilayar absensi
Gambar 4.95 Halaman Absen Admin Accounting
Pada halaman ini Admin Accounting dapat melihat data absensi yang telah dilakukan selama periode tertentu. Terdapat keterangan tanggal kapan pegawai melakukan absensi beserta jam datang, jam pulang, hari dan total jam kerja pegawai.
224
Jika pada halaman Utama Admin Accounting memilih sub menu Pelatihan, maka akan ditampilkan layar.
Gambar 4.96 Halaman Pelatihan Admin Accounting
Pada halaman ini Admin Accounting dapat menginput data pelatihan jika Admin Accounting ingin mengikuti pelatihan.
225
Jika pada halaman Pelatihan Admin Accounting memilih sub menu M y Pelatihan pada menu data, maka akan ditampilkan dilayar.
Gambar 4.97 Halaman My Pelatihan Admin Accounting
Pada Halaman ini Admin Accounting dapat melihat rekap Pelatihan yang telah diinput mulai dari NIP, kode Pelatihan, kode jenis pelatihan, jenis pelatihan, tanggal mulai, tanggal selesai, lama pelatihan, keterangan pelatihan, dan status apakah sudah di approve oleh Admin Divisi dan juga jika tidak jadi mengikuti pelatihan, Admin Accounting dapat membatalkannya.
226
Jika pada halaman Utama Admin Accounting memilih sub menu Penilaian pada menu data Penilaian, maka akan ditampilkan layar.
Gambar 4.98 Halaman Penilaian Admin Accounting
Pada halaman ini Admin Keuangan dapat M elihat hasil penilaian selama Admin Accounting bekerja di Firma Hukum NSM P.
227
Jika pada halaman Utama Admin Accounting memilih sub menu cuti menu data cuti, maka akan ditampilkan layar cuti.
Gambar 4.99 Halaman Input Cuti Admin Accounting
Pada halaman ini Admin Accounting dapat menginput data cuti, jika Admin Accounting ingin mengambil cuti.
228
Jika pada halaman cuti Admin Accounting memilih sub menu my cuti menu data cuti, maka akan ditampilkan layar my cuti
Gambar 4.100 Halaman My Cuti Admin Accounting
Pada Halaman ini Admin Accounting dapat melihat rekap cuti yang telah diinput mulai dari NIP, kode cuti, kode jenis cuti, jenis cuti, tanggal mulai, tanggal selesai, total cuti, status apakah sudah di approve oleh Admin Divisi dan juga jika tidak jadi cuti Admin Accounting dapat membatalkannya.
229
Jika pada halaman Utama Admin Accounting memilih sub menu Gaji, maka akan ditampilkan layar Gaji.
Gambar 4.101 Halaman Gaji Admin Accounting
Pada Halaman ini Admin Accounting dapat menginput keseluruhan hasil gaji semua pegawai di Firma Hukum NSM P.
230
Halaman Putus Kerja Jika pada halaman Utama Admin Accounting memilih sub menu Putus Kerja, maka akan ditampilkan layar .
Gambar 4.102 Halaman Putus Kerja Admin Accounting
Pada Halaman ini Admin Accounting dapat melihat siapa saja yang putus kerja setelah diinput datanya oleh Admin HRD.
231
c. Petunjuk Pemakaian Sistem Divisi
Gambar 4.103 Halaman Utama Divisi
Halaman awal Divisi adalah halaman utama ketika user dengan level admin Divisi melakukan login. Pada layar ini hanya terdapat pilihan ( berisi sub menu home, profile, absen, pelatihan, cuti, gaji).
232
Jika pada halaman utama Admin Divisi memilih sub menu Profile pada menu data, maka akan ditampilkan dilayar Profile.
Gambar 4.104 Halaman Profile Divisi
Pada layar ini Divisi dapat melihat data Profile. Terdapat keterangan Nip, Nama, Password, Jenis kelamin, Tempat lahir, Tanggal lahir, A gama, Status nikah, Alamat, kelurahan, telepon serta foto.
233
Jika pada halaman utama Divisi memilih sub menu Absensi pada menu data, maka akan ditampilkan layar absensi
Gambar 4.105 Halaman Absen Divisi
Pada halaman ini Admin Divisi dapat melihat data absensi yang dia lakukan terhadap periode tertentu. Terdapat keterangan tanggal kapan Admin Divisi melakukan absensi beserta jam datang, jam pulang, hari dan total jam kerja pegawai.
234
Jika pada halaman Utama Admin Divisi memilih sub menu Pelatihan, maka akan ditampilkan layar.
Gambar 4.106 Halaman Pelatihan Divisi
Pada Halaman ini Admin Divisi dapat M eng-approve pelatihan yang di minta oleh pegawai.
235
Jika pada halaman Utama Admin Divisi memilih sub menu Penialaian pada menu data Penilaian, maka akan ditampilkan layar.
Gambar 4.107 Halaman Penilaian Divisi
Pada layar ini Admin Admisi dapat mengapprove penilaian kinerja pegawai yang sudah di input oleh Admin HRD.
236
Jika pada halaman Utama Admin Divisi memilih sub menu cuti menu data cuti, maka akan ditampilkan layar cuti.
Gambar 4.108 Halaman Cuti Divisi
Pada Halaman ini Admin Divisi dapat melihat semua permintaan cuti pegawai, accounting dan HRD. Admin Divisi dapat meng approve cuti semua pegawai jika dia menyetujui permintaan cuti tersebut.
237
Jika pada halaman Utama Admin Divisi memilih sub menu Gaji, maka akan ditampilkan layar Gaji.
Gambar 4.109 Halaman Gaji Divisi
Pada Halaman ini Admin Divisi dapat melihat data Gaji yang dia peroleh dalam periode tertentu. Terdapat rincian gaji yang dia peroleh.
238
d. Petunjuk Pemakaian Sistem Pegawai
Gambar 4.110 Halaman Utama Pegawai
Halaman awal Pegawai adalah halaman utama ketika user dengan level pegawai melakukan login. Pada layar ini hanya terdapat pilihan ( berisi sub menu home, profile, absen, pelatihan, cuti, dan gaji).
239
Jika pada halaman utama Pegawai memilih sub menu Profile pada menu data, maka akan ditampilkan dilayar Profile.
Gambar 4.111 Halaman Profile Pegawai
Pada layar ini Pegawai dapat melihat data Profile. Terdapat keterangan Nip, Nama, Password, Jenis kelamin, Tempat lahir, Tanggal lahir, A gama, Status nikah, Alamat, kelurahan, telepon serta foto.
240
Jika pada halaman utama Pegawai memilih sub menu Absensi pada menu data, maka akan ditampilkan dilayar absensi
Gambar 4.112 Halaman Absen Pegawai
Pada halaman ini Pegawai dapat melihat data absensi yang pegawai lakukan selama periode tertentu. Terdapat keterangan tanggal kapan pegawai melakukan absensi beserta jam datang, jam pulang, hari dan total jam kerja pegawai untuk satu hari kerja. .
241
Jika pada halaman utama Pegawai memilih sub menu Pelatihan pada menu data, maka akan ditampilkan dilayar.
Gambar 4.113 Halaman Pelatihan Pegawai
Pada Layar ini Pegawai dapat menginput pelatihan jika dia mau mengikuti pelatihan.
242
Jika pada halaman Pelatihan Pegawai memilih sub menu My Pelatihan pada menu data, maka akan ditampilkan dilayar.
Gambar 4.114 Halaman My Pelatihan Pegawai
Pada Halaman ini Pegawai dapat melihat rekap Pelatihan yang telah diinput mulai dari NIP, kode Pelatihan, kode jenis pelatihan, jenis pelatihan, tanggal mulai, tanggal selesai, lama pelatihan, keterangan pelatihan, dan status apakah sudah di approve oleh Admin Divisi dan juga jika tidak jadi mengikuti pelatihan, pegawai dapat mengbatalkannya
243
Jika pada halaman Utama Pegawai memilih sub menu Penilaian pada menu data Penilaian, maka akan ditampilkan layar.
Gambar 4.115 Halaman Penilaian Pegawai
Pada halaman ini Pegawai dapat M elihat hasil penilaian selama dia bekerja di Firma Hukum NSM P.
244
Jika pada halaman Utama Pegawai memilih sub menu cuti menu data cuti, maka akan ditampilkan layar cuti.
Gambar 4.116 Halaman Cuti Pegawai
Pada halaman ini pegawai dapat menginput data cuti, jika pegawai ingin mengambil cuti.
245
Jika pada halaman cuti Pegawai memilih sub menu my cuti menu data cuti, maka akan ditampilkan layar my cuti
Gambar 4.117 Halaman My Cuti Pegawai
Pada Halaman ini Pegawai dapat melihat rekap cuti yang telah diinput mulai dari NIP, kode cuti, kode jenis cuti, jenis cuti, tanggal mulai, tanggal selesai, total cuti, status apakah sudah di approve oleh Admin Divisi dan juga jika tidak jadi cuti, permohonan dapat dibatalkan.
246
Jika pada halaman Utama Pegawai memilih sub menu Gaji, maka akan ditampilkan layar Gaji.
Gambar 4.113 Halaman Gaji Pegawai
Pada Halaman ini Pegawai dapat melihat data Gaji yang pegawai peroleh dalam periode tertentu. Terdapat rincian gaji yang dia peroleh secara lengkap.
247
4.4 Evaluasi 4.4.1 Evaluasi Sistem Untuk evaluasi sistem ini, dilakukan pengujian terhadap Domain Integrity, Entity Integrity, Referential Integrity, dan Security pada basis data yang telah dirancang. 1. Domain Integrity Pengujian domain integrity dibuktikan dengan berhasilnya batasan atau validasi input nilai yang diberikan. Sebagai contoh adalah pada tabel Pegawai, dimana NIP memiliki domain atribut tipe data panjang karakter 5, maka input nilai yang tidak sesuai dengan domain atribut, tidak dapat dimasukkan. Hanya input nilai yg sesuai dengan yang ditentukan yang dapat diterima. Hasil evaluasi domain integrity adalah bahwa seluruh tabel telah sesuai dengan domain yang ditentukan sebelumnya. 2. Entity Integrity Pengujian yang dilakukan adalah menguji seluruh tabel dan memastikan bahwa tidak ada atribut dari suatu primary key yang bernilai NULL. Serta tidak ada dua record yang sama pada primary key dari satu strong entity. Sebagai contoh adalah primary key pada tabel Pegawai (NIP) tidak boleh bernilai NULL dan entitas Pegawai merupakan strong entity sehingga harus diuji bahwa tidak ada dua record yang sama didalam tabel Pegawai tersebut. Hasil dari evaluasi entity integrity menunjukan bahwa tabel yang ada telah memenuhi kriteria lulus uji. 248
3. Referential Integrity Pengujian yang dilakukan untuk membuktian referential integrity adalah setiap tabel telah saling berhubungan, terdapat foreign key didalam tabel yang terhubung tersebut, dan nilai foreign key harus sesuai dengan primary key yang ada pada tabel penghubung. Sebagai contoh adalah tabel Penilaian yang terhubung dengan tabel Pegawai. Oleh karena itu, dilakukan pengujian bahwa foreign key pada tabel Pelatihan (NIP) sesuai dengan primary key pada tabel Pegawai (NIP). Hasil pengujian referential integrity membuktikan bahwa seluruh tabel telah saling terhubung dengan baik dimana terdapat foreign key dengan nilai yang sama dengan primary key dari tabel yang terhubung. 4. Security Tujuan dari evaluasi security adalah untuk menguji apakah seluruh tabel memiliki keamanan yang sesuai dengan mekanisme keamanan yang baik agar tidak terjadi penyimpangan atau penyalahgunaan data yang ada. Sebagai contoh adalah dimana setiap user memiliki NIP yang berfungsi untuk digunakan saat melakukan login kedalam aplikasi yang juga menentukan hak akses yang berbeda – beda. Hasil evaluasi security menunjukan bahwa seluruh tabel sudah dapat berjalan dengan benar mengikuti mekanisme keamanan dengan baik.
249
4.4.2 Evaluasi User Dari hasil evaluasi yang dilakukan oleh user, dapat ditarik kesimpulan bahwa sistem aplikasis basis data ini telah cukup memenuhi kebutuhan dari Firma Hukum NSM P. Hal ini dapat terlihat dari hasil evaluasi sistem aplikasi oleh user yang diperoleh dari proses wawancara dengan salah satu dari user – user yang akan menjadi pengguna langsung dari sistem ini yaitu Admin HRD, Admin Accounting, Divisi dan Pegawai. Hasil wawancara terhadap user terlampir pada lampiran.
4.5 Backup and Recovery Backup dan recovery basis data adalah salah satu kegiatan pengelolaan basis data dengan melakukan penyalinan data. Hal ini dilakukan untuk menjaga agar tidak terjadi kerusakan sistem dari luar atau dalam yang disengaja atau tidak disengaja. 4.5.1 Backup Basis Data Backup basis data dilakukan secara rutin sesuai dengan jadwal yang sebelumnya telah ditentukan. Dengan adanya backup data yang ada pada basis data, kemungkinan hilangnya data apabila terjadi kerusakan dapat dihindari. Object yang akan di backup adalah basis data, catatan log, dan entitas. Periode untuk proses backup basis data dapat dilakukan secara rutin mulai dari mingguan, bulanan, dan tahunan. M edia yang dapat digunakan untuk melakukan backup basis data yaitu harddisk. Rencana backup yang dilakukan adalah sebagai berikut:
250
Tabel 4.50 Tabel Rencana Backup Waktu Backup
Media Penyimpanan
Mekanisme
M ingguan
Harddisk
Backup secara manual
Bulanan
Harddisk dan CD
Backup secara manual
Tahunan
Harddisk dan CD
Backup secara manual
4.5.2 Recovery Basis Data Recovery basis data dilakukan apabila terjadi kerusakan atas media penyimpanan data. Kegiatan recovery basis data dilakukan dengan proses restore data berdasarkan transaksi yang terakhir kali disimpan.
4.6 Pelatihan Pada tahap ini dilakukan presentasi bagaimana cara penggunaan aplikasi sistem kepegawaian kepada user. Hal ini bertujuan agar user dapat menggunakan dan memanfaatkan aplikasi sistem kepegawaian dengan baik dan benar.
251