79
PERANCANGAN DAN EVALUAS I
4.1 Perancangan Sistem Basis Data
4.1.1 Perancangan Basis Data Konseptual
4.1.1.1 Mengidentifikasi Beberapa Tipe Entitas
Tabel berikut merupakan tabel yang menjelaskan entitas-entitas yang menjadi kebutuhan Kompas Gramedia Group of Magazine setelah melalui proses analisis sistem yang sedang berjalan, antara lain :
Tabel 4.1 Tabel Identifikasi Tipe Entitas
No. Entity Description Occurance
1. Karyawan Berisi informasi tentang orang yang bekerja pada Kompas Gramedia Group of Magazine.
Karyawan ada yang melakukan proses permintaan, persetujuan dan penyeleksian. 2. Departemen Berisi informasi tentang
departemen yang ditempati karyawan. Setiap departemen ditempati oleh karyawan-karyawan yang berbeda. 3. Divisi Berisi informasi tentang
divisi dari suatu departemen yang
ditempati oleh karyawan.
Setiap divisi mempunyai beberapa departemen.
4. Permintaan Berisi informasi tentang permintaan sumber daya manusia.
Setiap permintaan sumber daya manusia kepada bagian HRD akan didatakan pada proses permintaan. 5. Persetujuan Berisi informasi tentang
persetujuan terhadap
Setiap permintaan sumber daya manusia
permintaan sumber daya manusia.
harus mendapatkan persetujuan. 6. Lowongan Berisi informasi tentang
lowongan yang dibuka.
Setiap permintaan sumber daya manusia yang telah disetujui akan dibukakan lowongannya. 7. Lamaran Berisi informasi tentang
lamaran dari pelamar terhadap lowongan-lowongan yang tersedia.
Setiap lamaran yang dilakukan oleh pelamar akan disimpan didalam database.
8. Seleksi Berisi informasi tentang tahap penyeleksian yang akan dilalui oleh setiap lamaran.
Setiap lamaran akan melalui tahap seleksi dan apabila ditolak, tidak akan melanjutkan ke seleksi berikutnya. 9. Pelamar Berisi informasi tentang
data-data pribadi tiap pelamar yang ingin melamar.
Setiap resume pelamar dapat digunakan untuk melamar pada semua lowongan yang diinginkan. 10. Kontrak Berisi informasi tentang
kontrak yang akan diberikan kepada pelamar.
Setiap kontrak akan diberikan kepada
pelamar yang telah lulus semua tahap seleksi dan dinilai cocok pada posisi tersebut oleh karyawan. 11. Penempatan Berisi informasi tentang
penempatan pelamar yang telah menyetujui kontrak.
Setiap penempatan berdasarkan pada persetujuan pelamar terhadap kontrak yang diajukan.
4.1.1.2 Mengidentifikasi Beberapa Tipe Hubungan
Tabel berikut merupakan tabel yang menjelaskan entitas-entitas yang menjadi kebutuhan perusahaan setelah melalui proses analisis sistem yang sedang berjalan, antara lain :
Tabel 4.2 Tabel Identifikasi Beberapa Tipe Hubungan
Entity M ultiplicity Relationship Entity M ultiplicity
Divisi 0..1 M emiliki Departemen 1..*
1..1 M emiliki1 Karyawan 1..*
1..1 M enerima Penempatan 0..*
Departemen 1..1 M empunyai Karyawan 1..*
1..1 M enerima1 Penempatan 0..*
1..1 M engajukan Permintaan 0..*
Karyawan 1..1 M engajukan1 Permintaan 0..*
1..1 M elakukan Persetujuan 0..*
1..1 M embuat Lowongan 0..*
1..1 M emproses Seleksi 0..*
1..1 M emberikan Kontrak 0..* Permintaan 1..* M emerlukan Persetujuan 1..*
0..1 M emunculkan Lowongan 1..1
Persetujuan 1..1 M enginformasikan Karyawan 0..1
Lowongan 1..1 M emunculkan1 Lamaran 0..*
Lamaran 1..* M elewati Seleksi 1..*
1..1 M enghasilkan Kontrak 0..1 Seleksi 0..* M enginformasikan1 Pelamar 0..*
Pelamar 1..1 M elakukan1 Lamaran 0..*
Kontrak 1..1 M enghasilkan1 Penempatan 0..1
1..1 M enginformasikan2 Pelamar 0..1
Gambar 4.1 Rancangan Awal ERD Konseptual
4.1.1.3 Mengidentifikasi dan Mengasosiasikan Atribut dengan Beberapa Tipe Entitas dan Hubungan
Tabel berikut merupakan tabel yang menunjukkan entitas dengan atribut-atribut yang mendukung data akurat dan deskripsi
masing-masing kegunaan atribut tersebut dan perkiraan tipe data dan panjang yang akan digunakan dalam basis data :
Tabel 4.3 Tabel Identifikasi Tipe Atribut pada Entitas Entity Attribute Description Data Type
and Volume
Null M ulti-valued Karyawan IDKaryawan Kode unik untuk
mengidentifikasi karyawan
Char(8) NO NO
Nama Nama dari
karyawan
Varchar(50) NO NO Jenis Kelamin Jenis kelamin
dari Karyawan
Varchar(1) NO NO
Alamat Alamat dari
karyawan
Varchar(100) NO NO
TempatLahir Tempat lahir
dari karyawan
Varchar(30) NO NO TanggalLahir Tanggal lahir
dari karyawan
Date NO NO
Email Email dari
Karyawan
Varchar(50) NO NO
Posisi Posisi dari
karyawan
Varchar(50) NO NO StatusKaryawan Status dari
karyawan
Varchar(20) NO NO
Divisi IDDivisi Kode unik untuk
mengidentifikasi divisi
Char(5) NO NO
NamaDivisi Nama dari divisi Varchar(50) NO NO Departemen IDDepartemen Kode unik untuk
mengidentifikasi departemen
Char(5) NO NO
NamaDepartemen Nama dari departemen
Varchar(50) NO NO Permintaan IDPermintaan Kode unik untuk
mengidentifikasi permintaan sumber daya manusia Char(6) NO NO NoPermintaan No dari Permintaan yang diajukan Varchar(40) NO NO TanggalPermintaan Informasi mengenai Date NO NO
and Volume valued tanggal permintaan sumber daya manusia Posisi Informasi mengenai posisi yang akan diajukan Varchar(50) NO NO
Jumlah Jumlah sumber
daya manusia yang diajukan Integer NO NO Alasan Alasan permintaan sumber daya manusia Varchar(100) NO NO GambaranUmum Gambaran umum mengenai posisi yang diajukan untuk permintaan sumber daya manusia Text NO NO Persyaratan Persyaratan yang sebaiknya dipenuhi oleh pelamar Text NO NO StatusKekaryawanan Status kekaryawanan dari posisi yang diusulkan Varchar(15) NO NO Status Informasi mengenai status persetujuan dari permintaan sumber daya manusia Varchar(1) NO NO
Persetujuan IDPersetujuan Kode unik untuk mengidentifikasi persetujuan Char(4) NO NO JenisPersetujuan Jenis Persetujuan yang diperlukan oleh permintaan Varchar(10) NO NO
Entity Attribute Description Data Type and Volume Null M ulti-valued mengidentifikasi lowongan yang dibuka
NamaLowongan Nama dari lowongan yang dibuka Varchar(20) NO NO TanggalTerbit Informasi mengenai tanggal lowongan diterbitkan Date NO NO TanggalAkhir Informasi mengenai tanggal lowongan berakhir Date NO NO Deskripsi Informasi mengenai lowongan yang dibuka Text NO NO Syarat Informasi mengenai persyaratan untuk lowongan tersebut Text NO NO
Lamaran IDLamaran Kode unik untuk mengidentifikasi lamaran yang dilakukan pelamar Char(8) NO NO TanggalLamar Informasi mengenai tanggal pelamar melamar lowongan tersebut Date NO NO Status Informasi mengenai status dari lamaran Varchar(15) NO NO
Seleksi IDSeleksi Kode unik untuk mengidentifikasi seleksi
Char(4) NO NO
JenisSeleksi Jenis dari seleksi yang
and Volume valued dilakukan
Pelamar IDPelamar Kode unik untuk mengidentifikasi pelamar
Char(8) NO NO
Nama Nama dari
pelamar
Varchar(50) NO NO
Email Email dari
pelamar
Varchar(50) NO NO JenisKelamin Jenis kelamin
dari pelamar
Varchar(1) NO NO
Alamat NO
Jalan Jalan dan no tempat pelamar tinggal Varchar(40) NO NO RT No RT tempat pelamar tinggal Varchar(3) NO NO RW No RW tempat pelamar tinggal Varchar(3) NO NO
Kota Kota tempat
pelamar tinggal
Varchar(20) NO NO
Provinsi Provinsi tempat
pelamar tinggal
Varchar(20) NO NO
KodePos Kode pos
tempat pelamar tinggal
Varchar(5) NO NO
NoTelp Nomor telepon
rumah dari pelamar Varchar(15) YES NO NoHP Nomor handphone dari pelamar Varchar(15) NO NO NoKTP Nomor KTP dari pelamar Varchar(16) NO NO
TempatLahir Tempat Lahir
dari pelamar
Varchar(20) NO NO TanggalLahir Tanggal Lahir
dari pelamar Date NO NO Kewarganegaraan Kewarganegaraa n dari pelamar Varchar(20) NO NO StatusPernikahan Status pernikahan dari pelamar Varchar(15) NO NO
Agama Agama dari
pelamar
Entity Attribute Description Data Type and Volume
Null M ulti-valued
AlamatKTP NO
JalanKTP Jalan dan No tempat tinggal pelamar yang sesuai pada KTP Pelamar Varchar(40) NO NO RTKTP RT tempat tinggal pelamar yang sesuai pada KTP Pelamar Varchar(3) NO NO RWKTP RW tempat tinggal pelamar yang sesuai pada KTP Pelamar Varchar(3) NO NO
KotaKTP Kota yang
sesuai pada KTP pelamar
Varchar(20) NO NO
ProvKTP Provinsi yang
sesuai pada KTP pelamar
Varchar(20) NO NO
PosKTP Kode Pos yang
sesuai pada KTP pelamar
Varchar(5) NO NO
EkspektasiGaji Ekspektasi gaji dari pelamar
Varchar(10) NO NO
Kesiapan Waktu kesiapan
pelamar untuk mulai bekerja Varchar(50) NO NO InfoLamaran Informasi darimana pelamar mengetahui lowongan yang ada Varchar(30) NO NO
NamaRelasi Nama dari
Relasi pelamar yang sedang bekerja pada perusahaan ini
Varchar(30) YES NO
PosisiRelasi Posisi dari relasi pelamar yang sedang bekerja
and Volume valued pada perusahaan ini InformasiTambahan Informasi tambahan tentang pelamar Text YES NO PendidikanFormal YES
JenisPendidikan Jenis pendidikan dari pelamar
Varchar(20) NO YES NamaInstitusi Nama dari
tempat pelamar menuntut ilmu
Varchar(30) NO YES
KotaInstitusi Kota dari institusi tempat pelamar
menuntut ilmu
Varchar(20) NO YES
ProvInstitusi Provinsi dari institusi tempat
pelamar menuntut ilmu
Varchar(20) NO YES
Jurusan Jurusan yang
diambil pelamar
Varchar(20) YES YES
TahunM asuk Tahun pelamar
masuk institusi tersebut
Integer NO YES
TahunKeluar Tahun pelamar
lulus institusi tersebut Integer NO YES Lulus Kelulusan pelamar dari institusi tersebut Varchar(1) NO YES
IPK IPK Pelamar
saat lulus dari institusi tersebut
Numeric(3,2) YES YES
PendidikanInformal YES
JenisPendidikan Jenis dari Pendidikan Informal yang diikuti
Varchar(20) NO YES
NamaLembaga Nama Lembaga
pendidikan informal
Varchar(50) NO YES
Kota Kota dari
pendidikan informal
Entity Attribute Description Data Type and Volume
Null M ulti-valued
Provinsi Provinsi dari
pendidikan informal
Varchar(20) NO YES
TahunM ulai Tahun mulai
mengikuti pendidikan informal
Integer NO YES
TahunSelesai Tahun selesai mengikuti pendidikan informal
Integer NO YES
Lisensi Lisensi yang
didapat dari pendidikan informal
Varchar(30) YES YES
PengalamanKerja YES NamaPerusahaan Nama perusahaan tempat pelamar bekerja Varchar(50) NO YES
KotaPerusahaan Kota perusahaan tempat pelamar bekerja Varchar(20) NO YES ProvinsiPerusahaan Provinsi perusahaan tempat pelamar bekerja Varchar(20) NO YES
PeriodeM ulai Waktu pelamar mulai bekerja
Date NO YES PeriodeSelesai Waktu pelamar
selesai bekerja
Date NO YES
Posisi Posisi pelamar
sebelumnya ketika bekerja
Varchar(20) NO YES
GajiAkhir Rentang gaji
terakhir yang diterima pelamar pada perusahaan tersebut Varchar(30) NO YES Deskripsi Deskripsi tentang pekerjaan pelamar di Text NO YES
and Volume valued perusahaan
tersebut
AlasanKeluar Alasan mengapa pelamar keluar
dari perusahaan tersebut
Varchar(30) YES YES
PengalamanOrganisa si
YES
NamaOrganisasi Nama dari organisasi yang diikuti
Varchar(30) NO YES
JenisOrganisasi Jenis organisasi yang diikuti
Varchar(10) NO YES KotaOrganisasi Kota organisasi
tersebut berada Varchar(20) NO YES ProvinsiOrganisasi Provinsi organisasi tersebut berada Varchar(20) NO YES
Posisi Posisi yang
dijabat oleh pelamar
Varchar(20) NO YES
TahunM ulai Tahun M ulai
mengikuti organisasi tersebut
Integer NO YES
TahunSelesai Tahun selesai mengikuti organisasi tersebut Integer NO YES DataKeluarga YES Hubungan Hubungan anggota keluarga dengan pelamar Varchar(10) NO YES
Nama Nama dari
anggota keluarga tersebut
Varchar(20) NO YES
JenisKelamin Jenis kelamin dari anggota
keluarga tersebut
Varchar(1) NO YES
TempatLahir Tempat lahir
dari anggota
Entity Attribute Description Data Type and Volume Null M ulti-valued keluarga tersebut
TanggalLahir Tanggal lahir dari anggota
keluarga tersebut
Date YES YES
PendidikanTerakhir Pendidikan terakhir dari anggota keluarga tersebut
Varchar(10) YES YES
Pekerjaan Pekerjaan dari
anggota keluarga tersebut
Varchar(20) YES YES
NoHP Nomor handphone dari
anggota keluarga tersebut
Varchar(15) YES YES
Bahasa YES
JenisBahasa Jenis bahasa
yang dikuasai oleh pelamar Varchar(10) NO YES Speaking Penilaian mengenai pengucapan pelamar menggunakan bahasa tersebut Varchar(10) NO YES
Writing Penilaian dalam
hal penulisan pelamar menggunakan bahasa tersebut
Varchar(10) NO YES
Reading Penilaian dalam
hal membaca menggunakan bahasa tersebut Varchar(10) NO YES Understanding Penilaian pelamar dalam mengerti bahasa tersebut Varchar(10) NO YES
and Volume valued bahasa tersebut
Kontrak IDKontrak Kode unik untuk mengidentifikasi kontrak
Char(8) NO NO
NoKontrak No dari Kontrak yang telah disetujui
Varchar(30) NO NO
Status Status dari
Kontrak tersebut
Varchar(1) NO NO
Tanggal Tanggal kontrak
tersebut diberikan kepada pelamar
Date NO NO
Keterangan Keterangan dari
kontrak
Text NO NO
Penempatan IDPenempatan Kode unik untuk mengidentifikasi penempatan pelamar Char(8) NO NO Posisi Posisi penempatan pelamar tersebut Varchar(20) NO NO Tanggal Tanggal pemberitahuan penempatan kepada pelamar Date NO NO Status Status kekaryawanan pelamar pada posisi tersebut Varchar(20) NO NO
Tabel 4.4 Tabel Identifikasi Tipe Atribut pada Relasi Relation Attribute Description Data Type
and Volume Null M ulti- valued Lamaran-M elewati-Seleksi Tanggal Tanggal seleksi dilakukan Date NO NO
Pesan Pesan yang
dikirimkan kepada pelamar
Text YES NO
M emerlukan-Persetujuan persetujuan terhadap suatu permintaan Hasil Hasil persetujuan terhadap suatu permintaan Varchar(1) NO NO
Alasan Alasan dari
hasil
persetujuan suatu permintaan
Varchar(50) YES NO
4.1.1.4 Menentukan Beberapa Domain Atribut
Tabel 4.5 Tabel Identifikasi Domain Atribut pada Entitas No. Entity Attribute Attribute Domain 1. Karyawan IDKaryawan Char(8), Format :
EM [0-9][0-9][0-9][0-9][0-9][0-9]
Nama Varchar(50) Jenis Kelamin Varchar(1)
Alamat Varchar(100) TempatLahir Varchar(30)
TanggalLahir Date, Format : dd/mm/yyyy
Email Varchar(50) Posisi Varchar(50) StatusKaryawan Varchar(20)
2. Divisi IDDivisi Char(5), Format :
DI[0-9][0-9][0-9] NamaDivisi Varchar(50) 3. Departemen IDDepartemen Char(5), Format :
DE[0-9][0-9][0-9]
NamaDepartemen Varchar(50) 4. Permintaan IDPermintaan Char(6), Format :
RE[0-9][0-9][0-9][0-9] NoPermintaan Varchar(40), Format [0-9][0- 9]/HRD/REC/9]-
9] [0-9][0- [0-9][0-9]/Form_
Permintaan_SDM TanggalPermintaan Date, Format :
dd/mm/yyyy Posisi Varchar(50) Jumlah Integer Alasan Varchar(100) GambaranUmum Text Persyaratan Text StatusKekaryawanan Varchar(15) Status Varchar(1) 5. Persetujuan IDPersetujuan Char(4), Format :
AG[0-9][0-9] JenisPersetujuan Varchar(10) 6. Lowongan IDLowongan Char(8), Format :
VA[0-9][0-9][0-9][0-9][0-9][0-9] NamaLowongan Varchar(20) TanggalTerbit Date, Format :
dd/mm/yyyy TanggalAkhir Date, Format :
dd/mm/yyyy Deskripsi Text Syarat Text 7. Lamaran IDLamaran Char(8), Format :
AL[0-9][0-9][0-9][0-9][0-9][0-9] TanggalLamar Date, Format :
dd/mm/yyyy
Status Varchar(15) 8. Seleksi IDSeleksi Char(4), Format :
SE[0-9][0-9]
JenisSeleksi Varchar(15) 9. Pelamar IDPelamar Char(8), Format :
AP[0-9][0-9][0-9][0-9][0-9][0-9] Nama Varchar(50) Email Varchar(50) JenisKelamin Varchar(1) Alamat Jalan Varchar(40) RT Varchar(3) RW Varchar(3)
No. Entity Attribute Attribute Domain Kota Varchar(20) Provinsi Varchar(20) KodePos Varchar(5) NoTelp Varchar(15) NoHP Varchar(15) NoKTP Varchar(16) TempatLahir Varchar(20) TanggalLahir Date, Format :
dd/mm/yyyy Kewarganegaraan Varchar(20) StatusPernikahan Varchar(15) Agama Varchar(15) AlamatKTP JalanKTP Varchar(40) RTKTP Varchar(3) RWKTP Varchar(3) KotaKTP Varchar(20) ProvKTP Varchar(20) PosKTP Varchar(5) EkspektasiGaji Varchar(10) Kesiapan Varchar(50) InfoLamaran Varchar(30) NamaRelasi Varchar(30) PosisiRelasi Varchar(30) InformasiTambahan Text PendidikanFormal JenisPendidikan Varchar(20) NamaInstitusi Varchar(30) KotaInstitusi Varchar(20) ProvInstitusi Varchar(20) Jurusan Varchar(20) TahunM asuk Date, Format :
yyyy
TahunKeluar Date, Format : yyyy Lulus Varchar(1) IPK Numeric(3,2) PendidikanInformal JenisPendidikan Varchar(20) NamaLembaga Varchar(50) Kota Varchar(20) Provinsi Varchar(20) TahunM ulai Date, Format :
TahunSelesai Date, Format : yyyy Lisensi Varchar(30) PengalamanKerja NamaPerusahaan Varchar(50) KotaPerusahaan Varchar(20) ProvinsiPerusahaan Varchar(20) PeriodeM ulai Date, Format :
mm/yyyy PeriodeSelesai Date, Format :
mm/yyyy Posisi Varchar(20) GajiAkhir Varchar(30) Deskripsi Text AlasanKeluar Varchar(30) PengalamanOrganisasi NamaOrganisasi Varchar(30) JenisOrganisasi Varchar(10) KotaOrganisasi Varchar(20) ProvinsiOrganisasi Varchar(20) Posisi Varchar(20) TahunM ulai Date, Format :
yyyy
TahunSelesai Date, Format : yyyy DataKeluarga Hubungan Varchar(10) Nama Varchar(20) JenisKelamin Varchar(1) TempatLahir Varchar(20) TanggalLahir Date, Format :
dd/mm/yyyy PendidikanTerakhir Varchar(10) Pekerjaan Varchar(20) NoHP Varchar(15) Bahasa JenisBahasa Varchar(10) Speaking Varchar(10) Writing Varchar(10) Reading Varchar(10) Understanding Varchar(10) Keterangan Varchar(50) 10. Kontrak IDKontrak Char(8), Format :
CO[0-9][0-9][0-No. Entity Attribute Attribute Domain 9][0-9][0-9][0-9] NoKontrak Varchar(30), Format : [0- 9][0- 9]/HRD/REC/9]9]-9] 9] 9] [0-9]/SPK-[A-C] Status Varchar(1), Format : A / R
Tanggal Date, Format : dd/mm/yyyy Keterangan Text 11. Penempatan IDPenempatan Char(8), Format :
PL[0-9][0-9][0-9][0-9][0-9][0-9]
Posisi Varchar(20) Tanggal Date, Format :
dd/mm/yyyy
Status Varchar(20)
Tabel 4.6 Tabel Identifikasi Domain Atribut pada Relasi
No. Relation Attribute Attribute
Domain 1. Lamaran-M
elewati-Seleksi
Tanggal Date, Format : dd/mm/yyyy
Pesan Text 2.
Permintaan-M emerlukan-Persetujuan
Tanggal Date, Format : dd/mm/yyyy
Hasil Varchar(1), Format : A / R
Tabel 4.7 Tabel M enentukan Primary Key
Entity Candidate Key Primary Key Karyawan IDKaryawan IDKaryawan
Divisi IDDivisi IDDivisi
Departemen IDDepartemen IDDepartemen Permintaan IDPermintaan IDPermintaan
NoPermintaan Posisi
Persetujuan IDPersetujuan IDPersetujuan Lowongan IDLowongan IDLowongan Lamaran IDLamaran IDLamaran Seleksi IDSeleksi IDSeleksi Pelamar IDPelamar IDPelamar
Email NoKTP NoHP
Kontrak IDKontrak IDKontrak NoKontrak
Gambar 4.2 Rancangan ERD Konseptual dengan Primary Key
4.1.1.6 Mempertimbangkan Penggunaan Konsep-Konsep Pemodelan yang Disempurnakan (Optional Step)
Langkah ini mempertimbangkan penggunaan konsep pemodelan yang disempurnakan (enchanced modeling), seperti
perancangan ini, tidak digunakan konsep enchanced modeling.
4.1.1.7 Memeriksa Model untuk Redundansi
Langkah ini berfungsi untuk memeriksa model konseptual agar menghindari adanya informasi yang redundan. Terdapat dua langkah dalam tahap ini yaitu :
1. Memeriksa One-to-One Relationship
Tabel 4.8 Tabel Identifikasi Hubungan One-to-One
No. Pemeriksaan Redundansi
1. Hubungan antara Lamaran dan Kontrak
Setiap Lamaran dapat menghasilkan kontrak sehingga kedua entitas ini tidak dapat disatukan.
2. Hubungan antara Persetujuan dan Karyawan
Setiap Persetujuan dapat menginformasikan kepada Karyawan yang bersangkutan sehingga kedua entitas ini tidak dapat disatukan.
No. Pemeriksaan Redundansi 3. Hubungan antara Permintaan dan Lowongan
Setiap Permintaan akan memunculkan suatu Lowongan sehingga kedua entitas ini tidak dapat disatukan.
4. Hubungan antara Kontrak dan Pelamar
Setiap Kontrak dapat menginformasikan kepada pelamar yang bersangkutan sehingga kedua entitas ini tidak dapat disatukan. 5. Hubungan antara Kontrak dan Penempatan
Setiap Kontrak dapat menghasilkan sebuah penempatan sehingga kedua entitas ini tidak dapat disatukan.
6. Hubungan antara Penempatan dan Pelamar
Setiap Penempatan dapat menginformasikan kepada pelamar yang bersangkutan sehingga kedua entitas ini tidak disatukan.
Tabel 4.9 Tabel Identifikasian Hubungan yang Redundan
No. Hubungan Yang Redundan
1. Hubungan antara Divisi, Departemen dan Karyawan
Awal :
Hubungan ‘M emiliki1’ pada Divisi dan Karyawan redundan karena data Divisi yang memiliki Karyawan dapat dilihat melalui hubungan dengan Departemen.
Akhir :
2. Hubungan antara Divisi, Departemen dan Penempatan Awal :
No. Hubungan Yang Redundan
Hubungan ‘M enerima’ antara Divisi dan Penempatan redundan karena data Divisi yang menerima penempatan dapat dilihat melalui hubungan dengan departemen.
Akhir :
3. Hubungan antara Karyawan, Permintaan dan Persetujuan
Awal :
Hubungan ‘M enginformasikan’ antara Karyawan dan Persetujuan redundan karena data karyawan yang
diinformasikan persetujuan dapat dilihat melalui hubungan dengan permintaan.
Akhir :
4. Hubungan antara Pelamar, Lamaran dan Seleksi Awal :
Hubungan ‘M enginformasikan1’ antara Pelamar dan Seleksi redundan karena data Pelamar yang diinformasikan tentang seleksi dapat dilihat melalui hubungan dengan Lamaran. Akhir :
5. Hubungan antara Pelamar, Lamaran dan Kontrak
Awal :
Hubungan ‘M enginformasikan2’ antara Pelamar dan Kontrak redundan karena data Pelamar yang diinformasikan tentang kontrak dapat dilihat melalui hubungan dengan Lamaran.
Akhir :
6. Hubungan antara Pelamar, Lamaran, Kontrak dan Penempatan Awal :
Pelamar redundan karena Pelamar yang diinformasikan tentang penempatan dapat dilihat melalui hubungan dengan Lamaran dan Kontrak.
Akhir :
7. Hubungan antara Departemen, Permintaan, Lowongan, Lamaran, Kontrak dan Penempatan
Awal :
Hubungan ‘M enerima1’ antara Penempatan dan Departemen redundan karena departemen yang akan ditempati oleh karyawan baru dapat dilihat dari hubungan dengan Kontrak, Lamaran, Lowongan dan Permintaan.
Gambar 4.3 Rancangan M odel Konseptual setelah Penghilangan Redundansi
4.1.1.8 Memvalidasi Model Konseptual Terhadap Transaksi Pengguna A. Mendeskripsikan Transaksi
Pada pendekatan pertama, diperiksa apakah semua informasi (entitas, hubungan antar entitas dan atributnya) yang dibutuhkan oleh setiap transaksi tersedia model, dengan
mendokumentasikan deskripsi setiap kebutuhan transaksi. Adapun transaksi-transaksi yang ada akan dibahas di bawah ini adalah :
a. M enampilkan daftar departemen-departemen yang berada pada suatu divisi.
b. M enampilkan daftar karyawan yang berada pada departemen atau divisi tertentu.
c. M enampilkan seluruh data karyawan.
d. M enampilkan daftar permintaan yang diajukan oleh karyawan.
e. M enampilkan semua persetujuan dari suatu permintaan.
f. M enampilkan persetujuan-persetujuan yang dilakukan oleh karyawan.
g. M enampilkan lowongan yang dibuka oleh karyawan
h. M enampilkan lamaran yang masuk berdasarkan lowongan tertentu.
i. M enampilkan lamaran yang dilamar oleh pelamar.
j. M enampilkan informasi yang dimiliki oleh seorang pelamar. k. M enampilkan jumlah lamaran yang masuk per tahun.
l. M enampilkan tahap penyeleksian terhadap suatu lamaran. m. M enampilkan tahap penyeleksian yang diproses oleh
karyawan.
n. M enampilkan kontrak yang dihasilkan dari suatu lamaran. o. M enampilkan penempatan yang dihasilkan dari suatu kontrak.
q. M enampilkan data permintaan yang diajukan oleh suatu departemen.
r. M enampilkan lowongan yang dibuat berdasarkan permintaan. B. Menggunakan Jalur-Jalur Transaksi
Gambar 4.4 Rancangan M odel Konseptual dengan Panah Transaksi
4.1.1.9 Memeriksa Kembali Model Data Konseptual dengan Pengguna
Setelah meninjau ulang model data konseptual dengan pengguna maka dapat disimpulkan bahwa model data konseptual yang dibuat sudah sesuai dengan kebutuhan pengguna.
4.1.2 Perancangan Basis Data Logikal
4.1.2.1 Menghilangkan Fitur-fitur yang Tidak Kompatibel dengan Model Relasional (Optional Step)
a. M enghilangkan many-to-many (*:*) binary relationship types Hubungan many-to-many (*:*) antara Permintaan dan Persetujuan akan menghasilkan entitas baru dengan nama DetailPersetujuan.
menjadi :
Gambar 4.5 Hubungan Many-to-Many antara Permintaan dan
-Hubungan many-to-many (*:*) antara Lamaran dan Seleksi akan menghasilkan entitas baru dengan nama DetailSeleksi.
menjadi :
Gambar 4.6 Hubungan Many-to-Many antara Lamaran dan Seleksi
b. M enghilangkan many-to-many (*:*) recursive relationship types Dalam model data konseptual lokal yang telah dibangun, tidak terdapat tipe hubungan rekursif many-to-many (*:*).
c. M enghilangkan complex relationship types
Dalam model data konseptual lokal yang telah dibangun, tidak terdapat tipe hubungan yang kompleks.
d. M enghilangkan multi-valued attributes
Dalam model data konseptual lokal yang telah dibangun, terdapat tipe hubungan multi-valued pada entitas pelamar. Untuk
menanggulangi multi-valued attributes tersebut, maka dimunculkan entitas dengan relasi yang merepresentasikan hubungan multi-valued attributes dengan menambahkan primary key pada entitas baru tersebut.
Gambar 4.7 Penghilangan Multi-valued Attributes pada Entitas Pelamar
4.1.2.2 Memperoleh Hubungan untuk Local Logical Data Model
1.Identifikasi Entitas Kuat (Strong Entity)
Himpunan entitas yang dilibatkan dalam ERD adalah himpunan entitas kuat/ bebas. Himpunan entitas demikian tidak
Yang termasuk dalam entitas kuat adalah :
a. Karyawan ( IDKaryawan, Nama, JenisKelamin, Alamat, TempatLahir, TanggalLahir, Email, Posisi, StatusKaryawan) Primary Key IDKaryawan
b. Divisi (IDDivisi, NamaDivisi) Primary Key IDDivisi
c. Departemen (IDDepartemen, NamaDepartemen) Primary Key IDDepartemen
d. Permintaan (IDPermintaan, NoPermintaan, TanggalPermintaan, Posisi, Jumlah, Alasan, GambaranUmum, Persyaratan, StatusKekaryawanan, Status) Primary Key IDPermintaan
e. Persetujuan (IDPersetujuan, JenisPersetujuan) Primary Key IDPersetujuan
f. Lowongan (IDLowongan, NamaLowongan, TanggalTerbit, TanggalAkhir, Deskripsi, Syarat)
Primary Key IDLowongan
g. Lamaran (IDLamaran, TanggalLamaran, Status) Primary Key IDLamaran
h. Seleksi (IDSeleksi, JenisSeleksi) Primary Key ID Seleksi
i. Pelamar (IDPelamar, Nama, Email, JenisKelamin, Jalan, RT, RW, Kota, Provinsi, KodePos, NoTelp, NoHP, NoKTP,
TempatLahir, TanggalLahir, Kewarganegaraan, StatusPernikahan, Agama, JalanKTP, RTKTP, RWKTP, KotaKTP, ProvKTP, PosKTP, EkspektasiGaji, Kesiapan,
InfoLamaran, NamaRelasi, PosisiRelasi, InformasiTambahan)
Primary Key IDPelamar
j. Kontrak (IDKontrak, NoKontrak, Status, Tanggal, Keterangan)
Primary Key IDKontrak
k. Penempatan (IDPenempatan, Posisi, Tanggal, Status) Primary Key IDPenempatan
2.Identifikasi Entitas Lemah (Weak Entity)
Untuk entitas lemah pada model data, dibuat hubungan yang mengandung semua atribut sederhana dari entitas tersebut. Yang termasuk dalam entitas lemah adalah :
a. DetailSeleksi (Tanggal, Pesan)
Primary Key belum ada sampai tahap ini. b. DetailPersetujuan ( Tanggal, Hasil, Alasan)
Primary Key belum ada sampai tahap ini.
c. PengalamanKerja (IDPengalamanKerja, NamaPerusahaan, KotaPerusahaan, ProvinsiPerusahaan, PeriodeM ulai, PeriodeSelesai, Posisi, GajiAkhir, Deskripsi, AlasanKeluar) Primary Key IDPengalamanKerja
NamaOrganisasi, JenisOrganisasi, KotaOrganisasi, ProvinsiOrganisasi, Posisi, TahunM ulai, TahunSelesai)
Primary Key IDPengalamanOrganisasi
e. PendidikanFormal (IDPendidikanFormal, JenisPendidikan, NamaInstitusi, KotaInstitusi, ProvInstitusi, Jurusan, TahunM asuk, TahunKeluar, Lulus, IPK)
Primary Key IDPendidikanFormal
f. PendidikanInformal (IDPendidikanInformal, JenisPendidikan, NamaLembaga, Kota, Provinsi,
TahunM ulai, TahunSelesai, Lisensi) Primary Key IDPendidikanInformal
g. DataKeluarga (IDDataKeluarga, Hubungan, Nama, JenisKelamin, TempatLahir, TanggalLahir, PendidikanTerakhir, Pekerjaan, NoHP)
Primary Key IDDataKeluarga
h. Bahasa (IDBahasa, JenisBahasa, Speaking, Writing, Reading, Understanding, Keterangan)
Primary Key IDBahasa
3.Tipe Relasional Binary One-to-Many (1:*)
Untuk setiap hubungan Binary One-to-Many (1:*), entitas pada ‘sisi satu’ dari hubungan antar entitas disebut entitas parent dan entitas pada ‘sisi banyak’ disebut entitas
child. Dalam merepresentasikan hubungan ini diletakkan salinan atribut primary key dari entitas parent ke dalam hubungan yang merepresentasikan entitas child, sebagai foreign key.
a. Relasi antara entitas Divisi dan entitas Departemen menghasilkan posting IDDivisi ke entitas Departemen.
Divisi (IDDivisi, NamaDivisi) Primary Key IDDivisi
Departemen (IDDepartemen, NamaDepartemen, IDDivisi) Primary Key IDDepartemen Foreign Key IDDivisi references Divisi (IDDivisi)
b. Relasi antara entitas Departemen dan entitas Karyawan menghasilkan posting IDDepartemen ke entitas Karyawan.
Karyawan (IDKaryawan, Nama, Jenis Kelamin, Alamat,
TempatLahir, TanggalLahir, Email, Posisi, StatusKaryawan,
IDDepartemen)
Primary Key IDKaryawan Foreign Key IDDepartemen references
Departemen (IDDepartemen) Departemen (IDDepartemen,
NamaDepartemen, IDDivisi) Primary Key IDDepartemen Foreign Key IDDivisi references Divisi (IDDivisi)
c. Relasi antara entitas Departemen dan entitas Penempatan menghasilkan posting IDDepartemen ke entitas Penempatan.
Permintaan (IDPermintaan,
NoPermintaan, TanggalPermintaan, Posisi, Jumlah, Alasan, GambaranUmum,
Persyaratan, StatusKekaryawanan, Status, IDDepartemen)
Primary Key IDPermintaan Foreign Key IDDepartemen references
Departemen (IDDepartemen)
Departemen (IDDepartemen, NamaDepartemen, IDDivisi) Primary Key IDDepartemen Foreign Key IDDivisi references Divisi (IDDivisi)
d. Relasi antara entitas Karyawan dan entitas Permintaan menghasilkan posting IDKaryawan ke entitas Permintaan.
Permintaan (IDPermintaan, NoPermintaan, TanggalPermintaan, Posisi, Jumlah, Alasan, GambaranUmum, Persyaratan, StatusKekaryawanan, Status, IDDepartemen, IDKaryawan) Primary Key IDPermintaan
Foreign Key IDDepartemen references
Departemen (IDDepartemen)
Foreign Key IDKaryawan references
Karyawan (IDKaryawan)
Karyawan (IDKaryawan, Nama, Jenis Kelamin, Alamat,
TempatLahir, TanggalLahir, Email, Posisi, StatusKaryawan,
IDDepartemen)
Primary Key IDKaryawan Foreign Key IDDepartemen references
Departemen (IDDepartemen)
e. Relasi antara entitas Karyawan dan entitas Persetujuan menghasilkan posting IDKaryawan ke entitas Persetujuan.
Persetujuan (IDPersetujuan, JenisPersetujuan, IDKaryawan) Primary Key IDPersetujuan Foreign Key IDKaryawan references
Karyawan (IDKaryawan)
Karyawan (IDKaryawan, Nama, JenisKelamin, Alamat,
TempatLahir, TanggalLahir, Email, Posisi, StatusKaryawan,
IDDepartemen)
Primary Key IDKaryawan Foreign Key IDDepartemen references
Departemen (IDDepartemen)
f. Relasi antara entitas Karyawan dan entitas Lowongan menghasilkan posting IDKaryawan ke entitas Lowongan.
Lowongan (IDLowongan, NamaLowongan, TanggalTerbit, TanggalAkhir, Deskripsi, Syarat, IDKaryawan)
Primary Key IDLowongan Foreign Key IDKaryawan references
Karyawan (IDKaryawan)
Karyawan (IDKaryawan, Nama, JenisKelamin, Alamat,
TempatLahir, TanggalLahir, Email, Posisi, StatusKaryawan,
IDDepartemen)
Primary Key IDKaryawan Foreign Key IDDepartemen references
Departemen (IDDepartemen)
g. Relasi antara entitas Karyawan dan entitas Seleksi menghasilkan posting IDKaryawan ke entitas Seleksi.
Post IDKaryawan ke S eleksi untuk model 1:* hubungan memproses
Seleksi (IDSeleksi, JenisSeleksi, IDKaryawan)
Primary Key ID Seleksi Foreign Key IDKaryawan references
Karyawan (IDKaryawan)
Karyawan (IDKaryawan, Nama, JenisKelamin, Alamat,
TempatLahir, TanggalLahir, Email, Posisi, StatusKaryawan,
IDDepartemen)
Primary Key IDKaryawan Foreign Key IDDepartemen references
h. Relasi antara entitas Karyawan dan entitas Kontrak menghasilkan posting IDKaryawan ke entitas Kontrak.
Kontrak (IDKontrak, NoKontrak, Status, Tanggal, Keterangan, IDKaryawan)
Primary Key IDKontrak Foreign Key IDKaryawan references
Karyawan (IDKaryawan)
Karyawan (IDKaryawan, Nama, JenisKelamin, Alamat,
TempatLahir, TanggalLahir, Email, Posisi, StatusKaryawan,
IDDepartemen)
Primary Key IDKaryawan Foreign Key IDDepartemen references
Departemen (IDDepartemen)
i. Relasi antara entitas Lowongan dan entitas Lamaran menghasilkan posting IDLowongan ke entitas Lamaran.
Lamaran (IDLamaran, Status TanggalLamaran, IDLowongan) Primary Key IDLamaran
Foreign Key IDLowongan references
Lowongan (IDLowongan)
Lowongan (IDLowongan, NamaLowongan, TanggalTerbit, TanggalAkhir, Deskripsi, Syarat, IDKaryawan)
Primary Key IDLowongan Foreign Key IDKaryawan references
Karyawan (IDKaryawan)
j. Relasi antara entitas Pelamar dan entitas Lamaran menghasilkan posting IDPelamar ke entitas Lamaran.
4. Tipe Relasional Binary One-to-One (1:1)
M embangun hubungan untuk merepresentasikan hubungan 1:1 menjadi lebih kompleks karena tidak ada kardinalitas yang
Lamaran (IDLamaran, Status, TanggalLamaran, IDLowongan, IDPelamar)
Primary Key IDLamaran Foreign Key IDLowongan references
Lowongan (IDLowongan) Foreign Key IDPelamar references
Pelamar (IDPelamar) Pelamar (IDPelamar, Nama,
Email, JenisKelamin, Jalan, RT, RW, Kota, Provinsi, KodePos, NoTelp, NoHP, NoKTP, TempatLahir, TanggalLahir, Kewarganegaraan,
StatusPernikahan, Agama, JalanKTP, RTKTP, RWKTP, KotaKTP, ProvKTP, PosKTP, EkspektasiGaji, Kesiapan, InfoLamaran, NamaRelasi,
PosisiRelasi, InformasiTambahan) Primary Key IDPelamar
membantu untuk mengidentifikasikan entitas parent dan entitas child dalam hubungan. Tetapi dengan participation constraints dapat membantu untuk memutuskan yang terbaik untuk merepresentasikan hubungan dengan menggabungkan entitas-entitas tersebut menjadi satu hubungan atau membangun dua hubungan dan mem-posting salinan primary key dari satu hubungan ke hubungan yang lain. Tiga cara membangun hubungan untuk merepresentasikan participation constraints, antara lain :
• Mandatory participation pada kedua sisi dari hubungan 1:1 • Mandatory participation pada satu sisi dari hubungan 1:1 • Optional participation pada kedua sisi dari hubungan 1:1
Namun, pada hubungan antar entitas dalam model data logikal yang dibangun, hanya terdapat partisipasi mandatory pada satu sisi dari hubungan 1:1. Dengan menggunakan batasan partisipasi, dapat ditentukan entitas parent dan entitas child dalam hubungan 1:1. Entitas yang memiliki optional participation dalam hubungan antar entitas dianggap sebagai entitas parent, sedangkan entitas yang memiliki mandatory participation dalam hubungan antar entitas dianggap sebagai entitas child. Selanjutnya, salinan primary key pada entitas parent diletakkan pada relasi yang merepresentasikan entitas child.
a. Relasi antara entitas Permintaan dengan entitas Lowongan menghasilkan posting IDPermintaan ke entitas Lowongan.
Lowongan (IDLowongan, NamaLowongan,
TanggalTerbit, TanggalAkhir, Deskripsi, Syarat, IDKaryawan, IDPermintaan)
Primary Key IDLowongan Foreign Key IDKaryawan references
Karyawan (IDKaryawan)
Foreign Key IDPermintaan references
Permintaan (IDPermintaan)
Permintaan (IDPermintaan, NoPermintaan, TanggalPermintaan, Posisi, Jumlah, Alasan,
GambaranUmum, Persyaratan, StatusKekaryawanan, Status, IDDepartemen, IDKaryawan) Primary Key IDPermintaan Foreign Key IDDepartemen references
Departemen (IDDepartemen)
Foreign Key IDKaryawan references
Karyawan (IDKaryawan)
b. Relasi antara entitas Lamaran dengan entitas Kontrak menghasilkan posting IDLamaran ke entitas Kontrak.
Kontrak (IDKontrak, NoKontrak, Status, Tanggal, Keterangan, IDKaryawan, IDLamaran)
Primary Key IDKontrak Foreign Key IDKaryawan references
Karyawan (IDKaryawan)
Foreign Key IDLamaran references
Lamaran (IDLamaran) Lamaran (IDLamaran, Status,
TanggalLamaran, IDLowongan, IDPelamar)
Primary Key IDLamaran Foreign Key IDLowongan references
Lowongan (IDLowongan) Foreign Key IDPelamar references
Pelamar (IDPelamar)
c. Relasi antara entitas Kontrak dengan entitas Penempatan menghasilkan posting IDKontrak ke entitas Penempatan.
5. Hubungan Rekursif One-to-One (1:1)
Dalam model data konseptual lokal yang telah dibangun, tidak terdapat tipe hubungan yang rekursif one-to-one (1:1) .
Penempatan (IDPenempatan, Posisi, Tanggal, Status, IDKontrak)
Primary Key IDPenempatan Foreign Key IDKontrak references
Kontrak (IDKontrak) Kontrak (IDKontrak, NoKontrak,
Status, Tanggal, Keterangan, IDKaryawan, IDLamaran) Primary Key IDKontrak Foreign Key IDKaryawan references
Karyawan (IDKaryawan)
Foreign Key IDLamaran references
Lamaran (IDLamaran)
6. Tipe Relasional Binary Many-to-Many (*:*)
Untuk setiap hubungan binary many-to-many, dibuat sebuah hubungan dan memasukkan semua atribut yang merupakan bagian dari hubungan itu. Salinan atribut primary key dari entitas yang berpartisipasi dalam hubungan tersebut diletakkan dalam relasi baru sebagai foreign key. Foreign key ini juga menjadi primary key dalam hubungan baru.
Berikut ini adalah hasil desain hubungan binary many-to-many (*:*) :
a. Relasi antara entitas Permintaan dan entitas Persetujuan menghasilkan entitas baru, yaitu DetailPersetujuan melalui posting IDPermintaan dan IDPersetujuan.
NoPermintaan, TanggalPermintaan, Posisi, Jumlah, Alasan,
GambaranUmum, Persyaratan, StatusKekaryawanan, Status, IDDepartemen, IDKaryawan) Primary Key IDPermintaan Foreign Key IDDepartemen references
Departemen (IDDepartemen)
Foreign Key IDKaryawan references
Karyawan (IDKaryawan)
DetailPersetujuan ( IDPermintaan, IDPersetujuan, Tanggal, Hasil, Alasan) Primary Key IDPermintaan, IDPersetujuan
Foreign Key IDPermintaan references Permintaan (IDPermintaan) Foreign Key IDPersetujuan references Persetujuan (IDPersetujuan)
Persetujuan (IDPersetujuan, JenisPersetujuan, IDKaryawan) Primary Key IDPersetujuan Foreign Key IDKaryawan references
b. Relasi antara entitas Lamaran dan entitas Seleksi menghasilkan entitas baru, yaitu DetailSeleksi melalui posting IDLamaran dan IDSeleksi.
Lamaran (IDLamaran, Status, TanggalLamaran, IDLowongan, IDPelamar)
Primary Key IDLamaran Foreign Key IDLowongan references
Lowongan (IDLowongan) Foreign Key IDPelamar references
Pelamar (IDPelamar)
Seleksi (IDSeleksi, JenisSeleksi, IDKaryawan)
Primary Key ID Seleksi Foreign Key IDKaryawan references
Karyawan (IDKaryawan)
DetailSeleksi (IDLamaran, IDSeleksi, Tanggal, Pesan)
Primary Key IDLamaran, IDSeleksi
Foreign Key IDLamaran references Lamaran (IDLamaran)
7. Tipe Hubungan Kompleks
Dalam model data konseptual lokal yang telah dibangun, tidak terdapat tipe hubungan yang kompleks.
8. Atribut multi-valued
a. Relasi antara entitas Pelamar dan entitas PendidikanFormal menghasilkan posting IDPelamar ke entitas PendidikanFormal.
PendidikanFormal (IDPendidikanFormal,
JenisPendidikan, NamaInstitusi, KotaInstitusi, ProvInstitusi, Jurusan, TahunM asuk, TahunKeluar, Lulus, IPK, IDPelamar)
Primary Key IDPendidikanFormal Foreign Key IDPelamar
references
Pelamar (IDPelamar) Pelamar (IDPelamar, Nama,
Email, JenisKelamin, Jalan, RT, RW, Kota, Provinsi, KodePos, NoTelp, NoHP, NoKTP, TempatLahir, TanggalLahir, Kewarganegaraan,
StatusPernikahan, Agama, JalanKTP, RTKTP, RWKTP, KotaKTP, ProvKTP, PosKTP, EkspektasiGaji, Kesiapan, InfoLamaran, NamaRelasi,
PosisiRelasi, InformasiTambahan) Primary Key IDPelamar
b. Relasi antara entitas Pelamar dan entitas PendidikanInformal menghasilkan posting IDPelamar ke entitas PendidikanInformal.
PendidikanInformal (IDPendidikanInformal,
JenisPendidikan, NamaLembaga, Kota, Provinsi, TahunM ulai, TahunSelesai, Lisensi, IDPelamar) Primary Key IDPendidikanInformal Foreign Key IDPelamar
references
Pelamar (IDPelamar) Pelamar (IDPelamar, Nama,
Email, JenisKelamin, Jalan, RT, RW, Kota, Provinsi, KodePos, NoTelp, NoHP, NoKTP, TempatLahir, TanggalLahir, Kewarganegaraan,
StatusPernikahan, Agama, JalanKTP, RTKTP, RWKTP, KotaKTP, ProvKTP, PosKTP, EkspektasiGaji, Kesiapan, InfoLamaran, NamaRelasi,
PosisiRelasi, InformasiTambahan) Primary Key IDPelamar
posting IDPelamar ke entitas Bahasa.
Bahasa (IDBahasa, JenisBahasa, Speaking, Writing, Reading, Understanding, Keterangan, IDPelamar)
Primary Key IDBahasa Foreign Key IDPelamar references
Pelamar (IDPelamar) Pelamar (IDPelamar, Nama,
Email, JenisKelamin, Jalan, RT, RW, Kota, Provinsi, KodePos, NoTelp, NoHP, NoKTP, TempatLahir, TanggalLahir, Kewarganegaraan,
StatusPernikahan, Agama, JalanKTP, RTKTP, RWKTP, KotaKTP, ProvKTP, PosKTP, EkspektasiGaji, Kesiapan, InfoLamaran, NamaRelasi,
PosisiRelasi, InformasiTambahan) Primary Key IDPelamar
d. Relasi antara entitas Pelamar dan entitas PengalamanKerja menghasilkan posting IDPelamar ke entitas PengalamanKerja.
PengalamanKerja (IDPengalamanKerja,
NamaPerusahaan, KotaPerusahaan, ProvinsiPerusahaan, PeriodeM ulai, PeriodeSelesai, Posisi, GajiAkhir, Deskripsi, AlasanKeluar, IDPelamar) Primary Key IDPengalamanKerja Foreign Key IDPelamar
references
Pelamar (IDPelamar) Pelamar (IDPelamar, Nama,
Email, JenisKelamin, Jalan, RT, RW, Kota, Provinsi, KodePos, NoTelp, NoHP, NoKTP, TempatLahir, TanggalLahir, Kewarganegaraan,
StatusPernikahan, Agama, JalanKTP, RTKTP, RWKTP, KotaKTP, ProvKTP, PosKTP, EkspektasiGaji, Kesiapan, InfoLamaran, NamaRelasi,
PosisiRelasi, InformasiTambahan) Primary Key IDPelamar
PengalamanOrganisasi menghasilkan posting IDPelamar ke entitas PengalamanOrganisasi. PengalamanOrganisasi (IDPengalamanOrganisasi, NamaOrganisasi, JenisOrganisasi, KotaOrganisasi, ProvinsiOrganisasi, Posisi, TahunM ulai, TahunSelesai, IDPelamar)
Primary Key
IDPengalamanOrganisasi Foreign Key IDPelamar references
Pelamar (IDPelamar) Pelamar (IDPelamar, Nama,
Email, JenisKelamin, Jalan, RT, RW, Kota, Provinsi, KodePos, NoTelp, NoHP, NoKTP, TempatLahir, TanggalLahir, Kewarganegaraan,
StatusPernikahan, Agama, JalanKTP, RTKTP, RWKTP, KotaKTP, ProvKTP, PosKTP, EkspektasiGaji, Kesiapan, InfoLamaran, NamaRelasi,
PosisiRelasi, InformasiTambahan) Primary Key IDPelamar
f. Relasi antara entitas Pelamar dan entitas DataKeluarga menghasilkan posting IDPelamar ke entitas DataKeluarga.
DataKeluarga (IDDataKeluarga, Hubungan, Nama, JenisKelamin, TempatLahir, TanggalLahir, PendidikanTerakhir, Pekerjaan, NoHP, IDPelamar)
Primary Key IDDataKeluarga Foreign Key IDPelamar references
Pelamar (IDPelamar) Pelamar (IDPelamar, Nama,
Email, JenisKelamin, Jalan, RT, RW, Kota, Provinsi, KodePos, NoTelp, NoHP, NoKTP, TempatLahir, TanggalLahir, Kewarganegaraan,
StatusPernikahan, Agama, JalanKTP, RTKTP, RWKTP, KotaKTP, ProvKTP, PosKTP, EkspektasiGaji, Kesiapan, InfoLamaran, NamaRelasi,
PosisiRelasi, InformasiTambahan) Primary Key IDPelamar
Tabel 4.10 Tabel Hasil Relasi
No Relation
1. Divisi (IDDivisi, NamaDivisi) Primary Key IDDivisi
2. Departemen (IDDepartemen, NamaDepartemen, IDDivisi) Primary Key IDDepartemen
Foreign Key IDDivisi references
Divisi (IDDivisi)
3. Karyawan (IDKaryawan, Nama, JenisKelamin, Alamat, TempatLahir, TanggalLahir, Email, Posisi, StatusKaryawan, IDDepartemen)
Primary Key IDKaryawan Foreign Key IDDepartemen references
Departemen (IDDepartemen)
4. Permintaan (IDPermintaan, NoPermintaan, TanggalPermintaan, Posisi, Jumlah, Alasan, GambaranUmum, Persyaratan,
StatusKekaryawanan, Status, IDDepartemen, IDKaryawan) Primary Key IDPermintaan
Foreign Key IDDepartemen references
Departemen (IDDepartemen) Foreign Key IDKaryawan references
Karyawan (IDKaryawan)
5. Persetujuan (IDPersetujuan, JenisPersetujuan, IDKaryawan) Primary Key IDPersetujuan
Foreign Key IDKaryawan references
Karyawan (IDKaryawan)
6. Lowongan (IDLowongan, NamaLowongan, TanggalTerbit, TanggalAkhir, Deskripsi, Syarat, IDKaryawan, IDPermintaan) Primary Key IDLowongan
Foreign Key IDKaryawan references
Karyawan (IDKaryawan)
Foreign Key IDPermintaan references
Permintaan (IDPermintaan)
7. Lamaran (IDLamaran, Status, TanggalLamaran, IDLowongan, IDPelamar)
No Relation Foreign Key IDLowongan
references
Lowongan (IDLowongan) Foreign Key IDPelamar references
Pelamar (IDPelamar)
8. Pelamar (IDPelamar, Nama, Email, JenisKelamin, Jalan, RT, RW, Kota, Provinsi, KodePos, NoTelp, NoHP, NoKTP, TempatLahir, TanggalLahir, Kewarganegaraan, StatusPernikahan, Agama, JalanKTP, RTKTP, RWKTP, KotaKTP, ProvKTP, PosKTP, EkspektasiGaji, Kesiapan, InfoLamaran, NamaRelasi, PosisiRelasi, InformasiTambahan)
Primary Key IDPelamar
9. Seleksi (IDSeleksi, JenisSeleksi, IDKaryawan) Primary Key ID Seleksi
Foreign Key IDKaryawan references
Karyawan (IDKaryawan)
10. Kontrak (IDKontrak, NoKontrak, Status, Tanggal, Keterangan, IDKaryawan, IDLamaran)
Primary Key IDKontrak Foreign Key IDKaryawan references
Karyawan (IDKaryawan) Foreign Key IDLamaran references
Lamaran (IDLamaran)
11. Penempatan (IDPenempatan, Posisi, Tanggal, Status, IDKontrak) Primary Key IDPenempatan
Foreign Key IDKontrak references
Kontrak (IDKontrak)
12. DetailPersetujuan ( IDPermintaan, IDPersetujuan, Tanggal, Hasil, Alasan)
Primary Key IDPermintaan, IDPersetujuan Foreign Key IDPermintaan
references
Permintaan (IDPermintaan) Foreign Key IDPersetujuan references
Persetujuan (IDPersetujuan)
13. DetailSeleksi (IDLamaran, IDSeleksi, Tanggal, Pesan) Primary Key IDLamaran, IDSeleksi
Foreign Key IDLamaran references
Lamaran (IDLamaran) Foreign Key IDSeleksi references
Seleksi (IDSeleksi)
14. PendidikanFormal (IDPendidikanFormal, JenisPendidikan, NamaInstitusi, KotaInstitusi, ProvInstitusi, Jurusan, TahunM asuk, TahunKeluar, Lulus, IPK, IDPelamar)
Primary Key IDPendidikanFormal Foreign Key IDPelamar
references
Pelamar (IDPelamar)
15. PendidikanInformal (IDPendidikanInformal, JenisPendidikan, NamaLembaga, Kota, Provinsi, TahunM ulai, TahunSelesai, Lisensi, IDPelamar)
Primary Key IDPendidikanInformal Foreign Key IDPelamar
references
Pelamar (IDPelamar)
16. PengalamanKerja (IDPengalamanKerja, NamaPerusahaan,
KotaPerusahaan, ProvinsiPerusahaan, PeriodeM ulai, PeriodeSelesai, Posisi, GajiAkhir, Deskripsi, AlasanKeluar, IDPelamar)
Primary Key IDPengalamanKerja Foreign Key IDPelamar
references
Pelamar (IDPelamar)
17. PengalamanOrganisasi (IDPengalamanOrganisasi, NamaOrganisasi, JenisOrganisasi, KotaOrganisasi,
ProvinsiOrganisasi, Posisi, TahunM ulai, TahunSelesai, IDPelamar) Primary Key IDPengalamanOrganisasi
Foreign Key IDPelamar references
Pelamar (IDPelamar)
18. Bahasa (IDBahasa, JenisBahasa, Speaking, Writing, Reading, Understanding, Keterangan, IDPelamar)
Primary Key IDBahasa Foreign Key IDPelamar references
Pelamar (IDPelamar)
19. DataKeluarga (IDDataKeluarga, Hubungan, Nama, JenisKelamin, TempatLahir, TanggalLahir, PendidikanTerakhir, Pekerjaan, NoHP, IDPelamar)
Primary Key IDDataKeluarga Foreign Key IDPelamar references
4.1.2.3 Memvalidasi relasi dengan menggunakan normalisasi
Tujuan dari langkah ini adalah membuat sekecil mungkin terjadinya data redundan, menghindarkan terjadinya data yang tidak konsisten terutama bila dilakukan penghapusan atau penambahan data sebagai akibat adanya data redundan, dan menjamin bahwa identitas label secara tunggal sebagai determinan semua atribut.
Setelah dilakukan pengecekan, tidak ditemukan adanya repeating groups, perhitungan, ketergantungan parsial dan ketergantungan transitif sehingga semua atribut pada masing-masing entitas sudah berada pada kondisi 1NF, 2NF dan 3NF sehingga tidak ada yang perlu dilakukan normalisasi.
4.1.2.4 Memvalidasi Relasi dengan Transaksi Pengguna
Langkah ini bertujuan untuk meyakinkan bahwa relasi-relasi dalam model data logikal mendukung semua transaksi yang diperlukan oleh pengguna. Pada model data logikal yang dibuat, terdapat dua jenis relasi yang harus disesuaikan dengan transaksi pengguna. Tabel dibawah ini merupakan tabel pengidentifikasian relasi yang harus disesuaikan dengan transaksi pengguna :
DetailPersetujuan.
Awal :
Gambar 4.8 Hubungan awal antara Karyawan, Permintaan,
Persetujuan dan DetailPersetujuan
Hubungan ‘M elakukan’ antara Karyawan dan Persetujuan kurang sesuai dengan transaksi pengguna karena data Karyawan yang menyetujui setiap jenis persetujuan bisa berbeda. Permasalahan ini akan lebih jelas apabila dilihat melalui tabel dibawah ini.
Tabel 4.11 Contoh Tabel Karyawan
IDKaryawan Nama Posisi Departemen
EM 000120 Prasetyo Training & Development Operation Support
DE054 EM 001305 Bonnie Ayu Recruitment & Selection
Officer
DE054 EM 001309 Herawati Recruitment & Selection
Officer
DE054 EM 001600 Johanes Digital Stategist DE113
IDKaryawan Nama Posisi Departemen EM 010220 Indra Hermawan Deputi GM DE012 EM 062501 Heru Prasadja M anager DE122
EM 063021 Christy M anager DE054
EM 100251 Desmond Deputi GM DE025
Tabel 4.12 Contoh Tabel Permintaan IDPermi ntaan IDDepartem en IDKaryawa n NoPermintaan Tanggal Permintaan Posisi Jum lah RE0001 DE122 EM 062501
01/HRD/REC/01-2011/Form Permintaan SDM 12/01/2011 Java Develo per 3
RE0002 DE113 EM 001600 02/HRD/REC/01-2011/Form Permintaan SDM 23/01/2011 Art Directo r 1
RE0003 DE122 EM 062501 01/HRD/REC/02-2011/Form Permintaan SDM 19/02/2011 iOS Develo per 2
Tabel 4.13 Tabel Persetujuan yang mempunyai atribut IDKaryawan IDPersetujuan IDKaryawan Jenis Persetujuan
AG01 EM 063021 PM anager
AG02 EM 010220 PDeputiGM
Tabel 4.14 Contoh Tabel DetailPersetujuan tanpa IDKaryawan IDPermintaan IDPersetujuan Tanggal Hasil Alasan
RE0001 AG01 16/01/2011 A Permintaan Posisi tersebut diterima
RE0001 AG02 16/01/2011 A Permintaan Posisi tersebut diterima
RE0002 AG01 26/01/2011 R Posisi tersebut belum
dibutuhkan
RE0003 AG01 23/02/2011 A Permintaan Posisi tersebut diterima
RE0003 AG02 23/02/2011 R Lebih baik mencari Android Developer
M anager dari departemen masing-masing. Dari tabel diatas, dapat dilihat bahwa semua persetujuan hanya dipertimbangkan oleh dua orang saja, baik permintaan tersebut berasal dari departemen manapun. Hal tersebut tidak sesuai dengan transaksi pengguna sehingga IDKaryawan seharusnya berada pada DetailPersetujuan atau hubungan ‘M elakukan’ dari entitas Karyawan tersebut seharusnya mengarah ke entitas DetailPersetujuan.
Akhir :
Gambar 4.9 Hubungan akhir antara Karyawan, Permintaan,
Persetujuan dan DetailPersetujuan
Tabel 4.15 Contoh Tabel Persetujuan tanpa atribut IDKaryawan IDPersetujuan Jenis Persetujuan
AG01 Pmanager AG02 PdeputiGM
Tabel 4.16 Contoh Tabel DetailPersetujuan yang mempunyai atribut IDKaryawan IDPermintaan IDPersetujuan IDKaryawan Tanggal Hasil Alasan
RE0001 AG01 EM 062501 16/01/2011 A Permintaan Posisi tersebut diterima
RE0001 AG02 EM 010220 16/01/2011 A Permintaan Posisi tersebut diterima RE0002 AG01 EM 063021 26/01/2011 R Posisi tersebut belum
dibutuhkan
RE0003 AG01 EM 062501 23/02/2011 A Permintaan Posisi tersebut diterima
RE0003 AG02 EM 010220 23/02/2011 R Lebih baik mencari Android Developer
2. Hubungan antara Karyawan, Lamaran, Seleksi dan DetailSeleksi. Awal :
Gambar 4.10 Hubungan awal antara Karyawan, Lamaran, Seleksi dan
DetailSeleksi
Hubungan ‘M emproses’ antara Karyawan dan Seleksi kurang sesuai dengan transaksi pengguna karena data Karyawan yang memproses setiap seleksi bisa berbeda. Permasalahan ini akan lebih jelas apabila dilihat dari tabel.
IDKaryawan Nama Posisi Departemen EM 000120 Prasetyo Training & Development
Operation Support
DE054 EM 001305 Bonnie Ayu Recruitment & Selection
Officer
DE054 EM 001309 Herawati Recruitment & Selection
Officer
DE054 EM 001600 Johanes Digital Stategist DE113 EM 010220 Indra Hermawan Deputi GM DE012 EM 062501 Heru Prasadja M anager DE122
EM 063021 Christy M anager DE054
EM 100251 Desmond Deputi GM DE025
Tabel 4.18 Contoh Tabel Lamaran
IDLamaran IDPelamar TanggalLamar Status AL025114 AP006144 12/07/2011 Interview
HRD
AL025115 AP014458 12/07/2011 Interview HRD
AL025116 AP001154 12/07/2011 Interview HRD
Tabel 4.19 Contoh Tabel Seleksi yang M empunyai Atribut IDKaryawan IDSeleksi IDKaryawan JenisSeleksi
SE01 EM 001209 InterviewHRD SE02 EM 062501 InterviewUser SE03 EM 063021 TesBidang SE04 EM 001209 Psikotes
Tabel 4.20 Contoh Tabel DetailSeleksi tanpa Atribut IDKaryawan IDLamaran IDSeleksi Tanggal Pesan
AL025114 SE01 22/07/2011 Selamat Anda Lolos ke Tahap
Berikutnya
ke Tahap Berikutnya
AL025116 SE01 22/07/2011 Terima Kasih telah mendaftar
Pada tabel diatas, dapat dilihat bahwa karyawan yang memproses seleksi HRD hanya satu orang. Hal tersebut tidak sesuai dengan transaksi pengguna karena yang memproses interview HRD tidak hanya satu orang. Sehingga IDKaryawan seharusnya berada pada DetailSeleksi atau hubungan ‘M emproses’ dari entitas Karyawan tersebut seharusnya mengarah ke entitas DetailSeleksi.
Akhir :
Gambar 4.11 Hubungan akhir antara Karyawan, Lamaran,
Seleksi dan DetailSeleksi
Tabel 4.21 Contoh Tabel Jenis Seleksi IDSeleksi JenisSeleksi
SE01 InterviewHRD SE02 InterviewUser SE03 TesBidang SE04 Psikotes
IDKaryawan
IDLamaran IDSeleksi IDKaryawan Tanggal Pesan AL025114 SE01 EM 001305 22/07/2011 Selamat
Anda Lolos ke
Tahap Berikutnya AL025115 SE01 EM 001309 22/07/2011 Selamat
Anda Lolos ke
Tahap Berikutnya AL025116 SE01 EM 001305 22/07/2011 Terima
Kasih telah mendaftar
4.1.2.5 Mendefinisikan Integrity Constraint
Langkah ini bertujuan untuk mendefinisikan integrity constraints yang disampaikan dalam pandangan sehingga dapat melindungi basis data dari keadaan yang tidak konsisten. Ada 5 macam batasan integritas, yaitu :
1.Required data
Beberapa atribut harus selalu memiliki nilai yang valid, dengan kata lain, atribut tersebut tidak boleh null. Salah satu contohnya adalah setiap karyawan harus memiliki nama, tidak boleh null. Untuk lengkapnya, batasan ini telah diidentifikasikan dalam perancangan konseptual pada langkah ketiga (Lihat tabel 4.3).
2.Atribut domain constraints
Setiap atribut memiliki domain, yaitu satu set nilai yang valid. Salah satu contohnya adalah jenis kelamin pada pelamar harus berisikan ‘P’ dan ’L’, jadi domain dari jenis atribut jenis kelamin hanya berisikan satu karakter tunggal yang berisikan ‘P’ atau ‘L’. Untuk lengkapnya, batasan ini telah diidentifikasikan dalam perancangan konseptual pada langkah keempat (Lihat tabel 4.5). 3.Multiplicity
Multiplicity merepresentasikan batasan yang terletak pada relasi antara data di dalam database. Contohnya batasan yang mengatur kebutuhan dari sebuah departemen dapat memiliki banyak karyawan dan seorang karyawan bekerja hanya pada satu departemen. Untuk lengkapnya, batasan ini telah diidentifikasikan dalam perancangan konseptual pada langkah kedua (Lihat tabel 4.2).
4.Entity integrity
Primary key dari suatu entitas tidak boleh null. Salah satu contohnya adalah setiap karyawan memiliki IDKaryawan yang tidak boleh null. Untuk lengkapnya, batasan ini telah diidentifikasikan dalam perancangan konseptual pada langkah kelima (Lihat tabel 4.7).
5.Referential Integrity
Integritas referensial berarti jika sebuah foreign key memiliki sebuah nilai, maka nilai tersebut harus merujuk pada tuple yang
apakah nilai null diijinkan dalam sebuah foreign key. Selanjutnya baru ditentukan cara menjamin adanya integritas referensial dengan menentukan kondisi suatu foreign key dimasukkan, diubah atau dihapus. Berikut ini tabel menentukan integritas referensial :
Tabel 4.23 Tabel Integritas Referensial Divisi (IDDivisi, NamaDivisi)
Primary Key IDDivisi
Departemen (IDDepartemen, NamaDepartemen, IDDivisi) Primary Key IDDepartemen
Foreign Key IDDivisi references Divisi (IDDivisi) ON UPDATE CASCADE ON DELETE NO ACTION Karyawan (IDKaryawan, Nama, JenisKelamin, Alamat, TempatLahir, TanggalLahir, Email, Posisi, StatusKaryawan, IDDepartemen)
Primary Key IDKaryawan
Foreign Key IDDepartemen references Departemen (IDDepartemen)
ON UPDATE CASCADE ON DELETE NO ACTION
Permintaan (IDPermintaan, NoPermintaan, TanggalPermintaan, Posisi, Jumlah, Alasan, GambaranUmum, Persyaratan,
StatusKekaryawanan, Status, IDDepartemen, IDKaryawan) Primary Key IDPermintaan
Foreign Key IDDepartemen references Departemen(IDDepartemen)
ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key IDKaryawan references Karyawan (IDKaryawan) ON UPDATE CASCADE ON DELETE NO ACTION
Persetujuan (IDPersetujuan, JenisPersetujuan) Primary Key IDPersetujuan
Lowongan (IDLowongan, NamaLowongan, TanggalTerbit, TanggalAkhir, Deskripsi, Syarat, IDKaryawan, IDPermintaan) Primary Key IDLowongan
Foreign Key IDKaryawan references Karyawan (IDKaryawan) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key IDPermintaan references Permintaan (IDPermintaan)
ON UPDATE CASCADE ON DELETE NO ACTION
IDPelamar)
Primary Key IDLamaran
Foreign Key IDLowongan references Lowongan (IDLowongan) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key IDPelamar references Pelamar (IDPelamar) ON UPDATE CASCADE ON DELETE NO ACTION
Pelamar (IDPelamar, Nama, Email, JenisKelamin, Jalan, RT, RW, Kota, Provinsi, KodePos, NoTelp, NoHP, NoKTP,
TempatLahir, TanggalLahir, Kewarganegaraan, StatusPernikahan, Agama, JalanKTP, RTKTP, RWKTP, KotaKTP, ProvKTP, PosKTP, EkspektasiGaji, Kesiapan, InfoLamaran, NamaRelasi, PosisiRelasi, InformasiTambahan)
Primary Key IDPelamar
Seleksi (IDSeleksi, JenisSeleksi) Primary Key ID Seleksi
Kontrak (IDKontrak, NoKontrak, Status, Tanggal, Keterangan, IDKaryawan, IDLamaran)
Primary Key IDKontrak
Foreign Key IDKaryawan references Karyawan (IDKaryawan) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key IDLamaran references Lamaran (IDLamaran) ON UPDATE CASCADE ON DELETE NO ACTION
Penempatan (IDPenempatan, Posisi, Tanggal, Status, IDKontrak) Primary Key IDPenempatan
Foreign Key IDKontrak references Kontrak (IDKontrak) ON UPDATE CASCADE ON DELETE NO ACTION DetailPersetujuan ( IDPermintaan, IDPersetujuan, Tanggal, Hasil, Alasan, IDKaryawan)
Primary Key IDPermintaan, IDPersetujuan
Foreign Key IDPermintaan references Permintaan (IDPermintaan)
ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key IDPersetujuan references Persetujuan (IDPersetujuan)
ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key IDKaryawan references Karyawan (IDKaryawan) ON UPDATE CASCADE ON DELETE NO ACTION
DetailSeleksi (IDLamaran, IDSeleksi, Tanggal, Pesan, IDKaryawan)
Primary Key IDLamaran, IDSeleksi
Foreign Key IDLamaran references Lamaran (IDLamaran) ON UPDATE CASCADE ON DELETE NO ACTION Foreign Key IDSeleksi references Seleksi (IDSeleksi) ON UPDATE CASCADE ON DELETE NO ACTION
Foreign Key IDKaryawan references Karyawan (IDKaryawan) ON UPDATE CASCADE ON DELETE NO ACTION