82 BAB 4
PERANCANGAN DAN IMPLEMENTAS I
4.1 Perancangan Sistem Basis Data
Perancangan basis data dilakukan sesuai dengan kebutuhan informasi dari PT. M ekar Prana Indah, difokuskan pada perancangan basis data yang meliputi tiga tahap antara lain:
1. Perancangan Basis Data Konseptual. 2. Perancangan Basis Data Logikal. 3. Perancangan Basis Data Fisikal
4.1.1 Perancangan Basis Data Konseptual
Pada tahapan perancangan basis data konseptual ini, perancangan basisdata dipusatkan pada pemrosesan suatu model dari informasi yang akan digunakan dalam suatu organisasi, yang independensinya tidak tergantung apapun.
Beberapa langkah penting dalam merancang basis data secara konseptual adalah : 1. Identifikasi tipe entitas
2. Identifikasi tipe relasional
3. Identifikasi dan asosiasi atribut suatu entitas 4. Identifikasi primary key setiap entita
KARYAWAN LAMARAN P ENGGAJIAN PHK MUTASI KEHA DIRAN PENILAIAN KINE RJA P ELATIHAN PROMOSI memenuhi memberikan mendapatkan mendapatkan melakukan menerima mendapatkan mendapatkan menyetujui mendapatkan menyetujui menangani memimpin memberikan PELAMA R mengajukan CUTI menyetujui mengajukan PELA NGGARAN menindaki melakukan menyetujui
Gambar 4.1 ERD Konseptual
4.1.1.1Identifikasi Entity
Tabel berikut ini merupakan tabel yang menjelaskan entity-entiti yang menjadi kebutuhan perusahaan setelah melalui proses analisis sistem yang sedang berjalan, antara lain:
Tabel 4.1 Identifikasi Entiti
No Nama Entity Deskripsi Kejadian Periode Pembuatan 1 Karyawan Pekerja yang
dimiliki oleh perusahaan M elakukan produktifitas kerja Pada saat perusahaan berjalan 2 Lamaran Lamaran pekerjaan yang diajukan ke perusahaan M elakukan prosedur penerimaan karyawan
Pada saat ada lowongan pekerjaan yang kosong
3 Pelamar Calon karyawan yang mengajukan lamaran ke perusahaan M elakukan prosedur pengajuan surat lamaran ke perusahaan
Pada saat calon karyawan ingin melamar lowongan pekerjaan yang tersedia
4 PenilaianKinerja Catatan Kinerja pegawai
M elakukan penilaian Kinerja Pegawai
Pada saat adanya penilaian
No Nama Entity Deskripsi Kejadian Periode Pembuatan 5 Promosi Kenaikan pangkat pegawai M elakukan Promosi Pegawai Pada saat terjadinya promosi karyawan 6 M utasi Pemindahan kerja karyawan ke bagian lain M elakukan mutasi karyawan Pada saat terjadinya mutasi karyawan
7 Pelatihan Sarana yang diberikan untuk meningkatkan kualitas karyawan M elakukan pelatihan karyawan
Pada saat adanya pelatihan
karyawan
8 Penggajian Upah untuk karyawan M elakukan penggajian karyawan Pada saat penggajian karyawan 9 PHK Pemberhen- Tian karyawan M elakukan pemberhentian karyawan Pada saat terjadinya pemberhentian karyawan
No Nama Entity Deskripsi Kejadian Periode Pembuatan 10 Kehadiran System untuk
mengetahui kehadiran karyawan M emenuhi syarat kehadiran
Pada saat absensi karyawan
11 Cuti Ijin Kerja karyawan M elakukan Prosedur perijinan karyawan Pada saat pengajuan cuti 12 Pelanggaran Pelanggaran Karyawan M elakukan Prosedur Pelanggaran yang dilakukan karyawan Pada saat karyawan melakukan pelanggaran
4.1.1.2Identifikasi Tipe Relationship
Tujuan dari tahapan ini adalah untuk menentukan hubungan-hubungan penting yang ada antara jenis-jenis entitas yang telah diidentifikasikan. Langkah langkah penting dalam identifikasi tipe relasional adalah :
1. M embuat E-R diagrams
2. M enentukan pembatas multiplicity dari tipe relasional
1. Membuat E-R Diagrams
Dalam mengidentifikasi tipe relationship maka langkah yang haus ditempuh adalah membuat atau merancang diagram E-R awal. Berikut merupakan pembuatan E-R Diagram awal
KARYAWAN PENGGAJIAN PHK MUTASI KEHADIRAN PENILAIAN KINERJA PELATIHAN PROMOSI memenuhi memberikan mendapatkan mendapatkan melakukan menerima mendapatkan mendapatkan menyetujui mendapatkan menyetujui menangani memimpin memberikan 0..1 1..1 KARYAWAN 0..* 1..1 LAMARAN 1..* 1..1 1..1 1..1 1..1 1..1 1..* 1..* 1..* 1..1 1..* 1..* 1..* 1..* 1..* 1..* 1..* 1..* 1..* 1..* 1..* 1..* 1..* 0..* PELAMAR mengajukan 1..* 1..1 CUTI KARYAWAN 1..1 1..* 1..* 1..* mengajukan menyetujui PELANGGARAN 1..* 1..* 0..* 1..1 menindak mengawasi menyetujui 1..*
Gambar 4.2 E-R Diagram
2. Menentukan Pembatas Multiplicity dari Tipe Relasional. Tabel dibawah ini menunjukkan relasi antara entity dan multiplicity yang kemungkinan terjadi dalam hubungan antara satu entity dengan entity lain :
Table 4.2 Multiplicity dan Tipe Relasional
Nama Entiti Multiplicity Relationship Nama Entiti Multiplicity
Karyawan 1..* M enangani Lamaran 1..*
Karyawan 1..* M endapatkan Pelatihan 0..*
Karyawan 1..* M enyetujui Pelatihan 1..*
Karyawan 1..* M endapatkan Penilaian Kinerja 1..* Karyawan 1..* M emberikan Penilaian Kinerja 1..*
Karyawan 1..1 M endapatkan Promosi 1..*
Karyawan 1..* M enyetujui Promosi 1..*
Karyawan 1..1 M endapatkan M utasi 1..*
Karyawan 1..* M enyetujui M utasi 1..*
Karyawan 1..1 M endapatkan Penggajian 1..*
Karyawan 1..1 M emberikan Penggajian 1..*
Karyawan 1..* M elakukan PHK 1..*
Karyawan 1..1 M enerima PHK 1..1
Karyawan 1..1 M emenuhi Kehadiran 1..*
Karyawan 1..1 M engajukan Cuti 1..*
Karyawan 1..* M enyetujui Cuti 1..*
Karyawan 1..* M enindak Pelanggaran 1..*
Karyawan 1..* M elakukan Pelanggaran 1..*
Pelamar 1..1 M engajukan Lamaran 1..*
4.1.1.3Identifikasi dan Asosiasi Atribut suatu Entitas.
Dibawah ini adalah tabel yang menunjukkan entity yang memiliki atribut-atribut yang mendukung data akurat dan deskripsi masing-masing kegunaan atribut tersebut dan perkiraan tipe data dan panjang yang akan digunakan dalam database :
Tabel 4.3 Entiti Karyawan
Attribute Description Data Length
and type Null Multi valued NIK UserName PassLogin Nama TmpLahir TglLahir Umur JnsKelamin Status Agama
Nomor Induk Karyawan User name buat login Password Login Nama karyawan
Tempat lahir karyawan Tanggal lahir karyawan Umur karyawan
Jenis kelamin karyawan Status karyawan Agama Char (5) Varchar(15) Char (6) Varchar (35) Varchar (15) Datetime Integer Char(1) Varchar(15) Varchar(15) NO YES YES NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO
WN Alamat RT RW Kecamatan Kelurahan Kota KdPos NIKAtasan TglPengesahan GajiPokok TunjTrans TunjM akan TunjPenyesuaian IuranKop Notlp KdUnit NamaUnit KdDiv NamaDiv KdBag Warga negara Alamat Rukun tetangga Rukun warga Kecamatan Kelurahan Kota Kode pos
NIK pemimpin organisasi Tanggal kenaikan gaji Gaji pokok
Tunjangan transportasi Tunjangan makan Tunjangan tengah bulan Iuran Wajib Koperasi No telepon karyawan
Kode unit struktur organisasi Nama unit struktur organisasi Kode divisi struktur organisasi Nama divisi struktur organisasi Kode bagian struktur organisasi
Char (3) Varchar(50) Varchar(2) Varchar(2) Varchar(25) Varchar(25) Varchar(25) Char(5) Char(8) Datetime M oney M oney M oney M oney M oney Varchar(15) Char(3) Varchar(25) Char(3) Varchar(25) Char(3) NO NO YES YES YES YES NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO YES NO NO NO NO NO
NamaBag Gol KdJbt Jbt TglM asuk TglAwalKontrak LamaKontrak TglAkhirKontrak Periode KdJnsCuti JnsCuti JmlHariCuti JatahCuti KdAbsensi JnsAbsensi JadwalM sk JadwalKeluar TglKeluar NoRekBank NamaBank TingkatPendidikan
Nama bagian struktur organisasi Golongan organisasi
Kode jabatan karyawan Nama jabatan karyawan
Tanggal diterima sbg karyawan Tanggal awal kontrak kerja Lama kontrak kerja
Tanggal akhir kontrak kerja Periode untuk cuti
Kode jenis cuti Jenis cuti
Jumlah Hari cuti Jatah cuti besar Kode Absensi Jenis Absensi Jadwal M asuk Jadwal Keluar Tanggal keluar kerja Nomor Rekening Bank Nama Bank
Tingkat pendidikan karyawan
Varchar(25) Integer Char(3) Varchar(25) Datetime Datetime Integer Datetime Integer Char(2) Varchar(15) Integer Integer Char(2) Varchar(15) Datetime Datetime Datetime Varchar(15) Varchar(20) Varchar(3) NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO YES
Jurusan LembagaPendidikan TahunM asuk TahunKeluar StatusPendidikan Nilai NamaPas JumlahAnak NamaAnak NamaAyah NamaIbu Ket
Jurusan kuliah/sekolah karyawan Sekolah/Universitas karyawan Tahun M asuk ajaran pendidikan Tahun lulus ajaran pendidikan Status pendidikan
Nilai atau NEM Karyawan Nama Pasangan karyawan Jumlah anak karyawan Nama anak karyawan Nama ayah karyawan Nama ibu karyawan catatan Varchar(20) Varchar(20) integer Integer Varchar(10) Numeric (4,2) Varchar(35) Integer Varchar(35) Varchar(35) Varchar(35) Varchar(50) NO NO NO NO NO NO YES YES YES NO NO YES YES YES NO NO NO NO YES YES YES NO NO NO
Tabel 4.4 Entiti Lamaran
Attribute Description Data Length
and type Null Multi valued KdLamaran TglLamaran NoTes KdJbt Jbt TglTesPsi TmpTesPsi NilaiPsi TglWawancara TempatWawancara NIKPewawancara Pewawancara NilaiWawancara Ket Kode lamaran
Tanggal melamar pekerjaan No tes pelamar
Kode Jabatan Nama Jabatan
Tanggal dimulainya tes psikotes Tempat diadakannya tes psikotes Nilai psikotes pelamar
Tanggal dimulainya wawancara Tempat diadakannya wawancara NIK Karyawan mewawancara Nama Karyawan mewawancara Nilai wawancara pelamar Catatan Char(6) Datetime Char(8) Char(3) Varchar(25) Datetime Varchar(15) Numeric(4,2) Datetime Varchar(15) Char(5) Varchar(35) Numeric(4,2) Varchar(50) NO NO NO NO NO NO NO NO NO NO NO NO NO YES NO NO NO NO NO NO NO NO YES YES YES YES YES NO
Tabel 4.5 Entiti Pelamar
Attribute Description Data Length
and type Null Multi valued KdPelamar NamaPelamar TmpLahir TglLahir Umur JnsKelamin Status Agama WN NoTlp LembagaPendidikan TingkatPendidikan Jurusan TahunM asuk TahunKeluar StatusPendidikan Nilai NamaKursus Kode pelamar Nama pelamar Tempat lahir Tanggal lahir Umur pelamar Jenis kelamin Status Pernikahan Agama WargaNegara No telepon pelamar
Nama lembaga pendidikan Tingkat pendidikan pelamar Jurusan kuliah/sekolah pelamar Tahun masuk ajaran pendidikan Tahun lulus ajaran pendidikan Status pendidikan
Nilai atau NEM pelamar kursus yang diambil pelamar
Char(6) Varchar(35) Varchar(15) Datetime Integer Char(1) Varchar(15) Varchar(15) Char (3) Varchar(15) Varchar(20) Varchar(3) Varchar(20) Integer Integer Varchar(10) Numeric(4,2) Varchar(20) NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO YES NO NO NO NO NO NO NO NO NO YES YES YES YES YES YES YES YES YES
NamaLembaga InstansiSblmKerja LamaKerjaSblmnya JabatanSblmKerja Alamat RT RW Kota Kecamatan Kelurahan KdPos
Tempat dimana pelamar kursus Tempat dahulu pelamar bekerja Lama kerja di instansi lain Jabatan pekerjaan di instansi lain Alamat pelamar Rukun tetangga Rukun warga Kota Kecamatan Kelurahan KodePos Varchar(25) Varchar(30) Integer Varchar(25) Varchar(50) Varchar(2) Varchar(2) Varchar(15) Varchar(15) Varchar(15) Varchar(5) YES YES YES YES NO NO NO NO NO NO NO YES YES YES YES NO NO NO NO NO NO NO
Tabel 4.6 Entiti PenilaianKinerja
Attribute Description Data Length
and type Null Multi valued NoPenilaian TglPenilaian NilaiPerilaku NilaiPelaksanaanKerja NilaiKerjasama NilaiHasilKerja
Nomor penilaian karyawan Tanggal penilaian
unsur yang dinilai unsur yang dinilai unsur yang dinilai unsur yang dinilai
Char(9) Datetime Integer Integer Integer Integer NO NO NO NO NO NO NO NO NO NO NO NO
NilaiM anajerial NilaiAkhir PredikatNilai NIKPenilai NamaPenilai NIK Nama JumlahHariSakit JumlahHariAlpha JumlahHariCuti JumlahHariTelat KdUnit NamaUnit KdDiv NamaDiv KdBag NamaBag KdJbt Jbt Gol Ket
unsur yang dinilai Jml Nilai keseluruhan Predikat Nilai
Nomor induk karyawan Nama Penilai
Nomor induk karyawan Nama Karyawan Jumlah hari sakit Jumlah hari alpha Jumlah hari cuti Jumlah hari telat Kode unit organisasi Nama unit organisasi Kode divisi organisasi Nama divisi organisasi Kode bagian organisasi Nama bagian organisasi Kode Jabatan organisasi Jabatan organisasi Golongan organisasi Catatan Integer Integer Varchar(3) Char(8) Varchar(35) Char(8) Varchar(35) Integer Integer Integer Integer Char(3) Varchar(25) Char(3) Varchar(25) Char(3) Varchar(25) Char(3) Varchar(25) Integer Varchar(50) NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO YES NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO
Tabel 4.7 Entiti Pelatihan
Attribute Description Data Length
and type Null Multi valued NoPelatihan KdJnsPelatihan JnsPelatihan TglM ulai TglSelesai Penyelenggara Tempat PenanggungBiaya Biaya KdUnit NamaUnit KdDiv NamaDiv KdBag NamaBag KdJbt Jbt Nomor Pelatihan Kode jenis pelatihan Jenis pelatihan
Tanggal mulai pelatihan Tanggal selesai pelatihan Penyelenggara pelatihan Tempat diadakannya pelatihan Penanggung biaya pelatihan Biaya pelatihan
Kode unit struktur organisasi Nama unit struktur organisasi Kode divisi struktur organisasi Nama divisi struktur organisasi Kode bagian struktur organisasi Nama bagian struktur organisasi Kode jabatan karyawan
Nama jabatan karyawan
Char(9) Char (2) Varchar(25) Datetime Datetime Varchar(25) Varchar(25) Varchar(25) M oney Char(3) Varchar(25) Char(3) Varchar(25) Char(3) Varchar(25) Char(3) Varchar(25) NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO N NO NO NO NO NO NO NO
Gol Ket Golongan organisasi Catatan Integer Varchar(50) NO YES NO NO
Tabel 4.8 Entiti Promosi
Attribute Description Data Length
and type Null Multi valued NoSKPromosi TglSKPromosi KdUnit NamaUnit KdDiv NamaDiv KdBag NamaBag KdJbt Jbt Gol KdJbtBr NoPenilaian TglPenilaian NilaiPerilaku No SK Promosi Tanggal SK promosi Kode unit organisasi Nama unit organisasi Kode divisi organisasi Nama divisi organisasi Kode bagian organisasi Nama bagian organisasi Kode jabatan karyawan Nama jabatan karyawan Golongan organisasi Kode jabatan baru Nomor penilaian Tanggal penilaian unsur yang dinilai
Char(11) Datetime Char(3) Varchar(25) Char(3) Varchar(25) Char(3) Varchar(25) Char(3) Varchar(25) Integer Char(3) Char(9) Datetime Integer NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO
NilaiPelaksanaanKerja NilaiKerjasama NilaiHasilKerja NilaiM anajerial NilaiAkhir PredikatNilai NIK Nama NIKPromosi NamaKaryM empromosi Ket
unsur yang dinilai unsur yang dinilai unsur yang dinilai unsur yang dinilai Jml Nilai keseluruhan Predikat Nilai
Nomor induk karyawan Nama karyawan
NIK yang mempromosi Nama Kary mempromosi Catatan Integer Integer Integer Integer Integer Varchar(3) Char(5) Varchar(35) Char(5) Varchar(35) Varchar(50) NO NO NO NO NO NO NO NO NO NO YES NO NO NO NO NO NO NO NO NO NO NO
Tabel 4.9 Entiti Mutasi
Attribute Description Data Length
and type Null Multi valued NoSKM utasi TglSKM utasi KdUnit NamaUnit KdDiv NamaDiv KdBag NamaBag KdJbt Jbt Gol KdJbtBr NoPenilaian TglPenilaian NilaiPerilaku NilaiPelaksanaanKerja NilaiKerjasama NilaiHasilKerja
No Surat Keterangan mutasi Tanggal Surat Keterangan mutasi Kode unit organisasi
Nama unit organisasi Kode divisi organisasi Nama divisi organisasi Kode bagian organisasi Nama bagian organisasi Kode jabatan karyawan Nama jabatan karyawan Golongan organisasi Kode jabatan baru Nomor penilaian Tanggal penilaian unsur yang dinilai unsur yang dinilai unsur yang dinilai unsur yang dinilai
Char(11) Datetime Char(3) Varchar(25) Char(3) Varchar(25) Char(3) Varchar(25) Char(3) Varchar(25) Integer Varchar(25) Char(9) Datetime Integer Integer Integer Integer NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO
NilaiM anajerial NilaiAkhir PredikatNilai NIK Nama NIKM utasi NamaKaryM emutasi Ket
unsur yang dinilai Jml Nilai keseluruhan Predikat Nilai
Nomor induk karyawan Nama karyawan
NIK yang memutasi
Nama Karyawan yang M emutasi Catatan Integer Integer Varchar(3) Char(5) Varchar(35) Char(5) Varchar(35) Varchar(50) NO NO NO NO NO NO NO YES NO NO NO NO NO NO NO NO
Tabel 4.10 Entiti Penggajian
Attribute Description Data Length
and type Null Multi valued NoPenggajian TglPenggajian Bulan Periode TglPengesahan GajiPokok TunjTrans TunjM akan TunjPrest Nomor Penggajian Tanggal terima gaji Bulan Penggajian Tahun Penggajian Tanggal kenaikan gaji Gaji pokok
Tunjangan transportasi Tunjangan makan Tunjangan prestasi kerja
Char(9) Datetime Integer Integer Datetime M oney M oney M oney M oney NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO
TunjHR Jamsostek IuranKop BesarBonus GajiBruto BesarPinjaman PendapatanBersih PPH-21 PembayaranGaji KdUnit NamaUnit KdDiv NamaDiv KdBag NamaBag KdJbt Jbt Gol NIK NIKPemberiGaji Nama
Tunjangan hari raya Biaya Jamsostek Iuran Wajib Koperasi Besar Bonus
Total Gaji Bruto
Besar pinjaman koperasi Pendapatan Potong Biaya Pajak Penghasilan Pembayaran Gaji Kode unit organisasi Nama unit organisasi Kode divisi organisasi Nama divisi organisasi Kode bagian organisasi Nama bagian organisasi Kode jabatan karyawan Nama jabatan karyawan Golongan organisasi Nomor induk karyawan Nomor induk Pemberi Gaji Nama karyawan M oney M oney M oney M oney M oney M oney M oney M oney M oney Char(3) Varchar(25) Char(3) Varchar(25) Char(3) Varchar(25) Char(3) Varchar(25) Integer Char(5) Char(5) Varchar(35) NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO NO
Ket Catatan Varchar(50) YES NO
Tabel 4.11 Entiti PHK
Attribute Description Data Length
and type Null Multi valued NoSKPHK TglSKPHK DanaPHK NIK Nama NIKPemberiPHK NamaPemberiPHK Ket No Surat Keterangan PHK Tanggal Surat Keterangan PHK Dana karyawan yang di PHK Nomor induk karyawan Nama karyawan
Nomor induk pemberi PHK Nama pemberi PHK Catatan Char(11) Datetime M oney Char(5) Varchar(35) Char(5) Varchar(35) Varchar(50) NO NO NO NO NO NO NO YES NO NO NO NO NO NO NO NO
Tabel 4.12 Entiti Pelanggaran
Attribute Description Data Length
and type Null Multi valued NoPeringatan TglPeringatan TingkatPeringatan NIK Nama NIKPenindak-Pelanggaran NamaPenindak-Pelanggaran Ket NoPeringatan Tanggal peringatan Tingkat Peringatan Nomor induk karyawan Nama karyawan
Nomor induk penindak pelanggaran
Nama penindak pelanggaran
Catatan Char(9) Datetime Integer Char(5) Varchar(35) Char(5) Varchar(35) Varchar(50) NO NO NO NO NO NO NO YES NO NO NO NO NO NO NO NO
Tabel 4.13 Entiti Kehadiran
Attribute Description Data Length
and type Null Multi valued JamM asuk TglAbsensi KdAbsensi JnsAbsensi
Jam masuk kerja Tanggal Absensi
Kode absensi / shift karyawan Jenis Absensi Datetime Datetime Char(3) Varchar(15) NO NO NO NO NO NO NO NO
JadwalM sk JadwalKeluar JamKeluar JumlahHariSakit JumlahHariAlpha LamaKerja WaktuLembur NIK Nama Ket Jadwal masuk Jadwal keluar Jam keluar kerja Jumlah hari sakit Jumlah hari alpha Lama kerja Waktu lembur
Nomor Induk karyawan Nama Karyawan Catatan Datetime Datetime Datetime Integer Integer Integer Integer Char(5) Varchar(35) Varchar(50) NO NO NO NO NO NO NO NO NO YES NO NO NO NO NO NO NO NO NO NO
Tabel 4.14 Entiti Cuti
Attribute Description Data Length
and type Null Multi valued NoCuti TglCuti AmbilCuti TglM ulaiCuti TglAkhirCuti AlamatCuti KdJnsCuti Nomor Cuti
Tanggal Surat Keterangan Cuti Jumlah hari Cuti
Tanggal M ulai Cuti Tanggal Berakhir Cuti Alamat ketika Cuti Kode jenis cuti
Char(9) Datetime Integer Datetime Datetime Varchar(50) Char(2) NO NO NO NO NO NO NO NO NO NO NO NO NO NO
JnsCuti NIK Nama NIKPemberiCuti NamaPemberiCuti Ket Jenis cuti
Nomor Induk karyawan Nama Karyawan
Nomor induk pemberi cuti Nama pemberi cuti
Catatan Varchar(15) Char(5) Varchar(35) Char(5) Varchar(35) Varchar(50) NO NO NO NO NO YES NO NO NO NO NO NO
4.1.1.4Menentukan Primary Key suatu Entitas.
Langkah selanjutnya adalah mengidentifikasikan candidat key yang ada dalam suatu entity dan kemudian memilih primary key :
Tabel 4.15 Tabel Candidate dan Primary Key
Entiti Candidate Key Primary Key
Karyawan NIK UserName KdAbsensi KdJabatan KdUnit KdBag KdDiv NIK
Lamaran KdLamaran NoTes KdJbt NIK
KdLamaran
Pelamar KdPelamar KdPelamar
PenilaianKinerja NoPenilaian KdUnit KdDiv KdBag KdJbt NIK NoPenilaian Pelatihan NoPelatihan KdUnit KdDiv KdBag KdJbt NIK NoPelatihan Promosi NoSKPromosi KdUnit kdDiv KdBag NoSKPromosi
KdJbt KdPenilaian NIK
M utasi NoSKM utasi KdUnit KdDiv KdBag KdJbt NIK NoSKM utasi
Kehadiran JamM asuk JamKeluar NoSKCuti KdAbsensi NIK JamM asuk Penggajian NoPenggajian TglPengesahan NIK NoPenggajian PHK NoSKPHK NIK NoSKPHK Cuti NoCuti NIK NoCuti
Pelanggaran NoPeringatan NIK
NoPeringatan
Setelah melakukan tahapan pemilihan primary key, langkah selanjutnya adalah menggambarkan Entity Relationship dengan atribut primary key. Berikut ini merupakan gambar E-R diagram awal dengan attribute primary key :
mem enuhi me mberikan mendapatkan mendapatkan melakukan mener ima mendapatkan mendapatkan m enyetujui mendapatkan menyetujui menangani mengawasi memb erikan 0..* 1..* 0..1 0..* 1..1 1 ..* 1..* 1..* 1..1 1..* 1..* 1.. * 1..1 1..* 1..* 1..* 1..* 1..* 1..1 1..1 1..1 1..* 1..* 1 ..* 1 ..1 1..* 1..1 1 ..* KEHADIRAN JamMasuk PENILAIAN KINERJA NoPenilaian PHK NoSKPHK PEN GG AJIAN
No Pengga jian MU TASI NoSKMutasi LAMARAN KdLamaran N IK KARYA WAN PRO MO SI N oSKPr omosi PELAMAR KdPelamar mengajukan 1..1 1..* NoCut i CUT I 1. .* 1..* 1 ..1 1..* mengajukan menyetujui N oPer ingatan PELAN GG ARAN 1..* 1..* 0.. * 1..1 menindak melakukan 1..* PELATIHAN N oPelatihan 1..* menyetujui
4.1.1.5 Menentukan Generalisasi / S pesialisasi suatu entitas
• Entiti Karyawan
Gambar 4.4 Contoh Spesialisasi/Generalisasi Pada Entiti Karyawan
• Entiti PHK
4.1.1.6Validasi Local Konseptual model dengan user transaksi
Tahapan ini bertujuan untuk memastikan model konseptual local untuk mendukung transaksi yang di butuhkan oleh transaksi pemakai. Dalam hal ini digunakan jalur arah transaksi (pathway) yang digambarkan dalam diagram ER untuk memeriksa model konseptual local agar mendukung transaksi . Berikut ini merupakan gambar ER diagram konseptual dengan primary key, spesialisasi dan pathway:
Adapun transaksi-transaksi yang ada akan dibahas di bawah ini. Transaksi-transaksinya adalah sebagai berikut:
(a). Insert, Update, Delete Pelamar mengajukan lamaran (b). List karyawan yang menangani lamaran
(c). List karyawan yang mendapatkan gaji
(d). Insert, update, delete karyawan yang mengajukan cuti (e). List karyawan yang menerima PHK
(f). Insert, update, delete karyawan yang melakukan pelanggaran (g). List karyawan yang memenuhi kehadiran
(h). Insert, update, delete karyawan yang mendapatkan pelatihan (i). List karyawan yang mendapatkan penilaian kinerja
(j). List karyawan yang mendapatkan promosi (k). List karyawan yang mendapatkan mutasi (l). List karyawan yang memberikan gaji (m). List karyawan yang melakukan PHK
(n). List karyawan yang menindak proses pelanggaran (o). List karyawan yang menyetujui proses cuti (p). List karyawan yang memimpin karyawan lain (q). List karyawan yang memberikan pelatihan
(r). List karyawan yang memberikan penilaian kinerja (s). List karyawan yang menyetujui promosi
4.1.2 Perancangan Basisdata Logikal
Perancangan basis data logikal merupakan lanjutan dari tahapan konseptual. Pada tahapan perancangan logical akan menggambarkan apa yang sebenarnya disimpan dalam basis data dan hubungannya. Langkah-langkah yang digunakan dalam perancangan basis data logikal adalah sebagai berikut :
4.1.2.1Menghilangkan fitur yang tidak kompatibel
Dalam menghilangkan fitur yang tidak kompatibel dengan model relational maka langkah-langkah yang akan digunakan antara lain :
1. Menghilangkan many to many (*:*) binary relationship types
Pada model konseptual, terdapat beberapa relasi biner yang ada pada model konseptual, beberapa relasi biner many to many, antara lain:
KaryawanAtasan (1..*) M emberikan (1..*) PenilaianKinerja
KaryawanAtasan (1..*) M enyetujui (1..*) Promosi
KaryawanAtasan (1..*) M enyetujui (1..*) M utasi
KaryawanAtasan (1..*) M emberikan (1..*) Pelatihan
KaryawanAtasan (1..*) M endapatkan (0..*) Pelatihan
Karyawan (1..*) M enangani (1..*) Lamaran
KaryawanAtasan (1..*) M elakukan (1..*) PHK
KaryawanAtasan (1..*) M enyetujui (1..*) Cuti
Hal ini tidak kompatibel dengan model relasional, sehingga harus dihilangkan dengan cara mendekomposisi relasi many to many tersebut dan membangun dua buah relasi 1:* (one to many) terhadap sebuah entiti baru. Tahapannya adalah sebagai berikut:
o KaryawanAtasan ( 1..* ) memberikan PenilaianKinerja ( 1..* ) KaryawanAtasan dengan PenilaianKinerja
M enjadi :
Gambar 4.7 KaryawanAtasan dengan PenilaianKinerja
Setelah menghilangkan many to many pada karyawanAtasan dan PenilaianKinerja maka muncul entity baru yaitu PenilaiKaryawan
KaryawanAtasan NIKAtasan{PK} Promosi NoSKPromosi {PK} PemberiPromosi Keterangan menyetujui 1..* 1..*
o KaryawanAtasan ( 1..* ) menyetujui Promosi ( 1..* ) KaryawanAtasan dengan Promosi
M enjadi:
Gambar 4.8 KaryawanAtasan dengan Promosi
Setelah menghilangkan many to many pada karyawanAtasan dan promosi maka muncul entity baru yaitu PemberiPromosi
o KaryawanAtasan (1..*) menyetujui M utasi (1..*) KaryawanAtasan dan M utasi
M enjadi:
Gambar 4.9 KaryawanAtasan dengan M utasi
Setelah menghilangkan many to many pada Karyawan dan M utasi maka muncul entity baru yaitu PemberiM utasi
o KaryawanAtasan ( 1..* ) memberikan Pelatihan ( 1..* ) KaryawanAtasan dengan Pelatihan
Gambar 4.10 KaryawanAtasan dengan PenilaianKinerja
Setelah menghilangkan many to many pada karyawanAtasan dan PenilaianKinerja maka muncul entity baru yaitu PemberiPelatihan
o Karyawan (1..*) mendapatkan Pelatihan (0..*) Karyawan dengan Pelatihan
M enjadi:
Gambar 4.11 Karyawan dengan Pelatihan
Setelah menghilangkan many to many pada Karyawan dan Pelatihan maka muncul entity baru yaitu PelatihanKaryawan.
o Karyawan (1..*) menangani Lamaran (1..*) Karyawan dengan Lamaran
M enjadi:
Gambar 4.12 Karyawan dengan Lamaran
Setelah menghilangkan many to many pada Karyawan dan Lamaran maka muncul entiti baru yaitu Perekrut.
o KaryawanAtasan (0..*) melakukan PHK (1..*) KaryawanAtasan dan PHK
M enjadi:
Gambar 4.13 KaryawanAtasan dengan PHK
Setelah menghilangkan many to many pada KaryawanAtasan dan PHK maka muncul entiti baru yaitu detail PemberiPHK.
o KaryawanAtasan (1..*) menyetujui Cuti (1..*) KaryawanAtasan dan Cuti
Gambar 4.14 KaryawanAtasan dengan Cuti
Setelah menghilangkan many to many pada KaryawanAtasan dan Cuti maka muncul entity baru yaitu PelaksanaCuti
o KaryawanAtasan (1..*) menindak Pelanggaran (1..*) KaryawanAtasan dan Pelanggaran
M enjadi:
Gambar 4.15 KaryawanAtasan dengan Pelanggaran Setelah menghilangkan many to many pada KaryawanAtasan dan Pelanggaran maka muncul entity baru yaitu PenindakPelanggaran
2. Menghilangkan Atribut multi-valued
Pada model konseptual, terdapat beberapa entitas yang memiliki atribut dengan nilai jamak (multi-valued), antara lain:
Karyawan mempunyai [ 1..* ] TlpKaryawan
Karyawan mempunyai [ 1..* ] PendidikanKaryawan
Karyawan mempunyai [ 0..* ] AnakKaryawan
Karyawan mempunyai [ 1..* ] JatahCuti
Pelamar mempunyai [ 1..* ] TlpPelamar
Pelamar mempunyai [ 1..* ] PendidikanPelamar
Pelamar mempunyai [ 0..* ] Kursus
Pelamar mempunyai [ 0..* ] PengalamanKerja
Lamaran mempunyai [0..*] Wawancara
Hal ini tidak kompatibel dengan model relasional, sehingga harus dihilangkan dengan cara mendekomposisi atribut multi-value menjadi sebuah entitas tersendiri.
Tahapannya adalah sebagai berikut:
• Pada Entiti Karyawan
Karyawan NIK{PK} UserName PassLogin Nama TmpLahir TglLahir Umur JnsKelamin Status Agama WN Alamat RT RW Kecamatan Kelurahan Kota KdPos NIKAtasan NoPengesahan GajiPokok TunjTrans TunjMakan TunjPenyesuaian IuranKop KdUnit NamaUnit KdDiv NamaDiv KdBag NamaBag KdJbt Jbt Gol TglMasuk TglAwalKontrak LamaKontrak TglAkhirKontrak KdAbsensi JnsAbsensi JadwalMsk JadwalKeluar Periode KdJnsCuti JnsCuti JmlHrCuti JatahCuti TglKeluar NoRekBank NamaBank NamaPas NamaAnak JumlahAnak NamaAyah NamaIbu Ket PendidikanKaryawan TingkatPendidikan{PK} Jurusan LembagaPendidikan{PK} ThnMasuk ThnKeluar StatusPendidikan Nilai Mempunyai 1..* 1..1
Gambar 4.19 Karyawan mempunyai JatahCuti
Pada hasil akhir maka dapat dilihat Entity karyawan mempunyai dan berhubungan dengan entity TlpKaryawan, PendidikanKaryawan, AnakKaryawan, JatahCutiKaryawan.
• Pada Entiti Pelamar
Gambar 4.20 Pelamar mempunyai TlpPelamar
Gambar 4.22 Pelamar mempunyai PengalamanKerja
Gambar 4.23 Pelamar mempunyai Kursus
Pada hasil akhir maka dapat dilihat Entity Pelamar mempunyai dan berhubungan dengan entity TlpPelamar, PendidikanPelamar, PengalamanKerja, Kursus
• Pada Entiti Lamaran
M enjadi :
Gambar 4.25 Lamaran mendapatkan Wawancara
Pada hasil akhir maka dapat dilihat Entity Lamaran mempunyai dan berhubungan dengan entity Wawancara.
4.1.2.2 Pembentukan Relasi Model Data Logikal 1. Identifikasi Strong Entity (Entiti Kuat).
Himpunan entitas yang kita libatkan dalam sebuah Diagram E-R adalah himpunan entitas kuat atau bebas (Strong Entity Sets). Himpunan entitas demikian tidak memiliki ketergantungan dengan himpunan entitas lainnya
Yang termasuk dalam himpunan entity kuat antara lain :
Karyawan Pelatihan Pelamar Penggajian M utasi PHK Promosi Kehadiran PenilaianKinerja Lamaran Cuti Pelanggaran
2. Identifikasi weak entity ( entity lemah )
Himpunan Entitas Lemah berisi entitas-entitas yang kemunculannya tergantung pada eksistensinya dalam sebuah relasi terhadap entitas lain (Strong Entity). Himpunan entitas yang demikian biasanya tidak memiliki atribut yang dapat berfungsi sebagai key yang benar-benar dapat menjamin keunikan entitas didalamnya.
Yang termasuk dalam himpunan entitas lemah antara lain : PenilaiKaryawan PemberiPromosi PemberiM utasi PemberiPelatihan PelatihanKaryawan Perekrut PemberiPHK PemberiCuti PenindakPelanggaran
3. Superclass/ Subclass relationship (Optional,Or) Karyawan Atasan (NIKAtasan, Nama) Primary Key (NIKAtasan)
Karyawan (NIK, UserName, PassLogin, TmpLahir, TglLahir, Umur, JnsKelamin, NamaPas, NamaAyah, NamaIbu, Status, Agama, WN, Alamat, RT, RW, Kecamatan, Kelurahan, Kota, KdPos,NIKAtasan, TglPengesahan, GajiPokok, TunjTrans, TunjM akan, TunjPenyesuaian, IuranKop, KdUnit, NamaUnit, KdDiv, NamaDiv, KdBag, NamaBag, KdJbt, Jbt, Gol, TglAwalKontrak, LamaKontrak, TglAkhirKontrak, TglM asuk, TglKeluar, NoRekBank, NamaBank, Ket)
Primary Key NIK
Foreign Key NIKAtasan references KaryawanAtasan(NIK)
(Mandatory, Or)
PHK (NoSKPHK, TglSKPHK, DanaPHK, NIK, Nama, Ket) Primary Key NoSKPHK
PengunduranDiri (NoSKPHK, TglSKPHK, DanaPHK, NIK, Nama, Ket)
Primary Key NoSKPHK
Pemecatan (NoSKPHK, TglSKPHK, DanaPHK, NIK, Nama, Ket) Primary Key NoSKPHK
Pensiun (NoSKPHK, TglSKPHK, DanaPHK, NIK, Nama, Ket) Primary Key NoSKPHK
4. One to Many (1:*) binary relationship types
Yang berarti setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, tetapi tidak sebaliknya, dimana setiap entitas pada himpunan entitas B berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas A.
Relasi biner 1 : * dibangun dengan cara menggandakan atribut kunci primer dari entitas yang berada pada sisi one kepada entitas yang berada pada sisi many guna berperan sebagai foreign key.
Tahapannya dapat dilihat pada tabel berikut :
Post NIK dari Karyawan ke TlpKaryawan
Karyawan (NIK, UserName,
PassLogin, Nama, TmpLahir, TglLahir, Umur, JnsKelamin, NamaPas,
NamaAyah, NamaIbu, Status, Agama, WN, Alamat, RT, RW, Kecamatan, Kelurahan, Kota, KdPos, NIKAtasan, TglPengesahan, GajiPokok, TunjTrans, TunjM akan, TunjPenyesuaian,
TlpKaryawan (NoTelp,NIK) Primary Key No Telp, NIK
IuranKop, KdUnit, NamaUnit, KdDiv, NamaDiv, KdBag, NamaBag, KdJbt, Jbt, Gol, TglAwalKontrak,
LamaKontrak, TglAkhirKontrak, KdAbsensi, JnsAbsensi, JadwalM sk, JadwalKeluar, TglM asuk, TglKeluar, NoRekBank, NamaBank, Ket) Primary Key NIK
Post NIK dari Karyawan ke PendidikanKaryawan
Karyawan (NIK, UserName, PassLogin, Nama, TmpLahir, TglLahir, Umur, JnsKelamin, NamaPas, NamaAyah, NamaIbu, Status, Agama, WN, Alamat, RT, RW, Kecamatan, Kelurahan, Kota, KdPos, NIKAtasan, TglPengesahan,
GajiPokok, TunjTrans, TunjM akan, TunjPenyesuaian, IuranKop, KdUnit, NamaUnit, KdDiv, NamaDiv, KdBag,
PendidikanKaryawan(TingkatPendidikan, Jurusan, LembagaPendidikan, ThnM asuk, ThnKeluar, StatusPendidikan, Nilai, NIK) Primary Key TingkatPendidikan, Jurusan, NIK
NamaBag, KdJbt, Jbt, Gol, TglAwalKontrak, LamaKontrak, TglAkhirKontrak, KdAbsensi, JnsAbsensi, JadwalM sk,
JadwalKeluar, TglM asuk, TglKeluar, NoRekBank, NamaBank, Ket) Primary Key NIK
Post NIK dari Karyawan ke AnakKaryawan
Karyawan (NIK, UserName,
PassLogin, Nama, TmpLahir, TglLahir, Umur, JnsKelamin, NamaPas,
NamaAyah, NamaIbu, Status, Agama, WN, Alamat, RT, RW, Kecamatan, Kelurahan, Kota, KdPos, NIKAtasan, TglPengesahan, GajiPokok, TunjTrans, TunjM akan, TunjPenyesuaian,
IuranKop, KdUnit, NamaUnit, KdDiv, NamaDiv, KdBag, NamaBag, KdJbt, Jbt, Gol, TglAwalKontrak,
AnakKaryawan ( NamaAnak, NIK) Primary Key NamaAnak, NIK
LamaKontrak, TglAkhirKontrak, KdAbsensi, JnsAbsensi, JadwalM sk, JadwalKeluar, TglM asuk, TglKeluar, NoRekBank, NamaBank, Ket) Primary Key NIK
Post NIK dari Karyawan ke JatahCutiKaryawan
Karyawan (NIK, UserName,
PassLogin, Nama, TmpLahir, TglLahir, Umur, JnsKelamin, NamaPas,
NamaAyah, NamaIbu, Status, Agama, WN, Alamat, RT, RW, Kecamatan, Kelurahan, Kota, KdPos, NIKAtasan, TglPengesahan, GajiPokok, TunjTrans, TunjM akan, TunjPenyesuaian,
IuranKop, KdUnit, NamaUnit, KdDiv, NamaDiv, KdBag, NamaBag, KdJbt, Jbt, Gol, TglAwalKontrak,
LamaKontrak, TglAkhirKontrak, KdAbsensi, JnsAbsensi, JadwalM sk,
JatahCutiKaryawan ( Periode, KdJnsCuti, JnsCuti, JatahCuti)
Primary Key Periode, KdJnsCuti, NIK Foreign Key NIK references Karyawan
JadwalKeluar, TglM asuk, TglKeluar, NoRekBank, NamaBank, Ket) Primary Key NIK
Post NIKAtasan dari Karyawan Atasan ke PenilaiKaryawan
Karyawan Atasan (NIKAtasan, Nama) Primary Key NIKAtasan
TimPenilai (NIKAtasan, Keterangan) Primary Key NIKAtasan
Foreign Key NIKAtasan references Karyawan Atasan
Post NoPenilaian dari PenilaianKinerja ke PenilaiKaryawan
PenilaianKinerja (NoPenilaian, PeriodePenilaian, T glPenilaian, NilaiPerilaku,NilaiPelaksanaanKerja, NilaiKerjasama, NilaiHasilKerja, NilaiM anajerial , NilaiAkhir, PredikatNilai, NIK, Nama,
JumlahHariSakit, JumlahHariAlpha, JumlahHariCuti, JumlahHariTelat,
PenilaiKaryawan ( NIKAtasan, NoPenilaian, Keterangan)
Primary Key NIKAtasan, NoPenilaian Foreign Key NIKAtasan references KaryawanAtasan
Foreign Key NoPenilaian references PenilaianKinerja
KdUnit, NamaUnit, KdDiv, NamaDiv, KdBag, NamaBag, KdJbt, Jbt, Gol, Ket)
Primary Key NoPenilaian
Foreign Key NIK references Karyawan
Post NIKAtasan dari Karyawan Atasan ke PemberiPromosi
Karyawan Atasan (NIKAtasan, Nama) Primary Key NIKAtasan
PemberiPromosi ( NIKAtasan, Keterangan)
Primary Key NIKAtasan
Foreign Key NIKAtasan references Karyawan Atasan
Post NoS KPromosi dari Promosi ke PemberiPromosi Promosi (NoSKPromosi, TglSKPromosi, KdPenilaian, PeriodePenilaian, T glPenilaian, NilaiPerilaku, NilaiPelaksanaanKerja, NilaiKerjasama, NilaiHasilKerja, NilaiM anajerial, NilaiAkhir, PredikatNilai, KdUnit, NamaUnit, KdDiv, NamaDiv, KdBag, NamaBag, KdJbt, Jbt, KdJbtBr, Gol, NIK, Nama, Ket)
Primary Key NoSKPromosi
Foreign Key NIK references Karyawan
PemberiPromosi ( NIKAtasan, NOSKPromosi, Keterangan)
Primary Key NIKAtasan, NoSKPromosi Foreign Key NIKAtasan references KaryawanAtasan
Foreign Key NoSKPromosi references Promosi
Post NIK dari Karyawan Atasan ke PemberiMutasi
Karyawan Atasan (NIKAtasan, Nama) Primary Key NIKAtasan
PemberiMutasi ( NIKAtasan, Keterangan)
Foreign Key NIKAtasan references Karyawan
Post NoS KMutasi dari Mutasi ke PemberiMutasi
Mutasi (NoSKM utasi, TglSKM utasi, KdUnit, NamaUnit, KdDiv, NamaDiv, KdBag, NamaBag, KdJbt, Jbt,
KdJbtBr, Gol, NoPenilaian, PeriodePenilaian, T glPenilaian, NilaiPerilaku, NilaiPelaksanaanKerja, NilaiKerjasama, NilaiHasilKerja, NilaiM anajerial, NilaiAkhir, PredikatNilai, NIK, Nama, Ket) Primary Key NoSKM utasi
Foreign Key NIK references Karyawan
PemberiMutasi ( NIKAtasan, NOSKM utasi, Keterangan)
Primary Key NIKAtasan, NoSKM utasi Foreign Key NIKAtasan references Karyawan
Foreign Key NOSKM utasi references M utasi
Post NIK dari Karyawan Atasan ke PemberiPelatihan
Karyawan Atasan (NIKAtasan, Nama) Primary Key NIKAtasan
PemberiPelatihan ( NIKAtasan, Keterangan)
Primary Key NIKAtasan
Foreign Key NIKAtasan references Karyawan
Post NoPelatihan dari Pelatihan ke PemberiPelatihan
Pelatihan (NoPelatihan, KdJnsPelatihan, JnsPelatihan,
TglM ulai, TglSelesai, Penyelenggara, Tempat, PenanggungBiaya, TotalBiaya, KdUnit, NamaUnit, KdDiv, NamaDiv, KdBag, NamaBag, KdDiv, NamaDiv, KdJbt, Jbt, Gol, Ket)
Primary Key NoPelatihan
PemberiPelatihan ( NIKAtasan, NoPelatihan, Keterangan)
Primary Key NIKAtasan, NoPelatihan Foreign Key NIKAtasan references KaryawanAtasan
Foreign Key NOSKM utasi references M utasi
Post NIK dari Karyawan ke PelatihanKaryawan
Karyawan (NIK, UserName,
PassLogin, Nama, TmpLahir, TglLahir, Umur, JnsKelamin, NamaPas,
NamaAyah, NamaIbu, Status, Agama, WN, Alamat, RT, RW, Kecamatan, Kelurahan, Kota, KdPos, NIKAtasan, TglPengesahan, GajiPokok, TunjTrans, TunjM akan, TunjPenyesuaian,
IuranKop, KdUnit, NamaUnit, KdDiv, NamaDiv, KdBag, NamaBag, KdJbt, Jbt, Gol, TglAwalKontrak,
LamaKontrak, TglAkhirKontrak, KdAbsensi, JnsAbsensi, JadwalM sk, JadwalKeluar, TglM asuk, TglKeluar, NoRekBank, NamaBank, Ket) Primary Key NIK
PelatihanKaryawan ( NIK, Keterangan) Primary Key NIK
Post NoPelatihan dari Pelatihan ke PelatihanKaryawan
Pelatihan (NoPelatihan, KdJnsPelatihan, JnsPelatihan,
TglM ulai, TglSelesai, Penyelenggara, Tempat, PenanggungBiaya, TotalBiaya, KdUnit, NamaUnit, KdDiv, NamaDiv, KdBag, NamaBag, KdJbt, Jbt, Gol, Ket)
Primary Key NoPelatihan
PelatihanKaryawan ( NIK, NoPelatihan, Keterangan)
Primary Key NIK,NoPelatihan
Foreign Key NIK references Karyawan Foreign Key NoPelatihan references Pelatihan
Post NIKAtasan dari Karyawan Atasan ke PemberiPHK
Karyawan (NIKAtasan, Nama) Primary Key NIKAtasan
PemberiPHK ( NIKAtasan, Keterangan) Primary Key NIKAtasan
Foreign Key NIKAtasan references Karyawan
Post NoS KPHK dari PengunduranDiri ke PemberiPHK
PengunduranDiri (NoSKPHK, TglSKPHK, DanaPHK, NIK, Nama, Ket)
Primary Key NoSKPHK
PemberiPHK ( NIKAtasan, NoSKPHK, Keterangan)
Primary Key NIKAtasan Primary Key NoSKPHK
Foreign Key NIKAtasan references Karyawan Atasan
Foreign Key NoSKPHK references PHK
Post NoS KPHK dari Pemecatan ke PemberiPHK
Pemecatan (NoSKPHK, TglSKPHK, DanaPHK, NIK, Nama, Ket)
Primary Key NoSKPHK
PemberiPHK ( NIKAtasan, NoSKPHK, Keterangan)
Primary Key NIKAtasan Primary Key NoSKPHK
Foreign Key NIKAtasan references Karyawan Atasan
Post NoS KPHK dari Pensiun ke PemberiPHK
Pensiun (NoSKPHK, TglSKPHK, DanaPHK, NIK, Nama, Ket) Primary Key NoSKPHK
PemberiPHK ( NIKAtasan, NoSKPHK, Keterangan)
Primary Key NIKAtasan Primary Key NoSKPHK
Foreign Key NIKAtasan references Karyawan Atasan
Foreign Key NoSKPHK references PHK
Post NIKAtasan dari Karyawan Atasan ke PemberiCuti
Karyawan Atasan (NIKAtasan, Nama) Primary Key NIK
PemberiCuti ( NIKAtasan, Keterangan) Primary Key NIKAtasan
Foreign Key NIKAtasan references Karyawan Atasan
Post NoCuti dari Karyawan ke PemberiCuti
Cuti (NoCuti, TglSKCUti, AmbilCuti, Tahun, JatahCuti, TglM ulaiCuti, TglAkhirCuti, AlamatCuti, KdJnsCuti, JnsCuti, NIK, Nama, Ket)
Primary Key NoSKCuti
Foreign Key NIK references Karyawan
PelaksanaCuti ( NIKAtasan, NoCuti, Keterangan)
Primary Key NIKAtasan, NoCuti Foreign Key NIKAtasan references KaryawanAtasan
Foreign Key NOCuti references Cuti
Post NIKAtasan dari Karyawan Atasan ke PenindakPelanggaran
Karyawan Atasan (NIKAtasan, Nama) Primary Key NIK
PenindakPelanggaran (Keterangan, NIKAtasan)
Primary Key NIKAtasan
Foreign Key NIKAtasan references KaryawanAtasan
Post NoPeringatan dari Karyawan ke PenindakPelanggaran
Pelanggaran (NoPeringatan,
TglPeringatan, TingkatPeringatan, NIK, Nama, Ket)
Primary Key NoPeringatan
Foreign Key NIK references Karyawan
PenindakPelanggaran (NIKAtasan, NoPeringatan, Keterangan)
Primary Key NoPeringatan, NIKAtasan Foreign Key NIKAtasan references KaryawanAtasan
Foreign Key NoSKPeringatan references Pelanggaran
Post KdPelamar dari Pelamar ke Lamaran
Pelamar (KdPelamar, NamaPelamar, TglLamaran, TmpLahir, TglLahir, Umur, JnsKelamin, Status, Agama, WN, Alamat, RT, RW, Kelurahan, Kecamatan, Kota, KodePos) Primary Key KdPelamar
Lamaran (KdLamaran, T glLamaran, NoTes, KdJbt, Jbt, KdLowJbt, TglTesPsi, TmpTesPsi, NilaiPsi, Ket, KdPelamar ) Primary Key KdLamaran
Foreign Key KdPelamar references Pelamar
Post NIK dari Karyawan ke Perekrut
Karyawan (NIK, UserName,
PassLogin, Nama, TmpLahir, TglLahir, Umur, JnsKelamin, NamaPas,
NamaAyah, NamaIbu, Status, Agama, WN, Alamat, RT, RW, Kecamatan, Kelurahan, Kota, KdPos, NIKAtasan, TglPengesahan, GajiPokok, TunjTrans, TunjM akan, TunjPenyesuaian,
IuranKop, KdUnit, NamaUnit, KdDiv, NamaDiv, KdBag, NamaBag, KdJbt, Jbt, Gol, TglAwalKontrak,
LamaKontrak, TglAkhirKontrak, KdAbsensi, JnsAbsensi, JadwalM sk, JadwalKeluar, TglM asuk, TglKeluar, NoRekBank, NamaBank, Ket) Primary Key NIK
Perekrut ( NIK, Keterangan) Primary Key NIK
Post KdLamaran dari Lamaran ke Perekrut
Lamaran (KdLamaran, T glLamaran, NoTes, KdJbt, Jbt, KdLowJbt,
TglTesPsi, TmpTesPsi, NilaiPsi, KdPelamar, Ket)
Primary Key KdLamaran
Foreign Key KdPelamar references Pelamar
Perekrut ( NIK, KdLamaran, Keterangan)
Primary Key NIK, KdLamaran
Foreign Key NIK references Karyawan Foreign Key KdLamaran references Lamaran
Post KdPelamar dari Pelamar ke TlpPelamar
Pelamar (KdPelamar, NamaPelamar, TglLamaran, TmpLahir, TglLahir, Umur, JnsKelamin, Status, Agama, WN, Alamat, RT, RW, Kelurahan, Kecamatan, Kota, KodePos) Primary Key KdPelamar
TlpPelamar (Notlp, KdPelamar) Primary Key Notlp, KdPelamar Foreign Key KdPelamar references Pelamar
Post KdPelamar dari Pelamar ke PendidikanPelamar
Pelamar (KdPelamar, NamaPelamar, TglLamaran, TmpLahir, TglLahir, Umur, JnsKelamin, Status, Agama, WN, Alamat, RT, RW, Kelurahan, Kecamatan, Kota, KodePos) Primary Key KdPelamar
PendidikanPelamar (TingkatPendidikan, LembagaPendidikan, Jurusan,
TahunM asuk, TahunKeluar,
StatusPendidikan, Nilai, KdPelamar) Primary Key TingkatPendidikan, Jurusan, KdPelamar
Foreign Key KdPelamar references Pelamar
Post KdPelamar dari Pelamar ke Kursus
Pelamar (KdPelamar, NamaPelamar, TglLamaran, TmpLahir, TglLahir, Umur, JnsKelamin, Status, Agama, WN, Alamat, RT, RW, Kelurahan, Kecamatan, Kota, KodePos) Primary Key KdPelamar
Kursus (NamaKursus, NamaLembaga, LamaKursus, KdPelamar)
Primary Key NamaKursus, KdPelamar Foreign Key KdPelamar references Pelamar
Post KdPelamar dari Pelamar ke PengalamanKerja
Pelamar (KdPelamar, NamaPelamar, TglLamaran, TmpLahir, TglLahir, Umur, JnsKelamin, Status, Agama, WN, Alamat, RT, RW, Kelurahan, Kecamatan, Kota, KodePos) Primary Key KdPelamar
PengalamanKerja (InstansiSblmKerja, LamaKerjaSblmnya, JabatanSblmKerja, KdPelamar)
Primary Key InstansiSblmKerja, KdPelamar
Foreign Key KdPelamar references Pelamar
Post KdLamaran dari Lamaran ke Wawancara
Lamaran (KdLamaran, T glLamaran, NoTes, KdJbt, Jbt, KdLowJbt,
TglTesPsi, TmpTesPsi, NilaiPsi, Keterangan.)
Primary Key KdLamaran
Wawancara (TglWawancara, KdLamaran, TempatWawancara, NIKPewawancara, Pewawancara, NilaiWawancara, Keterangan) Primary Key TglWawancara, NIKPewawancara, KdLamaran Foreign Key KdLamaran references Lamaran
Tabel 4.16 Skema Relasi One to M any
Karyawan (NIK, UserName, PassLogin, Nama, TmpLahir, TglLahir, Umur,
JnsKelamin, NamaPas, NamaAyah, NamaIbu, Status, Agama, WN, Alamat, RT, RW, Kecamatan, Kelurahan, Kota, KdPos, NIKAtasan, TglPengesahan, GajiPokok,
TunjTrans, TunjM akan, TunjPenyesuaian, IuranKop, KdUnit, NamaUnit, KdDiv, NamaDiv, KdBag, NamaBag, KdJbt, Jbt, Gol, TglAwalKontrak, LamaKontrak, TglAkhirKontrak, KdAbsensi, JnsAbsensi, JadwalM sk, JadwalKeluar, TglM asuk, TglKeluar, NoRekBank, NamaBank, Ket )
Primary Key NIK
Pelamar (KdPelamar, NamaPelamar, T glLamaran, TmpLahir, TglLahir, Umur, JnsKelamin, Status, Agama, WN, Alamat, RT, RW, Kelurahan, Kecamatan, Kota, KodePos)
Primary Key KdPelamar
Lamaran (KdLamaran, T glLamaran, NoTes, KdJbt, Jbt, TglTesPsi, TmpTesPsi, NilaiPsi, KdPelamar, Ket)
Primary Key KdLamaran
Promosi (NoSKPromosi, TglSKPromosi, KdUnit, NamaUnit, KdDiv, NamaDiv, KdBag, NamaBag, KdJbt, Jbt, Gol, KdJbtBr, KdPenilaian, PeriodePenilaian,
TglPenilaian, NilaiPerilaku, NilaiPelaksanaanKerja, NilaiKerjasama, NilaiHasilKerja, NilaiM anajerial, NilaiAkhir, PredikatNilai, NIK, Nama, Ket)
Primary Key NoSKPromosi
Foreign Key NIK references Karyawan
PenilaianKinerja (NoPenilaian, PeriodePenilaian, TglPenilaian, KdUnit, NamaUnit, KdDiv, NamaDiv, KdBag, NamaBag, KdJbt, Jbt, Gol, NilaiPerilaku,
NilaiPelaksanaanKerja, NilaiKerjasama, NilaiHasilKerja, NilaiM anajerial , NilaiAkhir, PredikatNilai, NIK, Nama, KdJbt, JumlahHariSakit, JumlahHariAlpha, JumlahHariCuti, JumlahHariTelat, Ket)
Primary Key NoPenilaian
Foreign Key NIK references Karyawan
Mutasi (NoSKM utasi, TglSKM utasi, KdUnit, NamaUnit, KdDiv, NamaDiv, KdBag, NamaBag, KdJbt, Jbt, Gol, KdJbtBr, KdPenilaian, PeriodePenilaian, TglPenilaian, NilaiPerilaku, NilaiPelaksanaanKerja, NilaiKerjasama, NilaiHasilKerja,
NilaiM anajerial, NilaiAkhir, PredikatNilai, NIK, Nama, Ket) Primary Key NoSKM utasi
Foreign Key NIK references Karyawan
Pelatihan (NoPelatihan, KdJnsPelatihan, JnsPelatihan, TglM ulai, TglSelesai, Penyelenggara, Tempat, PenanggungBiaya, Biaya, NIK, Nama, KdUnit, NamaUnit,
KdDiv, NamaDiv, KdBag, NamaBag, KdJbt, Jbt, Gol, Ket) Primary Key NoPelatihan
Penggajian (NoPenggajian, T glPenggajian, Bulan, Periode, TglPengesahan, KdJnsBayar, JnsBayar, GajiPokok, TunjTrans, TunjM akan, TunjPrest, TunjHR, TunjPenyesuaian, GajiBruto, Jamsostek, IuranKop, BesarBonus, BesarPinjaman, PendapatanBersih, PPH-21, PembayaranGaji, KdUnit, NamaUnit, KdDiv, NamaDiv, KdBag, NamaBag, KdJbt, Jbt, Gol, NIK, NIKPemberiGaji Nama, Ket)
Primary Key NoPenggajian
Foreign Key NIK references Karyawan
Kehadiran (JamM asuk, TglAbsensi, JamKeluar, KdAbsensi, JnsAbsensi, JadwalM sk, JadwalKeluar, JumlahHariSakit, JumlahHariAlpha, LamaKerja, WaktuLembur, NIK, Nama,, Ket)
Primary Key JamM asuk
Foreign Key NIK references Karyawan
Cuti ( NoSKCuti, TglSKCuti, AmbilCuti, Tahun, JatahCuti, TglM ulaiCuti, TglAkhirCuti, AlamatCuti, KdJnsCuti, JnsCuti, NIK, Nama, Ket)
Primary Key NoSKCuti
Foreign Key NIK references Karyawan
Pelanggaran (NoPeringatan, TglPeringatan, TingkatPeringatan, NIK, Nama, Ket) Primary Key NoPeringatan
TlpKaryawan (NoTelp,NIK) Primary Key No Telp, NIK
Foreign Key NIK references Karyawan
PendidikanKaryawan(TingkatPendidikan, Jurusan, LembagaPendidikan, ThnM asuk, ThnKeluar, StatusPendidikan, Nilai, NIK )
Primary Key LembagaPendidikan, Jurusan, NIK Foreign Key NIK references Karyawan
AnakKaryawan ( NamaAnak, NIK) Primary Key NamaAnak, NIK
Foreign Key NIK references Karyawan
KontrakKaryawan (TglAwalKontrak, LamaKontrak TglAkhirKontrak) Primary Key TglAwalKontrak, NIK
Foreign Key NIK references Karyawan
JatahCuti (Periode, KdJnsCuti, JnsCuti, JatahCuti, NIK) Primary Key Periode, KdJnsCuti, NIK
Foreign Key NIK references Karyawan
PenilaiKaryawan ( NIKAtasan, NoPenilaian, Keterangan) Primary Key NoPenilaian, NIKAtasan
Foreign Key NIKAtasan references KaryawanAtasan Foreign Key NoPenilaian references PenilaianKinerja PemberiPromosi ( NIKAtasan, NOSKPromosi, Keterangan)
Primary Key NIKAtasan, NoSKPromosi
Foreign Key NIKAtasan references KaryawanAtasan Foreign Key NoSKPromosi references Promosi
PemberiMutasi ( NIKAtasan, NOSKM utasi, Keterangan) Primary Key NIKAtasan, NoSKM utasi
Foreign Key NIKAtasan references KaryawanAtasan Foreign Key NOSKM utasi references M utasi
PemberiCuti (NIKAtasan, NoCuti, Keterangan) Primary Key NIKAtasan, NoCuti
Foreign Key NIKAtasan references KaryawanAtasan Foreign Key NoCuti references Cuti
PemberiPelatihan (NIKAtasan, NoPelatihan, Keterangan) Primary Key NIKAtasan, NoPelatihan
Foreign Key NIKAtasan references KaryawanAtasan Foreign Key NoPelatihan references Pelatihan
PelatihanKaryawan ( NIK, NoPelatihan, Keterangan) Primary Key NIK, NoPelatihan
Foreign Key NIK references Karyawan Foreign Key KdPelatihan references Pelatihan PemberiPHK ( NIKAtasan,NoSKPHK, Keterangan) Primary Key NIKAtasan, NoSKPHK
Foreign Key NIKAtasan references KaryawanAtasan Foreign Key NoSKPHK references PHK
PenindakPelanggaran ( NoPeringatan, NIKAtasan, Keterangan) Primary Key NIKAtasan, NoPeringatan
Foreign Key NIKAtasan references KaryawanAtasan Foreign Key NoPeringatan references Peringatan TlpPelamar (Notlp, KdPelamar)
Primary Key Notlp, KdPelamar
Foreign Key KdPelamar references Pelamar
PendidikanPelamar (LembagaPendidikan, TingkatPendidikan, Jurusan, TahunM asuk, TahunKeluar, StatusPendidikan, Nilai, KdPelamar)
Primary Key LembagaPendidikan, Jurusan, KdPelamar Foreign Key KdPelamar references Pelamar
Kursus (NamaKursus, NamaLembaga, KdPelamar) Primary Key NamaKursus, NamaLembaga, KdPelamar Foreign Key KdPelamar references Pelamar
PengalamanKerja (InstansiSblmKerja, LamaKerjaSblmnya, JabatanSblmKerja, KdPelamar)
Primary Key InstansiSblmKerja, KdPelamar Foreign Key KdPelamar references Pelamar
Wawancara (TglWawancara, KdLamaran, TempatWawancara, NIKPewawancara, Pewawancara, NilaiWawancara, Keterangan)
Primary Key TglWawancara, NIKPewawancara, KdLamaran Foreign Key KdLamaran references Lamaran
Karyawan Atasan (NIKAtasan, Nama, Keterangan) Primary Key NIKAtasan
Foreign Key NIKAtasan references KaryawanAtasan
5. One to One (1:1) binary relationship types
Yang berarti setiap entitas pada himpunan entitas A berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas B, dan begitu juga sebaliknya setiap entitas pada himpunan entitas B berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas A.
Relasi ini dibangun dengan cara menggandakan atribut primary key dari entiti dengan partisipasi optional kepada entiti dengan partisipasi mandatory, guna berperan sebagai foreign key. Tahapan-tahapan yang
digunakan adalah sebagai berikut :
Post NIK dari Karyawan ke PengunduranDiri
PassLogin, Nama, TmpLahir, TglLahir, Umur, JnsKelamin, NamaPas,
NamaAyah, NamaIbu, Status, Agama, WN, Alamat, RT, RW, Kecamatan, Kelurahan, Kota, KdPos, NIKAtasan, TglPengesahan, GajiPokok, TunjTrans, TunjM akan, TunjPenyesuaian,
IuranKop, KdUnit, NamaUnit, KdDiv, NamaDiv, KdBag, NamaBag, KdJbt, Jbt, Gol, TglAwalKontrak,
LamaKontrak, TglAkhirKontrak, KdAbsensi, JnsAbsensi, JadwalM sk, JadwalKeluar, TglM asuk, TglKeluar, NoRekBank, NamaBank, Ket) Primary Key NIK
TglSKPHK, DanaPHK, NIK, Nama, Ket) Primary Key NoSKPHK
Foreign Key NIK references Karyawan
Post NIK dari Karyawan ke Pensiun
Karyawan (NIK, UserName,
PassLogin, Nama, TmpLahir, TglLahir, Umur, JnsKelamin, NamaPas,
Pensiun (NoSKPHK, TglSKPHK, DanaPHK, NIK, Nama, Ket) Primary Key NoSKPHK
NamaAyah, NamaIbu, Status, Agama, WN, Alamat, RT, RW, Kecamatan, Kelurahan, Kota, KdPos, NIKAtasan, TglPengesahan, GajiPokok, TunjTrans, TunjM akan, TunjPenyesuaian,
IuranKop, KdUnit, NamaUnit, KdDiv, NamaDiv, KdBag, NamaBag, KdJbt, Jbt, Gol, TglAwalKontrak,
LamaKontrak, TglAkhirKontrak, KdAbsensi, JnsAbsensi, JadwalM sk, JadwalKeluar, TglM asuk, TglKeluar, NoRekBank, NamaBank, Ket) Primary Key NIK
Post NIK dari Karyawan ke Pemecatan
Karyawan (NIK, UserName,
PassLogin, Nama, TmpLahir, TglLahir, Umur, JnsKelamin, NamaPas,
NamaAyah, NamaIbu, Status, Agama, WN, Alamat, RT, RW, Kecamatan, Kelurahan, Kota, KdPos, NIKAtasan, TglPengesahan, GajiPokok, TunjTrans, TunjM akan, TunjPenyesuaian,
IuranKop, KdUnit, NamaUnit, KdDiv, NamaDiv, KdBag, NamaBag, KdJbt, Jbt, Gol, TglAwalKontrak,
LamaKontrak, TglAkhirKontrak, KdAbsensi, JnsAbsensi, JadwalM sk, JadwalKeluar, TglM asuk, TglKeluar, NoRekBank, NamaBank, Ket) Primary Key NIK
Pemecatan (NoSKPHK, TglSKPHK, DanaPHK, NIK, Nama, Ket)
Primary Key NoSKPHK
Tabel 4.17 Skema Relasi One to One
PengunduranDiri (NoSKPHK, TglSKPHK, DanaPHK, NIK, Nama, Ket) Primary Key NoSKPHK
Foreign Key NIK references Karyawan
Pemecatan (NoSKPHK, TglSKPHK, DanaPHK, NIK, Nama, Ket) Primary Key NoSKPHK
Foreign Key NIK references Karyawan
Pensiun (NoSKPHK, TglSKPHK, DanaPHK, NIK, Nama, Ket) Primary Key NoSKPHK
Foreign Key NIK references Karyawan
4.1.2.3Validasi Normalisasi data
Tujuan dari langkah ini adalah membuat sekecil mungkin terjadinya data rangkap, menghindarkan adanya data yang tidak konsisten terutama bila dilakukan penghapusan atau penambahan data sebagai akibat adanya data rangkap, dan menjamin bahwa identitas tabel secara tunggal sebagai determinan semua atribut.
4.1.2.3.1 Validasi Bentuk Normal Tahap Pertama (1NF)
Bentuk normal pertama (1NF) terpenuhi jika sebuah tabel tidak memiliki atribut bernilai banyak (Multivalued Attribute) atau lebih dari satu atribut dengan domain nilai yang sama.
Entiti Promosi
Entiti Pelamar
Gambar 4.26 Normalisasi 1NF untuk entiti pelamar
Entiti Cuti
Entiti Karyawan
Entiti Mutasi
Gambar 4.29 Normalisasi 1NF untuk entiti mutasi
Entiti Penggajian
Entiti PenilaianKinerja PenilaianKinerja KdPenilaian TglPenilaian NilaiPerilaku NilaiPelaksanaanKerja NilaiKerjasama NilaiHasilKerja NilaiManajerial NilaiAkhir PredikatNilai NIK Nama KdUnit NamaUnit KdDiv NamaDiv KdBag NamaBag KdJbt Jbt Gol JumlahHariSakit JumlahHariAlpha JumlahHariCuti JumlahHariTelat TingkatPeringatan Ket Menghilangkan atribut : NilaiAkhir PredikatNilai JumlahHariSakit JumlahHariAlpha JumlahHariCuti JumlahHariTelat Menjadi PenilaianKinerja KdPenilaian TglPenilaian NilaiPerilaku NilaiPelaksanaanKerja NilaiKerjasama NilaiHasilKerja NilaiManajerial NIK Nama KdUnit NamaUnit KdDiv NamaDiv KdBag NamaBag KdJbt Jbt Gol TingkatPeringatan Ket
Gambar 4.31 Normalisasi 1NF untuk entiti PenilaianKinerja
Entiti yang sudah memenuhi bentuk normalisasi 1NF antara lain :
* Lamaran * Pelatihan * TlpKaryawan * PendidikanKaryawan * AnakKaryawan * PenindakPelanggaran * JatahCutiKaryawan * TelpPelamar * PendidikanPelamar * Kursus * PengalamanKerja * PenilaiKaryawan
* PemberiM utasi * PemberiPromosi * PemberiPelatihan * PelatihanKaryawan * PemberiCuti * PemberiPHK * Wawancara * Perekrut * Pelanggaran * PengunduranDiri * Kehadiran * Pemecatan * Pensiun * KaryawanAtasan
4.1.2.3.2 Validasi Bentuk Normal Tahap Kedua (2NF)
Bentuk normal tahap kedua (2NF) terpenuhi jika pada sebuah tabel, semua atribut yang tidak termasuk dalam primary key memiliki ketergantungan fungsional (KF) pada primary key secara utuh. Sebuah tabel dikatakan tidak memenuhi 2NF, jika ketergantungannya hanya bersifat parsial ( hanya tergantung pada sebagian dari primary key).
Entiti Karyawan
Gambar 4.32 Normalisasi 2NF untuk entity karyawan
fd1 NIK Æ UserName, PassLogin, Nama, TmpLahir, TglLahir, JnsKelamin,
NamaPas, NamaAyah, NamaIbu, Status, RT, RW, Kelurahan, Kecamatan, KdPos, Kota, TunjTrans, TunjM akan, TunjPenyesuaian, IuranKop, KdUnit, NamaUnit, KdDiv, NamaDiv, KdBag, NamaBag, KdJbt, Jbt, Gol,
KdAbsensi, JnsAbsensi, JadwalM sk, JadwalKeluar, NoRekBank, NamaBank, T glM asuk, TglKeluar, Ket. (Primary Key)
fd2 NIK, TglPengesahan Æ GajiPokok, (Partial Depedency)
Karyawan N IK{PK} U serN ame PassLogin Nama TmpLahir TglLahir Umur JnsKelamin Status Agama WN Alamat RT R W Kecamatan Kelurahan Kota KdPos NoPengesahan {FK} TunjTrans TunjMakan TunjPenyesuaian IuranKop KdU nit NamaUnit KdDiv NamaDiv KdBag NamaBag KdJbt Jbt Gol TglAwalKontrak {FK} TglMasuk TglKeluar N oRekBank NamaBank NamaPas NamaAyah NamaIbu Ket KenaikanGaji NIK{PK} TglPengesahan {PK} GajiPokok Kontrak NIK{PK} TglAwalKontrak {PK} TglAkhirKontrak
Entiti wawancara
Gambar 4.34 Normalisasi 2NF entiti Wawancara
fd1 TglWawancara, NIKPewawancara, KdLamaran Æ TempatWawancara, NilaiWawancara, KdLamaran
(Primary Key)
fd2 NIKPewawancara Æ Pewawancara (Partial Depedency)
Terbentuk 2 buah entiti yaitu:
Entiti JatahCutiKaryawan
Periode KdJnsCuti CutiJns JatahCuti NIK fd1 fd2 (Partial Dependency) (Primary Key) JmlHr Cuti
Gambar 4.36 Normalisasi 2NF untuk entity JatahCutiKaryawan
fd1 NIK, Periode, KdJnsCuti Æ JatahCuti fd2 KdJnsCuti Æ JatahCuti
Gambar 4.37 Entiti yang terbentuk dari entiti JatahCutikaryawan
Entiti yang sudah memenuhi bentuk normalisasi 2NF antara lain :
* Kehadiran * Pelamar * M utasi * Promosi * PenilaianKinerja * Cuti * Penggajian * Pengawasan * lamaran * Pelatihan * TlpKaryawan * PendidikanKaryawan
* AnakKaryawan * Wawancara * JatahCutiKaryawan * TelpPelamar * PendidikanPelamar * Kursus
* PengalamanKerja * PenilaiKaryawan * PemberiM utasi * PemberiPromosi * PemberiPelatihan * PelatihanKaryawan * PemberiCuti * PemberiPHK * Perekrut * PenindakPelanggaran * Pelanggaran * PengunduranDiri * Pensiun * Pemecatan * KaryawanAtasan
4.1.2.3.3 Bentuk Normal Tahap Ketiga (3NF)
Bentuk normal tahap ketiga merupakan criteria alternative, sebuah tabel dikatakan berada dalam bentuk normal tahap ketiga (3NF), jika untuk setiap KF dengan notasi X Æ A, dimana A mewakili semua atribut tunggal didalam tabel yang tidak ada didalam X. maka
X haruslah superkey pada tabel tersebut.
Atau A merupakan bagian dari primary key pada tabel tersebut.
Dengan skema relasi yang telah dibuat diatas maka langkah tersebut telah memenuhi bentuk normal pertama (1NF) dan normal kedua (2NF). Karena tidak sudah menghilangkan multivalued attribute dan tidak memiliki ketergantungan parsial. Untuk itu yang masih harus diperbaiki adalah ketergantungan transitif (transitive dependency) yang perlu dihilangkan. Untuk dari itu perlu dilakukan bentuk normal ketiga (3NF). Berikut adalah langkah-langkah normalisasi untuk memperoleh bentuk 3NF.
Entiti Karyawan
Gambar 4.38 Normalisasi 3NF entiti karyawan
fd1 NIK Æ PassLogin, Nama, TmpLahir, TglLahir, JnsKelamin, NamaPas, NamaAyah, NamaIbu, Status, Agama, WN
, Alamat, RT, RW, KdPos, KdJbt, TglM asuk, TglKeluar, NoRekBank, Ket (Primary Key)
fd2 NoRekBank Æ NamaBank ( Transitive Depedency)
fd3 KdJbt Æ Jbt, Gol, KdBag ( Transitive Depedency)
fd4 Gol Æ TunjTrans, TunjM akan, TunjPenyesuaian, IuranKop (Transitive Depedency)
fd5 KdBag Æ NamaBag, KdDiv ( Transitive Depedency)
fd6 KdDiv Æ NamaDiv, KdUnit ( Transitive Depedency)
fd8 UserName Æ PassLogin
fd9 NIKAtasan Æ NamaAtasan
f10 KdAbsensi Æ JnsAbsensi, JadwalM sk, JadwalKeluar
Terbentuk 10 buah entiti yaitu:
Entiti Lamaran
Gambar 4.40 Normalisasi 3NF entiti lamaran
fd1 KdLamaran ÆTglLamaran, kdJbt, NoTes, KdPelamar, Ket (Primary Key)
fd2 NoTes Æ TglTesPsi, TmpTesPsi, NilaiPsi ( Transitive Depedency)
fd3 KdJbt Æ Jbt ( Transitive Depedency)
fd4 KdPelamar Æ NamaPelamar ( Transitive Depedency)
Gambar 4.41 Entiti yang terbentuk dari entity Lamaran Entiti Penggajian
Gambar 4.42 Normalisasi 3NF entiti penggajian
fd1 NoPenggajian Æ TglPenggajian, Bulan, Periode, TglPengesahan, TunjHR, TunjPrest, TunjCuti, Jamsostek,
fd2 NIK, TglPengesahan Æ GajiPokok ( Transitive Depedency)
fd3 NIK Æ Nama (Transitive Depedency)
fd4 NIK Æ NamaPemberiGaji (Transitive Depedency)
fd5 KdJbt Æ Jbt, Gol, KdBag ( Transitive Depedency)
fd6 Gol Æ TunjTrans, TunjM akan, TunjPenyesuaian, IuranKop (Transitive Depedency)
fd7 KdBag Æ NamaBag, KdDiv ( Transitive Depedency)
fd8 KdDiv Æ NamaDiv, KdUnit ( Transitive Depedency)
fd9 KdUnit Æ NamaUnit ( Transitive Depedency)
catatan : NIKPemberiGaji ~ NIK Terbentuk 8 buah entiti yaitu: