BAB 4
RANCANGAN SISTEM YANG DIUSULKAN
4.1 Diagram Aliran Data
Berikut ini adalah diagram aliran data yang diusulkan kepada PT. Selaras Bangun Abadi yang meliputi diagram konteks, diagram nol, dan diagram rinci.
Gambar 4.1 Diagram Konteks
Gambar 4.2 Diagram Nol
Perancangan basis data pada PT. Selaras Bangun Abadi terbagi menjadi tiga tahapan, yaitu :
1. Perancangan basis data konseptual (Conceptual database design). 2. Perancangan basis data logikal (Logical database design).
3. Perancangan basis data fisikal (Physical database design).
4.2.1 Perancangan Basis Data Konseptual
Perancangan basis data secara konseptual merupakan suatu proses pembangunan untuk merancang model yang digunakan di perusahaan, tidak bergantung pada semua pertimbangan fisikal dengan menggnakan informasi yang diperoleh dari PT. Selaras Bangun Abadi. Langkah-langkah penting dalam perancangan basis data konseptual adalah :
1. Identifikasi tipe entitas 2. Identifikasi tipe hubungan
3. Identifikasi dan asosiasi atribut suatu entitas 4. Identifikasi Domain Atribut
5. Identifikasi candidate dan primary key setiap entitas
6. Memvalidasi Model Konseptual Lokal terhadap Transaksi Pengguna
4.2.1.1 Identifikasi Tipe Entitas
Berikut ini merupakan tabel yang menjelaskan entitas-entitas yang digunakan dalam perancangan, antara lain :
Nama Entitas Deskripsi Kejadian Gaji Merupakan entitas yang
berisi informasi Gaji PT.Selaras Bangun Abadi
Setiap karyawan akan
mendapatkan gaji berdasarkan absensi
Karyawan Merupakan entitas yang berisi data karyawan
Karyawan akan mendapatkan gaji berdasarkan tipe,edukasi dan absensi
Tipe Karyawan Merupakan Entitas yang berisi tentang tipe-tipe karyawan
Gaji karyawan akan dibedakan berdasarkan tipe karyawan nya
Edukasi Karyawan
Entitas yang berisi data edukasi
Satu karyawan dapat memiliki latar belakang edukasi yang beragam
Pemberhentian Entitas yang berisi data pemberhentian karyawan
Karyawan yang melakukan pelanggaran dapat diberhentikan sebagai karyawan tetap
Absensi Entitas Yang berisi data absensi karyawan PT.Selaras
Satu atau lebih karyawan melakukan absensi setiap hari kerja
Departemen Entitas Yang berisi departemen karyawan
Gaji karyawan dibedakan
User system Entitas yang berisi User system
Untuk melakukan login memilih departemen terlebih dahulu
Pelatihan Entitas Yang berisi tentang pelatihan karyawan
Satu atau lebih karyawan dapat dilatih secara bersamaan
Pensiun Entitas Yang berisi tentang pemberhentian karyawan
Hanya 1 karyawan yang dapat di berhentikan
Tabel 4.1 Identifikasi Tipe Entitas
4.2.1.2 Identifikasi Tipe Hubungan
Nama Entitas Multiplicity Hubungan Nama Entitas Multiplicity Departemen 1..* 1..* Mendasari Mendasari UserSystem Karyawan 1..1 1..1
Tipe Karyawan 1..* Mendasari Karyawan 1..1
Karyawan 1..1 Mendasari Karir Karyawan 1..1
1..* Mempengaruhi absensi 1..1
1..1 Mendasari Edukasi Karyawan 1..1
1..1 Menerima Gaji 1..*
1..1 Menerima Pemberhentian 1..1
1..1 Memperoleh Pensiun 1..1
1..* Menerima Pelatihan 1..*
GrupLogin 1..1 Mendasari User System 1..1
Absensi 1..1 Mempengaruhi Gaji 1..1
Gaji 1..1 Mempengaruhi Pensiun 1..1
Gambar 4.3 ERD Konseptual Awal
4.2.1.3 Identifikasi dan Asosiasi Atribut Suatu Entitas
Identifikasi dan asosiasi atribute pada suatu entitas pada PT. Selaras Bangun Abadi dapat dilihat pada tabel berikut :
Entity Name Attribute Description Length & Data
Type
Nulls Multi
Valued
Departemen Kddepartemen Idgrup login berupa text
char(5) Tidak Tidak
Description Description Text Tidak Tidak Tabel 4.3 Identifikasi dan Asosiasi Atribut Entitas Departemen
Entity Name Attribute Description Length & Data
Type
Nulls Multi
Valued
Group Login kdGrup Id grup login berupa text
Description Deskription Varchar(100) Tidak Tidak Tabel 4.4 Identifikasi dan Asosiasi Atribut Entitas Group Login
Entity Name Attribute Description Length & Data
Type
Nulls Multi
Valued
User System Username Username char(10) Tidak Tidak Password Password Varchar(10) Tidak Tidak
kdGrup Id group login Int Tidak Tidak
KdDepartemen Id departemen Int Tidak Tidak
Description Description Varchar(100) Tidak Tidak Tabel 4.5 Identifikasi dan Asosiasi Atribut Entitas User System
Entity Name Attribute Description Length & Data
Type
Nulls Multi
Valued
Tipe karyawan
Kd Tipe Kode jenis karyawan
char(5) Tidak Tidak
Description Keterangan Varchar(100) Tidak Tidak LemburPerhour Besar uang
lembur
Decimal (18,2) Tidak Tidak
Transport per hari
Basar uamg transport
Decimal (18,2) Tidak Tidak Uang makan per
hari
Besar Uang makan
Decimal (18,2) Tidak Tidak
THR Dapat thr atau
tidak
Bit Tidak Tidak
Besar Bonus Tahunan
Besar bonus tahunan
Maksimum absen
Jumlah maksimum absensi
Int Tidak Tidak
UangLainya Besar uang Lainya
Decimal(18.2) Tidak Tidak
Tabel 4.6 Identifikasi dan Asosiasi Atribut Entitas Karyawan Type
Entity Name
Attribute Description Length & Data
Type
Nulls Multi
Valued
Karyawan Kode karyawan Kode karyawan
char(5) Tidak Tidak
KaryawanName Nama karyawan
Varchar(20) Tidak Tidak
NoKTP No Ktp Varchar(20) Tidak Tidak
Agama Agama Varchar(10) Tidak Tidak
JenisKelamin Jenis kelamin Varchar(10) Tidak Tidak TempatLahir Tempat Lahir Varchar(20) Tidak Tidak TanggalLahir Tanggal Lahir datetime Tidak Tidak
Alamat Alamat varchar(50) Tidak Tidak
kota nama kota varchar(20) Tidak Tidak
kode pos kode pos alamat karyawan
varchar (10) Tidak Tidak
Email Email varchar(30) Tidak Tidak
NoHP No HP varchar(20) Tidak Tidak
kd tipe karyawan
Kode jenis karyawan
kode departemen
Kode departemen
char(5) Tidak Tidak
Description Keterangan varchar (100) Tidak Tidak Tabel 4.7 Identifikasi dan Asosiasi Atribut Entitas Karyawan
Entity Name Attribute Description Length & Data
Type
Nulls Multi
Valued
Karyawan Edukasi
kd Edukasi kd Edukasi char(5) Tidak Tidak Kd Karyawan Kode
karyawan
char(5) Tidak Tidak
Tingkat edukasi
Level Pendidikan
Varchar(20) Tidak Tidak ThnMulai Tahun mulai
bersekolah
Int Tidak Tidak
ThnSelesai Tahun selesai bersekolah
Int Tidak Tidak
NamaInstansi Nama instansi pendidikan
Varchar(20) Tidak Tidak Gelar Gelar yang
didapat jika ada
Varchar(20) Tidak Tidak
Keterangan Keterangan Varchar(100) Tidak Tidak Tabel 4.8 Identifikasi dan Asosiasi Atribut Entitas edukasi karyawan
Entity Name Attribute Description Length & Data Type Nulls Multi Valued Karyawan Karir
Kd karir Kode karir char(5) Tidak Tidak
Kd karyawan Kode karyawan
char(5) Tidak Tidak
Nama perusahaan Nama perusahaan tempat karyawan pernah bekerja
Varchar(20) Tidak Tidak
Mulai Bekerja Tanggal mulai bekerja
Datetime Tidak Tidak
Berhenti Bekerja
Tanggal berhenti bekerja
Datetime Tidak Tidak
Posisi Jabatan terakhir
Varchar(20) Tidak Tidak Alasan Alas an
berhenti kerja
Varchar(100) Tidak Tidak Keterangan Keterangan Varchar(100) Tidak Tidak Tabel 4.9 Identifikasi dan Asosiasi Atribut Entitas KaryawanKarir
Entity Name Attribute Description Length & Data Type
Nulls Multi
Valued
Gaji Kode gaji Kode gaji char(5) tidak tidak
Kode karyawan
Kode Karyawan char(5) Tidak Tidak
Kode absensi
Kode absensi char(5) Tidak Tidak
Periode Mulai
Periode mulai penggajian
Datetime Tidak Tidak
Periode Selesai
Periode selesai penggajian
Datetime Tidak Tidak
Jumlah Hari Kerja
Jumlah hari kerja karyawan
Int Tidak Tidak
Jumlah Absen
Jumlah absen Int Tidak Tidak
Jumlah Sakit
Jumlah sakit Int Tidak Tidak
Jumlah Ijin
Jumlah ijin Int Tidak Tidak
Jumlah Lembur
Jumlah lembur Int Tidak Tidak
Jumlah Plg Cepat
Jumlah pulang cepat
Int Tidak Tidak
Gaji Pokok
Gaji pokok dalam periode tersebut
Decimal (18.2) Tidak Tidak Uang
Makan
Uang makan yang di peroleh
Decimal(18,2) Tidak Tidak Uang
Lembur
Uang lembur yang di peroleh
Decimal (18,2) Tidak Tidak Uang
Lainnya
Uang Transport
Uang transport yang di peroleh
Decimal(18,2) Tidak Tidak THR Besar THR yang di
peroleh
Decimal(18.2) Tidak Tidak Bonus Besar bonus yang
diperoleh
Decimal(18,2) Tidak Tidak Grand
total
Gaji yang diperoleh dalam periode tersebut
Decimal(18,2) Tidak Tidak
Tabel 4.10 Identifikasi dan Asosiasi Atribut Entitas Gaji
Entity Name
Attribute Description Length & Data
Type
Nulls Multi
Valued
Absensi Kode absensi Kode absensi char(5) Tidak Tidak Kode karyawan Kode
Karyawan
char(5) Tidak Tidak
Tgl Absensi Tanggal absensi
datetime Tidak Tidak
Tipe Absensi Jenis absensi: hadir
absen sakit ijin
Varchar(5) Tidak Tidak
Jumlah Lembur Jumlah lembur yang dilakukan pada hari tersebut
Int Tidak Tidak
Jumlah Lebih Awal
Jumlah ijin pulang lebih awal
Int Tidak Tidak
Keterangan Keterangan Varchar(100) Tidak Tidak Tabel 4.11 Identifikasi dan Asosiasi Atribut Entitas absensi
Entity Name Attribute Description Length & Data Type Nulls Multi Valued Pemberhentian Kode pemberhentian Kode pemberhentian
char(5) tidak tidak
Kode karyawan
Kode Karyawan char(5) Tidak Tidak Pemberhentian
Date
Tanggal Pemberhentian
Datetime Tidak Tidak
MaxAbsen Max jumlah absen
Int Tidak Tidak
JmlAbsen Jumlah absen yang dilakukan
Int Tidak Tidak
Keterangan Keterangan Varchar(100) Tidak Tidak TglMulai Tanggal mulai Datetime Tidak Tidak TglSelesai Tanggal selesai
pengamatan karyawan
Datetime Tidak Tidak
Entity Name
Attribute Description Length & Data
Type
Nulls Multi
Valued
Pelatihan Kode pelatihan Kode pelatihan char(5) Tidak Tidak Pelatihan Name Nama
pelatihan
Varchar(20) Tidak Tidak Kode karyawan Kode
Karyawan
char(5) Tidak Tidak
Pelatihan Start Waktu mulai pelatihan
Datetime Tidak Tidak Pelatihan End Waktu selesai
pelatihan
Datetime Tidak Tidak
Alamat alamat
pelatihan
Varchar(50) Tidak Tidak
kota kota tempat
pelatihan
varchar(20) Tidak Tidak Penyedia Penyedia
Pelatihan
Varchar(30) Tidak Tidak Jenis Jenis Pelatihan Varchar(10) Tidak Tidak
Tujuan Tujuan
pelatihan
Varchar(100) Tidak Tidak Hasil Hasil Pelatihan Varchar(20) Tidak Tidak StatusHasil Status hasil
latihan
Bit Tidak Tidak
Keterangan Keterangan Varchar(100) Tidak Tidak Tabel 4.13 Identifikasi dan Asosiasi Atribut Entitas Pelatihan
Entity Name
Attribute Description Length & Data
Type
Nulls Multi
Valued
Pensiun Kode pensiun Kode pensiun karyawan
char(5) Tidak Tidak
Kode karyawan Kode karyawan
char(5) Tidak Tidak
Kode gaji Kode gaji char(5) Tidak Tidak
Tgl Trans Tanggal Transaksi
Datetime Tidak Tidak
Jenis Jenis
Pemberhentian
Varchar(10) Tidak Tidak
Alasan Alasan
Pemberhentian
Varchar(100) Tidak Tidak Keterangan Keterangan Varchar(100) Tidak Tidak Tabel 4.14 Identifikasi dan Asosiasi Atribut Entitas Pensiun
4.2.1.4 Identifikasi Domain Atribut
Domain atribut dari entitas PT.Selaras Bangun Abadi dapat dilihat pada tabel berikut :
Nama Entitas :Departemen
Atribut Domain Atribut
Kd Departemen 5 karakter, dengan 2 digit pertama berupa huruf dan sisanya berupa angka dengan range 000-999 Description Dapat di isi dengan text
Tabel 4.15 Domain Atribut Departemen
Atribut Domain Atribut Kd grup 5 karakter, dengan 2 digit pertama
berupa huruf dan sisanya berupa angka dengan range 000-999 Description di isi dengan maks 100 karakter
Tabel 4.16 Domain Atribut GroupLogin
Nama Entitas :UserSystem
Atribut Domain Atribut
Username Di isi dengan maks 10 karakter Password Di isi dengan maks 10 karakter Kd grup Auto generate 5 karakter Kd Departemen Auto generate 5 karakter
Description di isi dengan maks 100 karakter
Tabel 4.17 Domain Atribut UserSystem
Nama Entitas :Tipe karyawan
Kd tipe 5 karakter, dengan 2 digit pertama berupa huruf dan sisanya berupa angka dengan range 000-999 Description di isi dengan maks 100 karakter LemburPerHour Di isi dengan decimal 18 angka di
depan koma dan 2 angka di belakang koma
Transport per hari Di isi dengan decimal 18 angka di depan koma dan 2 angka di belakang koma
Uang makan per hari
Di isi dengan decimal 18 angka di depan koma dan 2 angka di belakang koma
THR Di isi dengan true atau false Besar Bonus
Tahunan
Di isi dengan decimal 18 angka di depan koma dan 2 angka di belakang koma
Maksimum absen Di isi dengan angka
Uang Lainnya Di isi dengan decimal 18 angka di depan koma dan 2 angka di belakang koma
Tabel 4.18 Domain Atribut Tipe karyawan
Nama Entitas :Karyawan
Kode karyawan 5 karakter, dengan 2 digit pertama berupa huruf dan sisanya berupa angka dengan range 000-999 KaryawanName Di isi dengan maks 20 karakter NoKTP Di isi dengan maks 20 karakter Agama Di isi dengan maks 10 karakter JenisKelamin Di isi dengan maks 10 karakter TempatLahir Di isi dengan maks 20 karakter TanggalLahir Di isi dengan format tanggal Alamat Di isi dengan maks 50 karakter kota Di isi dengan maks 20 karakter Kode pos Diisi dengan maks 10 karakter
Email Di isi dengan maks 30 karakter dan harus menggunakan @
NoHP Di isi dengan angka maks 20 Kd Tipe karyawan Auto generate 5 karakter KdDepartemen Auto generate 5 karakter
Description di isi dengan maks 100 karakter
Tabel 4.19 Domain Atribut Karyawan Nama Entitas :KaryawanEdukasi
Atribut Domain Atribut
Kd edukasi 5 karakter, dengan 2 digit pertama berupa huruf dan sisanya berupa angka dengan range 000-999
Kd karyawan Auto generate 5 karakter
Tingkat edukasi Di isi dengan maks 20 karakter
ThnMulai Di isi dengan format tanggal ThnSelesai Di isi dengan format tanggal NamaInstansi Di isi dengan maks 20 karakter
Gelar Di isi dengan maks 20 karakter
Keterangan di isi dengan maks 100 karakter Tabel 4.20 Domain Atribut KaryawanEdukasi
Nama Entitas :KaryawanKarir
Atribut Domain Atribut
Kd Karir 5 karakter, dengan 2 digit pertama berupa huruf dan sisanya berupa angka dengan range 000-999 Kd Karyawan Auto generate 5 karakter
NamaPerusahaan Di isi dengan mask 20 karakter MulaiBekerja Di isi dengan format tanggal BerhentiBekerja Di isi dengan format tanggal Posisi Di isi dengan maks 20 karakter Alasan di isi dengan maks 100 karakter Keterangan di isi dengan maks 100 karakter
Tabel 4.21 Domain Atribut KaryawanKarir
Nama Entitas :Gaji
Atribut Domain Atribut
Kd gaji 5 karakter, dengan 2 digit pertama berupa huruf dan sisanya berupa angka dengan range 000-999 Kd Karyawan Auto generate 5 karakter Kd absensi Auto generate 5 karakter
PeriodeMulai di isi dengan format date PeriodeSelesai Di isi dengan format date JumlahHariKerja Di isi dengan angka JumlahHadir Di isi dengan angka JumlahAbsen Di isi dengan angka JumlahSakit Di isi dengan angka JumlahIjin Di isi dengan angka JumlahLembur Di isi dengan angka JumlahPlgCepat Di isi dengan angka
GajiPokok Di isi dengan decimal 18 angka di depan koma dan 2 angka di belakang koma
UangMakan Di isi dengan decimal 18 angka di depan koma dan 2 angka di belakang koma
UangLembur Di isi dengan decimal 18 angka di depan koma dan 2 angka di belakang koma
UangLainnya Di isi dengan decimal 18 angka di depan koma dan 2 angka di belakang koma
UangTransport Di isi dengan decimal 18 angka di depan koma dan 2 angka di belakang koma
THR Di isi dengan decimal 18 angka di depan koma dan 2 angka di belakang koma
Bonus Di isi dengan decimal 18 angka di depan koma dan 2 angka di belakang koma
GrandTotal Di isi dengan decimal 18 angka di depan koma dan 2 angka di belakang koma
Tabel 4.22 Domain Atribut Gaji
Nama Entitas :Absensi
Atribut Domain Atribut
KdAbsensi 5 karakter, dengan 2 digit pertama berupa huruf dan sisanya berupa angka dengan range 000-999 Kode karyawan Auto generate 5 karakter TglAbsensi Di isi dengan format date
TipeAbsen Tipe absen: hadir, absen, sakit, ijin JumlahLembur Di isi dengan angka
JumlahLebihAwal Di isi dengan angka
Keterangan Dapat di isi dengan 100 karakter Tabel 4.23 Domain Atribut Absensi Nama Entitas :Pemberhentian
Atribut Domain Atribut
Kd pemberhentian 5 karakter, dengan 2 digit pertama berupa huruf dan sisanya berupa angka dengan range 000-999 Kode karyawan Auto generate 5 karakter Tgl Pemberhentian Di isi dengan format date MaxAbsen Di isi dengan angka JmlAbsen Di isi dengan angka
TglMulai Di isi dengan format date TglSelesai Di isi dengan format date
Tabel 4.24 Domain Atribut Pemberhentian
Nama Entitas :Pelatihan
Atribut Domain Atribut
Kode pelatihan 5 karakter, dengan 2 digit pertama berupa huruf dan sisanya berupa angka dengan range 000-999 PelatihanName Di isi dengan 20 karakter Kode karyawan Auto generate 5 karakter PelatihanStart Di isi dengan format date PelatihanEnd Di isi dengan format date Alamat Di isi 50 karakter
Kota Di isi dengan 20 karakter Penyedia Di isi dengan 30 karakter
Tujuan di isi dengan maks 100 karakter Hasil di isi dengan maks 100 karakter StatusHasil Di isi dengan bit
Keterangan di isi dengan maks 100 karakter Tabel 4.25 Domain Atribut Pelatihan
Nama Entitas :Pensiun
Atribut Domain Atribut
Kode pensiun 5 karakter, dengan 2 digit pertama berupa huruf dan sisanya berupa angka dengan range 000-999 Kode karyawan Auto generate 5 karakter Kode gaji Auto generate 5 karakter TglTrans Di isi dengan format date Jenis Di isi dengan pensiun,
pemberhentian
Alasan di isi dengan maks 100 karakter Keterangan di isi dengan maks 100 karakter
Tabel 4.26 Domain Atribut Pensiun
4.2.1.5 Identifikasi candidate dan primary key setiap entitas
Nama Entitas Candidate Key Primary Key
Departemen Kd Departemen Kd Departemen
Grup login Kd Grup Kd Grup
User System username username
Tipe karyawan Kd Tipe Kd Tipe Karyawan Kd Karyawan
No HP No KTP
Email alamat Edukasi
Karyawan
Kd Edukasi Kd Edukasi
Karir Karyawan Kd Karir Kd Karir
Gaji Kd Gaji Kd Gaji
Pemberhentian Kd Pemberhentian Kd Pemberhentian
Absensi Kd Absensi Kd Absensi
Pelatihan Kd Pelatihan Kd Pelatihan Pensiun Kode pensiun Kode pensiun
Tabel 4.27 Identifikasi Primary Key Dan Candidate Key
4.2.1.6 Memvalidasi Model Konseptual Lokal terhadap Transaksi Pengguna
Tujuan dari tahapan validasi transaksi adalah untuk memastikan model konseptual lokal mendukung transaksi yang dibutuhkan oleh pengguna.
Dua pendekatan untuk melakukan tahapan validasi transaksi antara lain dengan menggambarkan dengan transaksi-transaksi yang dilakukan dengan menggunakan pathways.
Dalam hal ini digunakan jalur arah transaksi (pathways) yang digambarkan dengan diagram E-R untuk memeriksa model konseptual lokal agar mendukung transaksi. Adapun transaksi-transaksi yang ada adalah sebagai berikut :
1. Mendeskripsikan transaksi
A. Menginput Username dan password untuk memilih departemen yang diingikan
B. Username di kelompokan kedalam grup login, untuk menentukan wewenang dari karyawan yang login.
C. Menginput informasi Karyawan baru dari departemen yang terpilih dalam seleksi.
D. Menginput informasi dan menentukan jabatan serta pengelompokan karyawan ke dalam, tipe karyawan
E. Memasukan informasi pendidikan karyawan baru, ke Edukasi karyawan
F. Menginput informasi tentang karir karyawan baru ke Karir karyawan
G. Memasukan informasi absensi karyawan setiap harinya H. Mendapatkan informasi absensi untuk menghitung gaji
I. Memasukan informasi gaji karyawan serta mencetak slip gaji karyawan
J. Memasukan informasi karyawan yang mendapatkan pelatihan K. Mendapatkan informasi absensi dari karyawan dan memasukan
informasi pemberhentian
L. Mendapatkan informasi tentang karyawan, serta menginput karyawan yang berhak mendapatkan pensiun kedalam pensiun M. Mendapatkan informasi gaji karyawan untuk membayar dana
pensiun.
N. List detil username dan password pengguna O. List detil grup login berdasarkan kode
P. List detil departemen berdasarkan kode dan nama Q. List detil tentang karyawan berdasarkan kode dan nama R. List detil tipe karyawan berdasarkan kode
S. List detil edukasi karyawan berdasarkan kode T. List detil karir karyawan berdasarkan kode
U. List detil absensi karyawan berdasarkan kode dan tanggal V. List detil gaji karyawan berdasarkan kode
W.List detil pelatihan karyawan berdasarkan kode X. List detil pemberhentian karyawan bedasarkan kode Y. List detil pensiun karyawan berdasarkan kode
2. Menggunakan transaction pathways
Tipe Karyawan Karyawan 1..1 1..1 mendasari Mendasari Edukasi Karyawan Departemen UserSystem Mendasari 1..1 1..1 Grup Login Mendasari Gaji Menerima Pemberhentian Mendasari Karir Karyawan Menerima Mendasari Pelatihan Pensiun 1..1 1..1 Menerima Memperoleh A B C D E F G X I J Absensi Mempengaruhi K L M N O P Q R S T W U V 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 1..1 Mempengaruhi H Mempengaruhi Y
Gambar 4.5 Transaction Pathway
4.2.2 Perancangan Basis Data Logikal
Perancangan basis data logikal ini bertujuan untuk membangun sebuah model data logikal dari model data konseptual. Kemudian model data ini akan divalidasi dengan teknik normalisasi untuk meyakinkan bahwa struktur sudah benar dan juga model data ini benar-benar mendukung transaksi yang dibutuhkan
4.2.2.2 Membuat Relasi untuk Model Data Logikal
4.2.2.2.1 Menentukan Strong Entity dan Weak Entity
Nama Entitas Strong Entity Weak Entity
Departemen (Kd departemen) Primary key KdDepartemen (Keterangan) GroupLogin (KdGrup) Primary key KdGrup (Keterangan)
UserSystem (Username, Kdgrup, KdDepartemen)
Primary key
Username
(Password)
Tipe karyawan (KdTipe)
Primary key
Kd Tipe
(Description, LemburPerHour, Transport per hari, Uang makan per hari, THR, Besar Bonus Tahunan, max absen,
uang lainnya )
Karyawan (Kdkaryawan,
KaryawanName, NoKTP ,Agama, JenisKelamin, TempatLahir,Tanggal Lahir, Alamat, kota, kode pos, Email, NoHp, kdTipe karyawan, kdDepartemen, Description) Primary key Kode karyawan KaryawanEdu kasi (KdEdukasi, KdKaryawan,Tingkat edukasi,ThnMulai, ThnSelesai, NamaInstansi, Gelar, Keterangan) Primary key Kd Edukasi KaryawanKari r (KdKarir,KdKaryawan, NamaPerusahaan,
MulaiBekerja,
BerhentiBekerja, Posisi, Alasan, Keterangan)
Primary key
Kd Karir
Gaji (KdGaji, KdKaryawan, KodeAbsensi, PeriodeMulai, PeriodeSelesai, JumlahHariKerja, JumlahHadir, JumlahAbsen, JumlahSakit, JumlahIjin, JumlahLembur, JumlahPulangCepat, GajiPokok, UangMakan, UangLembur, UangLainnya, UangTransport, THR,Bonus, GrandTotal) Primary key
Kd Gaji Absen (KdAbsensi, Kodekaryawan, TglAbsensi, TipeAbsen, JumlahLembur, JumlahLebihAwal, Keterangan) Primary key Kd Absensi Pemberhentia n KdPemberhentian, Kodekaryawan, PemberhentianDate, MaxAbsen, JmlAbsen, Keterangan, TglMulai, TglSelesai Primary key Kd Pemberhentian Pelatihan (KdPelatihan, PelatihanName, Kdkaryawan,
PelatihanStart,
PelatihanEnd, Alamat, Kota, Penyedia, Jenis, Tujuan,Hasil, StatusHasil, Keterangan)
Primary key
Kode pelatihan
Pensiun (Kode pensiun, Kdkaryawan, KdGaji, TglTrans, Jenis,Alasan, Keterangan)
Primary key
Kode Pensiun
Tabel 4.28 Menentukan Strong Entity dan Weak Entity
4.2.2.2.2 Tipe Hubungan Biner One-to-Many (1:*) Hubungan one-to-many antara Pelanggan dan Pemesanan
Penempatan Pelanggan dan Pemesanan pada model relasi memiliki 1:*
Gambar 4.6 Hubungan one-to-many antara Departemen Dengan UserSystem
Hubungan one-to-many antara Departemen dan Karyawan pada model relasi memiliki 1:*
Relasi 1:1 pada Tipe Karyawan dan Karyawan pada model relasi
Hubungan one-to-many antara Karyawan dan Absensi
pada model relasi memiliki 1:*
Hubungan one-to-many antara Karyawan dan Gaji
pada model relasi memiliki 1:*
Hubungan one-to-many antara Karyawan dan Pelatihan
pada model relasi memiliki 1:*
Relasi 1:1 pada Group Login dan Login Admin pada model relasi
Gambar 4.12 Hubungan one-to-many Group Login Dengan Login Admin
Hubungan one-to-many antara Karyawan dan Karir Karyawan
pada model relasi memiliki 1:*
Hubungan one-to-many antara Karyawan dan Edukasi Karyawan
pada model relasi memiliki 1:*
Relasi 1:1 pada Karyawan dan Pemberhentian pada model relasi
Relasi 1:1 pada Karyawan dan Pensiun pada model relasi
Relasi 1:1 pada Gaji dan Absensi pada model relasi
Relasi 1:1 pada Gaji dan Pensiun pada model relasi
Gambar 4.18 Hubungan one-to-one Gaji Dengan Pensiun
4.2.2.3 Validasi Relasi Menggunakan Normalisasi 1.Departemen UNF --- KdDepartemen @Departemenkd Description 1NF
---
Di dalam entitas Departemen tidak ditemukan repeating groups, berarti relasi Departemen sudah dalam keadaan normal pertama (1NF) karena sudah memenuhi syarat 1NF.
2NF
---
Di dalam entitas Departemen tidak ditemukan partial dependency, berarti relasi Departemen sudah dalam keadaan normal kedua (2NF) karena sudah memenuhi syarat 2NF.
3NF
---
Di dalam entitas Departemen tidak ditemukan transitive dependency, berarti relasi Departemen sudah dalam keadaan normal ketiga (3NF) karena sudah memenuhi syarat 3NF.
2.Group Login UNF --- KdGroupLogin @GroupLoginkd Description1NF 1NF ---
Di dalam entitas GroupLogin tidak ditemukan repeating groups, berarti relasi GroupLogin sudah dalam keadaan normal pertama (1NF) karena sudah memenuhi syarat 1NF.
2NF
---
Di dalam entitas GroupLogin tidak ditemukan partial dependency, berarti relasi GroupLogin sudah dalam keadaan normal kedua (2NF) karena sudah memenuhi syarat 2NF.
3NF
---
Di dalam entitas GroupLogin tidak ditemukan transitive dependency, berarti relasi GroupLogin sudah dalam keadaan normal ketiga (3NF) karena sudah memenuhi syarat 3NF.
3.User System UNF --- KdUsersystem @Username Password #KdGroupLogin #KdDepartemen Description 1NF
---
Di dalam entitas UserSystem tidak ditemukan repeating groups, berarti relasi UserSystem sudah dalam keadaan normal pertama (1NF) karena sudah memenuhi syarat 1NF.
2NF
---
Di dalam entitas UserSystem tidak ditemukan partial dependency, berarti relasi UserSystem sudah dalam keadaan normal kedua (2NF) karena sudah memenuhi syarat 2NF.
3NF
---
Di dalam entitas UserSystem tidak ditemukan transitive dependency, berarti relasi UserSystem sudah dalam keadaan normal ketiga (3NF) karena sudah memenuhi syarat 3NF.
4.Karyawan UNF KdKaryawan @Kd karyawan KaryawanName NoKTP Agama JenisKelamin TempatLahir
TanggalLahir Alamat Kota Kodepos Email NoHP #KdTipe karyawan #KdDepartemen Description 1NF ---
Karyawan @Kd karyawan KaryawanName NoKTP Agama JenisKelamin TempatLahir TanggalLahir Alamat Kota Kodepos Email NoHP #KdTipe karyawan #KdDepartemen Description
Telphone (No_Tlp, Kd_Karyawan)
2NF
---
Dalam relasi Karyawan tidak ada ketergantungan parsial
Karyawan @Kd karyawan KaryawanName NoKTP Agama JenisKelamin TempatLahir TanggalLahir Alamat Kota Kodepos Email NoHP #KdTipe karyawan #KdDepartemen Description
Telphone (No_Tlp, Kd_Karyawan) 3NF
---
Karyawan @Kd karyawan KaryawanName NoKTP Agama JenisKelamin TempatLahir TanggalLahir Alamat KdKota Kodepos Email NoHP #KdTipe karyawan #KdDepartemen Description
Handphone (NoHP, Kd_Karyawan) Kota (Kd_kota, kota)
5.Tipe karyawan UNF
@KdTipe karyawan Description
LemburPerHour Transport per hari Uang makan per hari THR BesarBonusTahunan Maksimum absen UangLainnya 1NF ---
Di dalam entitas Tipe karyawan tidak ditemukan repeating groups, berarti relasi Tipe karyawan sudah dalam keadaan normal pertama (1NF) karena sudah memenuhi syarat 1NF.
---
Di dalam entitas Tipe karyawan tidak ditemukan partial dependency, berarti relasi Tipe karyawan sudah dalam keadaan normal kedua (2NF) karena sudah memenuhi syarat 2NF.
3NF
---
Di dalam entitas Tipe karyawan tidak ditemukan transitive dependency, berarti relasi Tipe karyawan sudah dalam keadaan normal ketiga (3NF) karena sudah memenuhi syarat 3NF.
6. KaryawanEdukasi UNF @KdEdukasi #Kode karyawan Tingkat edukasi ThnMulai ThnSelesai NamaInstansi Gelar Keterangan 1NF ---
Di dalam entitas KaryawanEdukasi tidak ditemukan repeating groups, berarti relasi KaryawanEdukasi sudah dalam keadaan normal pertama (1NF) karena sudah memenuhi syarat 1NF.
2NF
---
Di dalam entitas KaryawanEdukasi tidak ditemukan partial dependency, berarti relasi KaryawanEdukasi sudah dalam keadaan normal kedua (2NF) karena sudah memenuhi syarat 2NF.
3NF
---
Di dalam entitas KaryawanEdukasi tidak ditemukan transitive dependency, berarti relasi KaryawanEdukasi sudah dalam keadaan normal ketiga (3NF) karena sudah memenuhi syarat 3NF.
7. KarirKaryawan UNF @KdKarir #Kode karyawan NamaPerusahan MulaiBekerja BerhentiBekerja Posisi Alasan Keterangan
1NF
---
Di dalam entitas Calendar tidak ditemukan repeating groups, berarti relasi Calendar sudah dalam keadaan normal pertama (1NF) karena sudah memenuhi syarat 1NF.
2NF
---
Di dalam entitas Calendar tidak ditemukan partial dependency, berarti relasi Calendar sudah dalam keadaan normal kedua (2NF) karena sudah memenuhi syarat 2NF.
3NF
---
Di dalam entitas Calendar tidak ditemukan transitive dependency, berarti relasi Calendar sudah dalam keadaan normal ketiga (3NF) karena sudah memenuhi syarat 3NF. 8.Gaji UNF @KdGaji #Kdkaryawan #KdAbsensi PeriodeMulai PeriodeSelesai JumlahHariKerja
JumlahHadir JumlahAbsen JumlahSakit JumlahIjin JumlahLembur JumlahPlngCepat GajiPokok UangMakan UangLembur UangLainnya UangTransport THR Bonus GrandTotal 1NF ---
Di dalam entitas Gaji tidak ditemukan repeating groups, berarti relasi Gaji sudah dalam keadaan normal pertama (1NF) karena sudah memenuhi syarat 1NF.
2NF
---
Di dalam entitas Gaji tidak ditemukan partial dependency, berarti relasi Gaji sudah dalam keadaan normal kedua (2NF) karena sudah memenuhi syarat 2NF.
3NF
---
Di dalam entitas Gaji tidak ditemukan transitive dependency, berarti relasi Gaji sudah dalam keadaan normal ketiga (3NF) karena sudah memenuhi syarat 3NF. 9.Absensi UNF @KdAbsensi #Kd karyawan TglAbsensi TipeAbsen JumlahLembur JumlahLebihAwal Keterangan 1NF ---
Di dalam entitas Absensi tidak ditemukan repeating groups, berarti relasi Absensi sudah dalam keadaan normal pertama (1NF) karena sudah memenuhi syarat 1NF.
2NF
Di dalam entitas Absensi tidak ditemukan partial dependency, berarti relasi Absensi sudah dalam keadaan normal kedua (2NF) karena sudah memenuhi syarat 2NF.
3NF
---
Di dalam entitas Absensi tidak ditemukan transitive dependency, berarti relasi Absensi sudah dalam keadaan normal ketiga (3NF) karena sudah memenuhi syarat 3NF. 10.Pemberhentian UNF @KdPemberhentian #Kode karyawan PemberhentianDate MaxAbsen JmlAbsen Keterangan tglMulai tglSelesai 1NF ---
Di dalam entitas Pemberhentian tidak ditemukan repeating groups, berarti relasi Pemberhentian sudah dalam keadaan normal pertama (1NF) karena sudah memenuhi syarat 1NF.
2NF
---
Di dalam entitas Pemberhentian tidak ditemukan partial dependency, berarti relasi Pemberhentian sudah dalam keadaan normal kedua (2NF) karena sudah memenuhi syarat 2NF.
3NF
---
Di dalam entitas Pemberhentian tidak ditemukan transitive dependency, berarti relasi Pemberhentian sudah dalam keadaan normal ketiga (3NF) karena sudah memenuhi syarat 3NF.
11.Pelatihan UNF @Kd Pelatihan #Kd Karyawan PelatihanName PelatihanStart PelatihanEnd Alamat Kota Penyedia
Jenis Tujuan Hasil StatusHasil Keterangan 1NF ---
@Kd Pelatihan + #Kd Karyawan + PelatihanName + PelatihanStart + PelatihanEnd + Alamat + kd_kota + Penyedia + Jenis + Tujuan + Hasil + StatusHasil + Keterangan
Kota (Kd kota, Kota) 2NF
---
Di dalam entitas Pelatihan tidak ditemukan partial dependency, berarti relasi Pelatihan sudah dalam keadaan normal kedua (2NF) karena sudah memenuhi syarat 2NF.
3NF
---
Di dalam entitas Pelatihan tidak ditemukan transitive dependency, berarti relasi Pelatihan sudah dalam keadaan normal ketiga (3NF) karena sudah memenuhi syarat 3NF.
12.Pensiun UNF
#Kd Gaji #Kd Karyawan TglTrans Jenis Alasan Keterangan 1NF ---
Di dalam entitas Pemberhentian tidak ditemukan repeating groups, berarti relasi Pemberhentian sudah dalam keadaan normal pertama (1NF) karena sudah memenuhi syarat 1NF.
2NF
---
Di dalam entitas Pemberhentian tidak ditemukan partial dependency, berarti relasi Pemberhentian sudah dalam keadaan normal kedua (2NF) karena sudah memenuhi syarat 2NF.
3NF
---
Di dalam entitas Pemberhentian tidak ditemukan transitive dependency, berarti relasi Pemberhentian sudah dalam keadaan normal ketiga (3NF) karena sudah memenuhi syarat 3NF.
12.Pensiun UNF
#Kd Gaji #Kd Karyawan TglTrans Jenis Alasan Keterangan 1NF ---
Di dalam entitas Pemberhentian tidak ditemukan repeating groups, berarti relasi Pemberhentian sudah dalam keadaan normal pertama (1NF) karena sudah memenuhi syarat 1NF.
2NF
---
Di dalam entitas Pemberhentian tidak ditemukan partial dependency, berarti relasi Pemberhentian sudah dalam keadaan normal kedua (2NF) karena sudah memenuhi syarat 2NF.
3NF
---
Di dalam entitas Pemberhentian tidak ditemukan transitive dependency, berarti relasi Pemberhentian sudah dalam keadaan normal ketiga (3NF) karena sudah memenuhi syarat 3NF.
1.2.2.4Menentukan Batasan Integrity
Primary key KodeDepartemen
ON UPDATE CASCADE ON DELETE CASCADE
2. GroupLogin(kode grup, Description)
Primary key kode grup
ON UPDATE CASCADE ON DELETE CASCADE
3. UserSystem(Username,Password,IDGroupLogin,IDDepartemen,Desc ription)
Primary key Username
Foreign Key ID GrupLogin,ID Departemen
ON UPDATE CASCADE ON DELETE CASCADE
4. Tipe karyawan(Kode tipe,Description, LembuPerHour, Transport per hari, Uang makan per hari, THR,
Bonus,BesarBonusTahunan,Maksimum absen,UangLainnya)
Primary key Kode Tipe Foreign Key –
ON UPDATE CASCADE ON DELETE CASCADE
5. Karyawan(Kodekaryawan,NamaKaryawan,NoKTP,Agama,JenisKela min,TempatLahir,TanggalLahir,AlamatLengkap,Email,NoHp,IDTipe karyawan,IDDepartemen,Description)
Primary key Kode karyawan Foreign Key -
ON UPDATE CASCADE ON DELETE CASCADE
6. KaryawanEdukasi(KodeEdukasi,Kode karyawan,Tingkat edukasi,ThnMulai,ThnSelesai,NamaInstansi,Gelar,Keterangan)
Primary key Kode Edukasi Foreign Key Kode karyawan
ON UPDATE CASCADE ON DELETE CASCADE
7. KaryawanKarir(Kodekarir,Kode
karyawan,NamaPerusahaan,MulaiBekeja,BerhentiBekerja,Posisi,Alas an,Keterangan)
Primary key Kodekarir Foreign Key Kode karyawan
ON UPDATE CASCADE ON DELETE CASCADE
8. Gaji(Kodegaji,Kode
karyawan.PeriodeMulai,PeriodeSelesai,JumlahHariKerja,JumlahHadi r,JumlahAbsen,JumlahSakit,JumlahIjin,JumlahLembur,JumlahPlgCep atGajiPokok,UangMakan,UangLembur,UangLainnya,UangTransport, THR,Bonus,GrandTotal)
Primary key Kode gaji Foreign Key Kode karyawan
ON UPDATE CASCADE ON DELETE CASCADE
9. Pemberhentian(KodePemberhentian,Kode
karyawan,PemberhentianDate,MaxAbsen,JmlAbsen,Keterangan,Tgl Mulai,TglSelesai)
Primary key Kode Pemberhentian Foreign Key Kode karyawan
ON UPDATE CASCADE ON DELETE CASCADE
10.Absensi(Kodeabsensi,Kode
karyawan,TglAbsensi,TipeAbsen,JumlahLembur,JumlahLebihAwal, Keterangan)
Primary key Kode karyawan Foreign Key Kode karyawan
ON UPDATE CASCADE ON DELETE CASCADE
11.Pelatihan(Kode pelatihan,Namapelatihan,Kode
karyawan,PelatihanStart,PelatihanEnd,Lokasi,Penyedia,Jenis,Tujuan, Hasil,StatusHasil,Keterangan)
Primary key Kode pelatihan Foreign Key Kode karyawan
ON UPDATE CASCADE ON DELETE CASCADE 12.Pensiun(Kode pensiun,Kode
Primary key Kode pensiun Foreign Key Kode karyawan
ON UPDATE CASCADE ON DELETE CASCADE
4.2.2.5 Membangun dan Memvalidasi Model Data Logikal Global ERD model global dirancang berdasarkan hasil dari normalisasi. Model global ini dirancang untuk merepresentasikan sistem keseluruhan perusahaan dan berdasarkan pada model ini perancangan database fisikal dibuat.
Gambar 4.19 ERD Model Global
Tujuan dari langkah ini adalah untuk mengestimasi besarnya penggunaan disk space yang akan dipakai dalam database. Perkiraannya adalah sebagai berikut :
Nama Entity Attribute Data Type and Length Ukuran
Departemen Kddepartemen char(5) 5 Byte
Description Varchar(100) 100 Byte
Kapasitas dari tabel departemen adalah 105 Byte
Diperkirakan dalam 5 tahun terjadi penambahan 1 departemen baru
Dalam waktu 5 tahun pertumbuhan dari tabel departemen adalah 1*1* 105= 105 Byte
Nama Entity Attribute Data Type and Length Ukuran
GrupLogin Kdgruplogin char(5) 5 Byte
Description Varchar(100) 100 Byte
Kapasitas dari tabel departemen adalah 105 Byte
Diperkirakan dalam 1 tahun terjadi penambahan 1 gruplogin baru
Dalam waktu 1 tahun pertumbuhan dari tabel grup login adalah 1*1* 105= 105 Byte
Nama Entity Attribute Data Type and Length Ukuran
User System Username char(10) 10 Byte
Password Varchar(10) 10 Byte
kdGrup Int 4 Byte
KdDepartemen Int 4 Byte
Description Varchar(100) 100 Byte
Kapasitas dari tabel UserSystem adalah 128 Byte
Diperkirakan dalam 1 bulan terjadi 10 penambahan UserSystem baru
Dalam waktu 1 tahun pertumbuhan dari tabel UserSystem adalah 10*12*128 = 15360Byte
Nama Entity Attribute Data Type and Length Ukuran
Tipe karyawan Kd Tipe char(5) 5 Byte
Description Varchar(100) 100 Byte
LemburPerhour Decimal (18,2) 8 Byte Transport per hari Decimal (18,2) 8 Byte
Uang makan per hari Decimal (18,2) 8 Byte
THR Bit 1 Byte
Besar Bonus Tahunan Decimal(18,2) 8 Byte
Maksimum absen Int 4 Byte
UangLainya Decimal(18.2) 8 Byte
Kapasitas dari tabel Tipe karyawan adalah 150 Byte
Diperkirakan dalam 1 tahun terjadi 1 penambahan Tipe karyawan baru
Dalam waktu 1 tahun pertumbuhan dari tabel Tipe karyawan adalah 1*1*150 = 150 Byte
Nama Entity Attribute Data Type and Length Ukuran
Karyawan Kode karyawan char(5) 5 Byte
KaryawanName Varchar(20) 20 Byte
NoKTP Varchar(20) 20 Byte
Agama Varchar(10) 10 Byte
JenisKelamin Varchar(10) 10 Byte
TempatLahir Varchar(20) 20 Byte
TanggalLahir datetime 8 Byte
Alamat varchar(50) 50 Byte
Kd kota char(5) 5 Byte
kode pos varchar (10) 10 Byte
Email varchar(30) 30 Byte
NoHP varchar(20) 20 Byte
kd tipe karyawan char(5) 5 Byte
kode departemen char(5) 5 Byte
Description varchar (100) 100 Byte Kapasitas dari tabel Karyawanadalah 318 Byte
Diperkirakan dalam 3 bulan terjadi 100 penambahan Karyawan baru
Dalam waktu 1 tahun pertumbuhan dari tabel Karyawan adalah 100*4*318 = 127200 Byte
Nama Entity Attribute Data Type and Length Ukuran Karyawan
Edukasi
kd Edukasi char(5) 5 Byte
Kd Karyawan char(5) 5 Byte
Tingkat edukasi Varchar(20) 20 Byte
ThnMulai Int 4 Byte
ThnSelesai Int 4 Byte
Gelar Varchar(20) 20 Byte
Keterangan Varchar(100) 100 Byte
Kapasitas dari tabel Karyawan Edukasi adalah 178 Byte
Diperkirakan dalam 3 bulan terjadi 100 penambahan Karyawan Edukasi baru Dalam waktu 1 tahun pertumbuhan dari tabel Karyawan Edukasi adalah 100*4*178 = 71200 Byte
Nama Entity Attribute Data Type and Length Ukuran Karyawan
Karir
Kd karir char(5) 5 Byte
Kd karyawan char(5) 5 Byte
Nama perusahaan Varchar(20) 20 Byte
Mulai Bekerja Datetime 8 Byte
Berhenti Bekerja Datetime 8 Byte
Posisi Varchar(20) 20 Byte
Alasan Varchar(100) 100 Byte
Keterangan Varchar(100) 100 Byte
Kapasitas dari tabel Karyawan Karir adalah 266 Byte
Diperkirakan dalam 3 bulan terjadi 100 penambahan Karyawan Karir baru Dalam waktu 1 tahun pertumbuhan dari tabel Karyawan Karir adalah 100*4*266 =106400 Byte
Nama Entity Attribute Data Type and Length Ukuran
Gaji Kode gaji char(5) 5 Byte
Kode karyawan char(5) 5 Byte
Kode absensi char(5) 5 Byte
Periode Mulai Datetime 8 Byte
Periode Selesai Datetime 8 Byte
Jumlah Hari Kerja Int 4 Byte
Jumlah Absen Int 4 Byte
Jumlah Sakit Int 4 Byte
Jumlah Lembur Int 4 Byte
Jumlah Plg Cepat Int 4 Byte
Gaji Pokok Decimal (18.2) 8 Byte
Uang Makan Decimal(18,2) 8 Byte
Uang Lembur Decimal (18,2) 8 Byte Uang Lainnya Decimal(18,2) 8 Byte Uang Transport Decimal(18,2) 8 Byte
THR Decimal(18.2) 8 Byte
Bonus Decimal(18,2) 8 Byte
Grand total Decimal(18,2) 8 Byte Kapasitas dari tabel gaji adalah 103 Byte
Diperkirakan dalam 1 bulan terjadi 200 penambahan gaji
Dalam waktu 1 tahun pertumbuhan dari tabel gaji adalah 200*12*103 = 247200 Byte
Nama Entity Attribute Data Type and Length Ukuran
Absensi Kode absensi char(5) 5 Byte
Kode karyawan char(5) 5 Byte
Tgl Absensi datetime 8 Byte
Tipe Absensi Varchar(5) 5 Byte
Jumlah Lembur Int 4 Byte
Jumlah Lebih Awal Int 4 Byte
Keterangan Varchar(100) 100 Byte
Kapasitas dari tabel Absensi adalah absensi 131 Byte
Diperkirakan dalam 1 bulan terjadi 200 penambahan absensi
Dalam waktu 1 tahun pertumbuhan dari tabel absensi adalah 200*12*131= 314400 Byte
Nama Entity Attribute Data Type and Length Ukuran Pemberhentian Kode pemberhentian char(5) 5 Byte
Kode karyawan char(5) 5 Byte
Pemberhentian Date Datetime 8 Byte
MaxAbsen Int 4 Byte
JmlAbsen Int 4 Byte
Keterangan Varchar(100) 100 Byte
TglMulai Datetime 8 Byte
TglSelesai Datetime 8 Byte
Kapasitas dari tabel Pemberhentian adalah 142 Byte
Diperkirakan dalam 1 bulan terjadi 10 penambahan Pemberhentian
Dalam waktu 1 tahun pertumbuhan dari tabel Pemberhentian adalah 10*12*142 = 17040 Byte
Nama Entity Attribute Data Type and Length Ukuran
Pelatihan Kode pelatihan char(5) 5 Byte
Pelatihan Name Varchar(20) 20 Byte
Kode karyawan char(5) 5 Byte
Pelatihan Start Datetime 8 Byte
Pelatihan End Datetime 8 Byte
Alamat Varchar(50) 50 Byte
kd kota char(5) 5 Byte
Penyedia Varchar(30) 30 Byte
Jenis Varchar(10) 10 Byte
Tujuan Varchar(100) 100 Byte
Hasil Varchar(20) 20 Byte
StatusHasil Bit 1 Byte
Keterangan Varchar(100) 100 Byte
Diperkirakan dalam 1 bulan terjadi 2 penambahan Pelatihan baru
Dalam waktu 1 tahun pertumbuhan dari tabel Pelatihan adalah 2*12*372 = 8928 Byte
Nama Entity Attribute Data Type and Length Ukuran
Pensiun Kode pensiun char(5) 5 Byte
Kode karyawan char(5) 5 Byte
Kode gaji char(5) 5 Byte
Tgl Trans Datetime 8 Byte
Jenis Varchar(10) 10 Byte
Alasan Varchar(100) 100 Byte
Keterangan Varchar(100) 100 Byte
Kapasitas dari tabel Pensiun adalah 233 Byte
Diperkirakan dalam 1 bulan terjadi 2 penambahan pensiun baru
Dalam waktu 1 tahun pertumbuhan dari tabel pensiun adalah 2*12*233 = 5592 Byte
4.2.3.3 Pemilihan Index
Untuk meningkatkan performance dari sistem sewaktu mencari data kita membuat indeks pada tabel-tabel yang sudah dibuat. Indeks dibuat berdasarkanfield yang sering digunakan dalam proses pencarian
Tabel / Entitas Nama Index Key Index Departemen idxDepartemen KdDepartemen
Grup Login idxGrup KdGrup
User System Username Username
Karyawan idxKaryawan KdKaryawan Edukasi Karyawan idxEdukasi KdEdukasi Karir Karyawan idxKarir KdKarir
Gaji idxGaji KdGaji
Absensi idxAbsensi KdAbsensi
Pemberhentian idxPemberhentian KdPemberhentian Pelatihan idxPelatihan KdPelatihan
Pensiun idxPensiun KdPensiun
Tabel 4.29 Pemilihan Index
4.3 State Transition Diagram (STD)
State transition diagram menggambarkan respon objek terhadap suatu kejadian. Respon tersebut akan melibatkan objek yang berada di dalam state yang sama. Berikut ini akan digambarkan beberapa state transition diagram dari aplikasi pada PT. Selaras Bangun Abadi
Gambar 4.20 Gambar std menu utama
Gambar 4.22 Gambar std submenu Group Login
Gambar 4.24 Gambar std submenu user system
Gambar 4.26 Gambar std submenu Karyawan
Gambar 4.28 Gambar std menu transaksi
Gambar 4.30 Gambar std menu penggajian
Gambar 4.32 Gambar std submenu pelatihan
Gambar 4.34 Gambar std submenu Absensi
Gambar 4.36 Gambar std submenu Slip Gaji
Gambar 4.38 Gambar std submenu History Pelatihan
Gambar 4.39 Gambar std menu utility
4.3.1 Rancangan Layar
Halaman utama berisi menu bar yaitu halaman utama,data,transaksi,report,utility dan juga logout
Fungsi menu halaman utama ini adalah untuk kembali ke halaman awal atau Home.
Halaman Login ini berisi form id atau username dan password,Password dan username setiap user berbeda-beda.
Rancangan Grup Login
Form ini berfungsi untuk melihat user yang sedang login
Rancangan Form Tambah Group Login
Rancangan Form Departemen
Form ini berfungsi untuk melihat departemen apa saja yang ada di dalam system
Rancangan Tambah Departemen Baru
Rancangan Form Usersystem
Halaman ini berfungsi untuk melihat user yang sudah terdaftar di dalam system
Rancangan Tambah User System Baru
Rancangan Form Tipe Karyawan
Form ini berfungsi untuk melihat tipe-tipe karyawan apa saja yang terdapat di dalam perusahaan
Rancangan Form Tambah Tipe Karyawan Baru
Rancangan Halaman Karyawan
Form ini berfungsi untuk melihat daftar karyawan yang ada di dalam perusahaan
Jika ada karyawan baru maka form inilah yang harus di isi terlebih dahulu untuk menambah kan data karyawan baru ke dalam system
Form ini berguna untuk menampilkan list absensi karyawan PT.Selaras Bangun Abadi,mulai dari jumlah hadir sampai persentase kehadiran karyawan.
Rancangan Form Tambah Absensi
Form ini digunakan untuk melihat absensi karyawan tertentu.
Form ini digunakan untuk mengisi gaji karyawan.
Rancangan Form Pemberhentian Karyawan
Form ini digunakan untuk memberhentikan karyawan tertentu.
Form ini berisi data-data karyawan yang sudah di berhentikan dari perusahaan.
Rancangan Form View Absensi
Form ini berisi daftar karyawan yang diberhentikan, karena absennya
Form ini berisi laporan absensi karyawan dalam waktu tertent
Form ini berisi list gaji setiap karyawan dan akan di cetak untuk di berikan kepada setiap karyawan
Form Rancangan Ubah Password
Rancangan Pemberhentian Karyawan
Form ini digunakan untuk melihat karyawan yang akan di berhentikan
Form ini digunakan untuk menambahkan karyawan yang akan di berhentikan lengkap dengan tanggal,jenis pemberhentian serta alasan mengapa karyawan tersebut harus di berhentikan.
Form ini digunakan untuk melihat daftar karyawan yang sedang menjalani latihan
Form ini digunakan untuk menbambahkan data karyawan baru yang akan di latih
Form ini digunakan untuk melihat report dan hasil pelatihan karyawan
4.4 Rencana Implementasi
Untuk implementasi sistem database berbasis web PT. Selaras Bangun Abadi dibutuhkan spesifikasi perangkat keras dan perangkat lunak yang cukup memadai, sehinga sistem dapat berjalan dengan baik. Berikut ini dijelaskan usulan perangkat keras dan perangkat lunak yang akan digunakan :
4.4.1 Spesifikasi Perangkat Keras
Spesifikasi perangkat keras yang diusulkan dalam implementasi aplikasi web PT. Selaras Bangun Abadi adalah sebagai berikut :
• Server PC Intel DualCore 2,6GHz Harddisk 8TB RAM 32GB Monitor resolusi 1024x768 Keyboard
Mouse
• Client
PC Intel Pentium IV 1,8GHz minimal Harddisk 300GB RAM 1GB Monitor resolusi 1024x768 Keyboard Mouse Printer Scanner
4.4.2 Spesifikasi Perangkat Lunak
Konfigurasi perangkat lunak yang digunakan adalah : • Server
Windows XP, Windows Vista atau Windows 7 XAMPP for Windows
MySQL
Internet Browser (Internet Explorer, Mozilla Firefox, Opera, Safari, Google Chrome)
• Client
Internet Browser (Internet Explorer, Mozilla Firefox, Opera, Safari, Google Chrome)
• Jumlah Komputer
Tiap Proyek diharuskan memiliki 1 buah komputer yang terhubung dengan server,untuk mengakses database
4.4.3 Jadwal Implementasi Sistem
Estimasi waktu untuk mengimplementasi sistem adalah 15 minggu, Berikut spesifikasi dan pengalokasian waktu berdasarkan kegiatannya:
- Analisis diperkirakan akan memakan waktu 1 bulan karena dibutuhkan waktu yang cukup banyak bagi sistem analis untuk menganalisa dan menentukan user requirement.
- Design diperkirakan akan memakan waktu 2 minggu.Waktu ini akan digunakan oleh sistem analis untuk mendesain sistem sesuai dengan kebutuhan dan hasil analisis.
- Coding diperkirakan akan memakan waktu 1 bulan. Programmer akan membuat program berdasarkan desain yang telah dibuat sistem analis.
- Testing diperkirakan akan memakan waktu 1 minggu.Waktu ini akan digunakan untuk uji coba sistem agar dapat mengetahui kekurangan dan kelebihannya (feedback dari user) dan menemukan error atau bug yang ada pada sistem.
- Pengadaan hardware dan jaringan akan memakan waktu 1 minggu.Waktu ini akan digunakan untuk mencari dan membeli hardware dan software yang dibutuhkan oleh sistem.Seperti: PC, Printer, Kabel Jaringan, Software, dll
- Pelatihan akan dilakukan selama 1 minggu. Hal ini diperlukan agar pemakai sistem dapat benar – benar memahami fungsi dan cara kerja sistem.
- Implementasi akan memakan waktu 2 minggu.Waktu ini diharapkan dapat digunakan untuk mengimplementasikan sistem yang baru dan mengganti sistem yang lama. Implementasi akan dilakukan secara bertahap. Sehingga sistem dapat berjalan secara paralel menghindari lumpuhnya usaha jika terjadi kesalahan yang disebabkan oleh sistem tersebut.
N o Kegiatan Bulan 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 Analisis 2 Design 3 Coding 4 Testing 5
Pengadaan hardware dan
jaringan
6 Pelatihan