• Tidak ada hasil yang ditemukan

BAB 4 PERANCANGAN, IMPLEMENTASI, DAN EVALUASI Perancangan Basis Data Konseptual. entitas, atribut, dan relasi. yaitu (Connolly, 2010, p468) :

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 4 PERANCANGAN, IMPLEMENTASI, DAN EVALUASI Perancangan Basis Data Konseptual. entitas, atribut, dan relasi. yaitu (Connolly, 2010, p468) :"

Copied!
332
0
0

Teks penuh

(1)

88

Di dalam bab 4 akan dibahas mengenai perancangan basis data, implementasi aplikasi, dan juga evaluasi dari aplikasi.

4.1 Perancangan

4.1.1 Perancangan Basis Data Konseptual

Perancangan basis data konseptual adalah proses membangun sebuah rancangan informasi yang berpusat pada pemrosesan suatu model dari informasi yang akan digunakan dalam suatu organisasi dan bebas dari pertimbangan fisikal. Tujuan dari perancangan konseptual untuk membuat representasi basis data konseptual yang mencakup identifikasi entitas, atribut, dan relasi.

Perancangan basis data konseptual terdiri dari sembilan langkah, yaitu (Connolly, 2010, p468) :

1. Identifikasi tipe entitas 2. Identifikasi tipe relasi

3. Identifikasi dan asosiasi atribut dengan entitas tipe relasi 4. Menentukan domain atribut

5. Identifikasi candidate dan primary key 6. Penggunaan enhanced modeling concept

(2)

7. Memeriksa redundansi

8. Validasi transaksi dengan transaksi user 9. Peninjauan model data konseptual dengan user

4.1.1.1 Identifikasi Tipe Entitas

Tabel-tabel berikut merupakan tabel yang menjelaskan entitas yang menjadi kebutuhan organisasi.

Tabel 4.1 Identifikasi Tipe Entitas

Nama Entitas

Deskripsi Alias Kejadian

Pegawai Informasi

mengenai biodata dari pegawai Ditjen Aptika Kemkominfo

Pegawai Setiap pegawai

yang bekerja di Ditjen Aptika Kemkominfo Address Informasi mengenai alamat rumah dari pegawai Ditjen Aptika Kemkominfo

Alamat Setiap pegawai

yang bekerja di Ditjen Aptika Kemkominfo

Physical Informasi

mengenai kondisi

Fisik Setiap pegawai

(3)

Ditjen Aptika Kemkominfo

Kemkominfo

Pendidikan Pendidikan yang sudah dijalani pegawai Ditjen Aptika

Kemkominfo

Pendidikan Setiap tingkat pendidikan yang diikuti pegawai Ditjen Aptika Kemkominfo

Kursus Kursus yang

sedang/telah diikuti pegawai Ditjen Aptika Kemkominfo

Kursus Setiap kursus

yang

sedang/telah diikuti pegawai Ditjen Aptika Kemkominfo

Diklat Diklat yang

sedang/telah diikuti pegawai Ditjen Aptika Kemkominfo

Diklat Setiap diklat

yang

sedang/telah diikuti pegawai Ditjen Aptika Kemkominfo

Pangkat Pangkat dari

pegawai Ditjen Aptika

Pangkat Setiap pangkat

yang dimiliki pegawai Ditjen

(4)

Kemkominfo Aptika Kemkominfo Jabatan Jabatan/pekerjaan dari pegawai Ditjen Aptika Kemkominfo Jabatan Setiap jabatan/pekerjaan dari pegawai Ditjen Aptika Kemkominfo Penghargaan Informasi mengenai penghargaan yang telah diterima pegawai Ditjen Aptika Kemkominfo Penghargaan Setiap penghargaan yang diterima pegawai Ditjen Aptika Kemkominfo Kunjungan Informasi mengenai kunjungan kerja yang dilakukan pegawai Ditjen Aptika Kemkominfo

Kunjungan Setiap kunjungan kerja yang dilakukan pegawai Ditjen Aptika Kemkominfo Barang Informasi mengenai barang

Barang Setiap barang

(5)

dimiliki pegawai Ditjen Aptika Kemkominfo Ditjen Aptika Kemkominfo Pasangan Informasi mengenai pasangan pegawai Ditjen Aptika Kemkominfo (Suami/Istri)

KetPasangan Setiap pasangan yang dimiliki pegawai pegawai Ditjen Aptika Kemkominfo (Suami/Istri) Anak Informasi mengenai anak dari pegawai Ditjen Aptika Kemkominfo

KetAnak Setiap anak dari pegawai Ditjen Aptika Kemkominfo Organisasi Informasi mengenai pengalaman berorganisasi dari pegawai Ditjen Aptika Kemkominfo

Organisasi Setiap organisasi yang pernah diikuti oleh pegawai Ditjen Aptika

Kemkominfo

(6)

mengenai Thread yang dibuat pegawai di dalam forum Threadyang dibuat pegawai Ditjen Aptika Kemkominfo Comment Informasi mengenai Comment dari sebuah Thread

Comment Setiap Comment dari Thread yang dibuat

(7)

Tujuan dari langkah ini adalah untuk mengidentifikasi hubungan antara entitas yang telah diidentifikasikan. Untuk mengidentifikasi tipe relasi digunakan Entity Relationship Diagram (ERD).

Tabel 4.2 Tipe Relasi

Nama Entitas

Multiplicity Relationship Nama Entitas

Multiplicity

Pegawai 1..1 Memiliki Address 1..*

Pegawai 1..1 Memiliki Physical 1..1

Pegawai 1..* Memiliki Pendidikan 1..*

Pegawai 0..* Melakukan Kursus 1..*

Pegawai 0..* Melakukan Diklat 1..*

Pegawai 1..* Memiliki Pangkat 1..*

Pegawai 1..* Memiliki Jabatan 1..*

Pegawai 0..* Memiliki Penghargaan 1..*

Pegawai 1..* Melakukan Kunjungan 0..*

Pegawai 0..* Memiliki Barang 0..*

Pegawai 0..1 Memiliki Pasangan 1..1

Pegawai 0..* Memiliki Anak 1..1

Pegawai 1..* Melakukan Organisasi 1..*

(8)

Pegawai 0..* Memiliki Thread 1..*

Thread 0..* Memiliki Comment 1..1

Berikut ini entityrelationship diagram yang hanya memuat nama entitas berikut hubungannya.

(9)

Dari kamus data relationship dapat ditemukan atribut seperti terlihat pada tabel berikut :

Tabel 4.3 Keterangan tipe data dan panjang data

Tipe data dan panjang data Keterangan NIP

char(18)

Jumlahnya harus 18 digit , dengan format tahun,bulan,tanggal kelahiran (8 digit) diikuti dengan tahun,bulan menjadi CPNS (6 digit), kemudian diikuti oleh kode jenis kelamin (1 digit, angka 1 adalah laki-laki dan angka 2 adalah perempuan ) dan nomor urut (3 digit).

AlamatID int(6)

Berupa auto increment

PhysicID int(6)

Berupa auto increment

PendidikanID int(6)

Berupa auto increment

KursusID int(6)

(10)

DiklatID int(6)

Berupa auto increment

GolonganID int(6)

Berupa auto increment

JabatanID int(6)

Berupa auto increment

PenghargaanID int(6)

Berupa auto increment

KunjunganID int(6)

Berupa auto increment

BarangID varchar(50)

-

PasanganID int(6)

Berupa auto increment

AnakID int(6)

Berupa auto increment

OrganisasiID int(6)

Berupa auto increment

ThreadID int(6)

Berupa auto increment

CommentID int(6)

(11)

Tabel 4.4 Kamus Data Atribut Entitas Pegawai

Atribut Deskripsi Tipe Data dan Panjang Nulls Multivalued NIP Kode pegawai char(18) No No NamaLengkap Nama lengkap setiap pegawai varchar(50) No No NamaPanggilan Nama panggilan setiap pegawai varchar(15) No No

Gelar Gelar setiap

pegawai varchar(50) No No TempatLahir Tempat lahir setiap pegawai varchar(50) No No TanggalLahir Tanggal lahir setiap pegawai Date No No

(12)

Gender Jenis kelamin setiap pegawai char(20) No No Agama Agama setiap pegawai char(15) No No Status Status setiap pegawai varchar(50) No No Email Email setiap pegawai varchar(50) No No Telepon Nomor telepon setiap pegawai varchar(50) No No FAX Nomor FAX setiap pegawai varchar(50) Yes No ASKES ASKES setiap pegawai varchar(50) Yes No

(13)

setiap pegawai TASPEN TASPEN setiap pegawai varchar(50) Yes No KAPREG KAPREG setiap pegawai varchar(50) Yes No NONPWP NONPWP setiap pegawai varchar(50) Yes No

Bank Bank setiap

pegawai varchar(50) Yes No NoRek No Rekening setiap pegawai varchar(50) Yes No Hobby Hobby setiap pegawai

varchar(50) Yes Yes

Foto Foto wajah

setiap

(14)

pegawai

2. Entitas Address

Tabel 4.5 Kamus Data Atribut Entitas Address

Atribut Deskripsi Tipe Data dan

Panjang

Nulls Multivalued

AlamatID Kode dari alamat pegawai

int(6) No No

Jalan Nama jalan varchar(50) No No

Kelurahan Nama kelurahan varchar(50) No No Kecamatan Nama kecamatan varchar(50) No No Propinsi Nama Propinsi varchar(50) No No

(15)

Tabel 4.6 Kamus Data Atribut Entitas Physical

Atribut Deskripsi Tipe Data dan

Panjang

Nulls Multivalued

FisikID Kode dari keterangan badan pegawai

int(6) No No

Tinggi Tinggi badan setiap

pegawai

int(11) No No

Berat Berat badan setiap pegawai int(11) No No Rambut Keterangan rambut setiap pegawai varchar(50) No No BentukMuka Bentuk muka setiap pegawai varchar(50) No No

(16)

WarnaKulit Warna kulit setiap

pegawai

varchar(50) No No

CiriKhas Ciri khas setiap

pegawai

varchar(50) No No

CacatTubuh Cacat tubuh setiap

pegawai

varchar(50) No No

4. Entitas Pendidikan

Tabel 4.7 Kamus Data Atribut Entitas Pendidikan

Atribut Deskripsi Tipe Data dan Panjang Nulls Multivalued PendidikanID Kode pendidikan yang diikuti setiap pegawai int(6) No No Tingkat Tingkat pendidikan varchar(50) No No

(17)

pegawai NamaPendidikan Nama institusi pendidikan yang diikuti setiap pegawai varchar(50) No No Jurusan Jurusan yang diikuti setiap pegawai varchar(50) No No

IjazahTahun Ijazah tahun kelulusan pendidikan

int(11) No No

Tempat Alamat dari institusi pendidikan

varchar(50) No No

KepalaSekolah Kepala dari institusi pendidikan

varchar(50) No No

(18)

Tabel 4.8 Kamus Data Atribut Entitas Kursus

Atribut Deskripsi Tipe Data dan

Panjang

Nulls Multivalued

KursusID Kode kursus yang diikuti pegawai int(6) Yes No Kursus Nama kursus yang diikuti pegawai varchar(50) Yes No TanggalMulai Tanggal mulai kursus Date Yes No TanggalSelesai Tanggal selesai kursus Date Yes No

IjazahTahun Ijazah tahun kelulusan kursus int(11) Yes No Tempat Alamat tempat kursus varchar(50) Yes No

(19)

6. Entitas Diklat

Tabel 4.9 Kamus Data Atribut Entitas Diklat

Atribut Deskripsi Tipe Data dan

Panjang

Nulls Multivalued

DiklatID Kode diklat yang diikuti pegawai

int(6) Yes No

Diklat Nama diklat yang diikuti pegawai varchar(50) Yes No TanggalMulai Tanggal mulai diklat Date Yes No TanggalSelesai Tanggal selesai diklat Date Yes No

(20)

kelulusan diklat Tempat Alamat tempat diklat varchar(50) Yes No Keterangan Keterangan tambahan varchar(100) Yes No 7. Entitas Pangkat

Tabel 4.10 Kamus Data Atribut Entitas Pangkat

Atribut Deskripsi Tipe Data dan Panjang Nulls Multivalued GolonganID Kode golongan pangkat pegawai int(6) No No GolonganRuang Nama golongan ruang pangkat pegawai varchar(50) No No TMT Tanggal Date No No

(21)

golongan pangkat GajiPokok Gaji pokok

dari golongan pangkat

decimal(10,2) No No

NomorSurat Nomor surat keputusan dari golongan pangkat

varchar(50) No No

Pejabat Nama pejabat yang mengesahkan surat keputusan varchar(50) No No Tanggal Tanggal disahkannya surat keputusan Date No No Keterangan Keterangan tambahan varchar(100) Yes No 8. Entitas Jabatan

(22)

Tabel 4.11 Kamus Data Atribut Entitas Jabatan

Atribut Deskripsi Tipe Data dan Panjang

Nulls Multivalued

JabatanID Kode jabatan pegawai

int(6) No No

Jabatan Jabatan yang dipegang pegawai varchar(50) No No Golongan ruang Nama golongan ruang pangkat pegawai varchar(50) No No TMT Tanggal berlakunya jabatan Date No No

GajiPokok Gaji pokok dari jabatan

decimal(10,2) No No

NomorSurat Nomor surat keputusan dari jabatan

varchar(50) No No

Pejabat Nama pejabat yang

(23)

surat keputusan Tanggal Tanggal disahkannya surat keputusan Date No No 9. Entitas Penghargaan

Tabel 4.12 Kamus Data Atribut Entitas Penghargaan

Atribut Deskripsi Tipe Data dan Panjang Nulls Multivalued PenghargaanID Kode penghargaan pegawai int(6) Yes No Penghargaan Nama penghargaaan yang diterima pegawai varchar(50) Yes No Tahun Tahun perolehan int(11) Yes No

(24)

penghargaan NamaInstansi Nama instansi yang memberi penghargaan varchar(50) Yes No 10. Entitas Kunjungan

Tabel 4.13 Kamus Data Atribut Entitas Kunjungan

Atribut Deskripsi Tipe Data dan

Panjang

Nulls Multivalued

KunjunganID Kode dari kunjungan kerja pegawai

int(6) Yes No

Negara Negara yang menjadi tujuan kunjungan varchar(50) Yes No Tujuan Nama tempat yang dituju di varchar(50) Yes No

(25)

tujuan

Lamanya Lama

kunjungan kerja

int(11) Yes No

Pemberi Pihak yang membiayai kunjungan kerja

varchar(50) Yes No

11. Entitas Pasangan

Tabel 4.14 Kamus Data Atribut Entitas Pasangan

Atribut Deskripsi Tipe Data dan

Panjang

Nulls Multivalued

PasanganID Kode dari informasi pasangan pegawai int(6) Yes No Nama Nama pasangan varchar(50) Yes No

(26)

pasangan TanggalLahir Tanggal lahir pasangan Date Yes No TanggalNikah Tanggal menikah Date Yes No Pekerjaan Pekerjaan dari pasangan varchar(50) Yes No Keterangan Keterangan tambahan varchar(50) Yes No 12. Entitas Anak

Tabel 4.15 Kamus Data Atribut Entitas Anak

Atribut Deskripsi Tipe Data dan

Panjang

Nulls Multivalued

AnakID Kode dari

informasi anak pegawai

int(6) Yes No

(27)

kelamin anak

TempatLahir Tempat lahir anak varchar(50) Yes No TanggalLahir Tanggal lahir anak Date Yes No SekolahKerja Tempat sekolah atau tempat kerja anak varchar(50) Yes No Keterangan Keterangan tambahan varchar(50) Yes No 13. Organisasi

Tabel 4.16 Kamus Data Atribut Entitas Organisasi

Atribut Deskripsi Tipe Data dan

Panjang

Nulls Multivalued

OrganisasiID Kode dari organisasi yang diikuti

(28)

pegawai Organisasi Nama organisasi varchar(50) Yes No Kedudukan Kedudukan di dalam organisasi varchar(50) Yes No TanggalMulai Tanggal mulai bekerja dalam organisasi Date Yes No TanggalKeluar Tanggal keluar dari organisasi Date Yes No Tempat Alamat gedung organisasi varchar(50) Yes No PimpinanOrganisasi Nama pimpinan organisasi varchar(50) Yes No

(29)

Tabel 4.17 Kamus Data Atribut Entitas Thread

Atribut Deskripsi Tipe Data dan Panjang Nulls Multivalued ThreadID Kode Thread yang unik ketika suatu Thread dibuat int(11) No No

ThreadTitle Judul dari suatu Thread yang telah dibuat varchar(50) Yes No PostedDate Tanggal dan waktu kapan Thread dibuat DATETIME Yes No

(30)

ThreadContent Isi dari suatu Thread yang telah dibuat Text Yes No NamaPegawai Nama pegawai yang membuat Thread varchar(50) Yes No

Jabatan Jabatan dari pegawai yang membuat Thread varchar(50) Yes No 15. Comment

Tabel 4.18 Kamus Data Atribut Entitas Comment

Atribut Deskripsi Tipe Data dan

Panjang

Nulls Multivalued

(31)

menandai Comment yang dibuat ThreadTitle Judul dari

suatu Thread yang dibuat

varchar(50) Yes No

PostedDate Tanggal dan waktu kapan Thread dibuat

DATETIME Yes No

ThreadContent Isi dari suatu Thread yang telah dibuat Text Yes No CommentPegawai Komentar pegawai yang dibuat untuk mengomentari Thread atau komentar Text Yes No NamaPegawai Nama pegawai yang membuat komentar varchar(50) Yes No

(32)

Jabatan Jabatan dari pegawai yang membuat komentar varchar(50) Yes No 16. Barang

Tabel 4.19 Kamus Data Atribut Entitas Barang

Atribut Deskripsi Tipe Data dan

Panjang

Nulls Multivalued

BarangID Kode yang unik untuk menandai barang

int(11) No No

NamaBarang Nama yang digunakan untuk barang

varchar(50) Yes No

StatusBarang Status yang menggambarkan status Barang

varchar(50) Yes No

NamaPegawai Nama dari pegwai yang

(33)

barang

Jabatan Jabatan dari pegawai yang meminjam barang

varchar(50) Yes No

4.1.1.4 Penentuan Domain Terhadap Atribut

Domain untuk setiap atribut dapat dijelaskan dengan tabel di bawah ini :

Tabel 4.20 Penentuan Domain Terhadap Atribut

Entity Name Atribut

Tipe Data

&Length

Domain Attribut

Pegawai NIP Char(18) Char(18)

NamaLengkap Varchar(50) Varchar(50) NamaPanggilan Varchar(15) Varchar(15) GelarDepan Varchar(50) Varchar(50) GelarBelakang Varchar(50) Varchar(50)

Status Varchar(50) Varchar(50)

GolonganDarah Varchar(50) Varchar(50) TempatLahir Varchar(50) Varchar(50)

(34)

JenisKelamin Varchar(50) Varchar(50)

Agama Varchar(50) Varchar(50)

Telepon Varchar(50) Varchar(50)

Fax Varchar(50) Varchar(50)

Email Varchar(50) Varchar(50)

Bank Varchar(50) Varchar(50)

NoRek Varchar(50) Varchar(50)

ASKES Varchar(50) Varchar(50)

KARISU Varchar(50) Varchar(50)

TASPEN Varchar(50) Varchar(50)

KAPREG Varchar(50) Varchar(50)

NONPWP Varchar(50) Varchar(50)

Hobby Varchar(50) Varchar(50)

Foto Varchar(50) Varchar(50)

Address AlamatID Integer Integer

Jalan Varchar(50) Varchar(50)

Kelurahan Varchar(50) Varchar(50) Kecamatan Varchar(50) Varchar(50) Propinsi Varchar(50) Varchar(50)

Physical FisikID Integer Integer

Tinggi Integer Integer

Berat Integer Integer

Rambut Varchar(50) Varchar(50)

BentukMuka Varchar(50) Varchar(50) WarnaKulit Varchar(50) Varchar(50)

(35)

Pendidikan PendidikanID Integer Integer Tingkat Varchar(50) Varchar(50) NamaPendidikan Varchar(50) Varchar(50) Jurusan Varchar(50) Varchar(50) IjazahTahun Integer Integer

Tempat Varchar(50) Varchar(50)

KepalaSekolah Varchar(50) Varchar(50)

Kursus KursusID Integer Integer

Kursus Varchar(50) Varchar(50)

TanggalMulai DATE DATE

TanggalSelesai DATE DATE

IjazahTahun Integer Integer

Tempat Varchar(50) Varchar(50)

Keterangan Varchar(50) Varchar(50)

Diklat DiklatID Integer Integer

Diklat Varchar(50) Varchar(50)

TanggalMulai DATE DATE

TanggalSelesai DATE DATE

IjazahTahun Integer Integer

Tempat Varchar(50) Varchar(50)

Keterangan Varchar(50) Varchar(50)

(36)

GolonganRuang Varchar(50) Varchar(50)

TMT DATE DATE

GajiPokok Integer Integer

Pangkat Varchar(50) Varchar(50)

NomorSurat Varchar(50) Varchar(50)

Tanggal DATE DATE

Keterangan Varchar(50) Varchar(50)

Jabatan JabatanID Integer Integer

Jabatan Varchar(50) Varchar(50)

GolonganRuang Varchar(50) Varchar(50)

TMT DATE DATE

GajiPokok Integer Integer

NomorSurat Varchar(50) Varchar(50)

Tanggal DATE DATE

Pejabat Varchar(50) Varchar(50)

Penghargaan PenghargaanID Integer Integer Penghargaan Varchar(50) Varchar(50)

Tahun Integer Integer

NamaInstansi Varchar(50) Varchar(50)

Kunjungan KunjunganID Integer Integer

Negara Varchar(50) Varchar(50)

Tujuan Varchar(50) Varchar(50)

(37)

Pasangan PasanganID Integer Integer

Nama Varchar(50) Varchar(50)

TempatLahir Varchar(50) Varchar(50)

TanggalLahir DATE DATE

TanggalNikah DATE DATE

Pekerjaan Varchar(50) Varchar(50)

Keterangan Varchar(50) Varchar(50)

Anak AnakID Integer Integer

Nama Varchar(50) Varchar(50)

JenisKelamin Varchar(50) Varchar(50) TempatLahir Varchar(50) Varchar(50)

TanggalLahir DATE DATE

SekolahPekerjaan Varchar(50) Varchar(50) Keterangan Varchar(50) Varchar(50) Organisasi OrganisasiID Integer Integer

Organisasi Varchar(50) Varchar(50)

Kedudukan Varchar(50) Varchar(50)

TanggalMasuk DATE DATE

TanggalKeluar DATE DATE

Tempat Varchar(50) Varchar(50)

PimpinanOrganisasi Varchar(50) Varchar(50)

(38)

ThreadTitle Varchar(50) Varchar(50)

PostedDate DATE DATE

ThreadContent Text Text

NamaPegawai Varchar(50) Varchar(50)

Jabatan Varchar(50) Varchar(50)

Comment CommentID Integer Integer

ThreadTitle Varchar(50) Varchar(50) PostedDate Varchar(50) Varchar(50)

ThreadContent Text Text

CommentPegawai Text Text

NamaPegawai Varchar(50) Varchar(50)

Jabatan Varchar(50) Varchar(50)

Barang BarangID Integer Integer

NamaBarang Varchar(50) Varchar(50) StatusBarang Varchar(50) Varchar(50) NamaPegawai Varchar(50) Varchar(50)

Jabatan Varchar(50) Varchar(50)

4.1.1.5 Menentukan Candidate dan Primary Key

Berikut ini merupakan penentuan atribut candidate key dan primary key dari setiap entitas yang ada :

(39)

entitas

Nama Entitas Candidate Key Primary Key

Pegawai NIP

PhysicalID AlamatID

NIP

Adress AlamatID AdressID

Physical PhysicalID PhysicalID

Pendidikan NIP PendidikanID NIP PendidikanID Kursus NIP KursusID NIP KursusID Diklat NIP DiklatID NIP DiklatID Pangkat NIP GolonganID NIP GolonganID Jabatan NIP JabatanID NIP JabatanID Penghargaan NIP PenghargaanID NIP PenghargaanID Barang NIP BarangID NIP BarangID

(40)

Kunjungan NIP KunjunganID NIP PenghargaanID Pasangan NIP PasanganID NIP PasanganID Anak NIP AnakID NIP AnakID Organisasi NIP OrganisasiID NIP OrganisasiID Thread NIP ThreadID NIP ThreadID Comment NIP ThreadID CommentID NIP ThreadID CommentID

(41)
(42)

4.1.1.6 Penggunaan Enhanced Data Modelling

Dalam tahap perancangan ini tidak ditemukan pendeketan yang menggunakan spesialisasi, generalisasi, agregasi, dan komposisi.

4.1.1.7 Memeriksa Redundansi

1. Memeriksa Hubungan One to One

Hubungan Pegawai dengan Physical

Gambar 4.4 Hubungan Pegawai dengan Physical

Entitas Pegawai berbeda dengan entitas Physical. Pegawai berisi data-data umum dari pegawai. Sedangkan Physical berisi data kondisi fisik pegawai.

2. Menghilangkan Relasi yang Redundan

Dalam perancangan ini tidak ditemukan adanya hubungan yang mengalami redundansi.

4.1.1.8 Validasi Transaksi dengan Transaksi User

Berikut ini deskripsi dari transaksi untuk memastikan bahwa perancangan konseptual dari basis data yang dibangun dapat mendukung transaksi yang dibutuhkan oleh pengguna :

1..1 Memiliki 1..1 Pegawai

(NIP)

Physical (PhysicID)

(43)

- User melakukan update profil - User melakukan delete profil - User melakukan insertThread - User melakukan updateThread - User melakukan deleteThread - User melakukan insertComment - User melakukan updateComment - User melakukan deleteComment

2. Transaksi yang dibutuhkan pengguna dengan tingkatan Admin :

- Admin melakukan update profil - Admin melakukan delete profil - Admin melakukan insert pegawai - Admin melakukan update pegawai - Admin melakukan delete pegawai - Admin melakukan insertThread - Admin melakukan update Thread - Admin melakukan delete Thread - Admin melakukan insertComment - Admin melakukan updateComment - Admin melakukan deleteComment

- Admin melakukan insert barang inventaris - Admin melakukan update barang inventaris

(44)

- Admin melakukan delete barang inventaris

3. Transaksi yang dibutuhkan pengguna dengan tingkatan super Admin :

- super Admin melakukan update profil - super Admin melakukan delete profil - super Admin melakukan insert pegawai - super Admin melakukan update pegawai - super Admin melakukan delete pegawai - super Admin melakukan insertThread - super Admin melakukan updateThread - super Admin melakukan deleteThread - super Admin melakukan insertComment - super Admin melakukan updateComment - super Admin melakukan deleteComment

- super Admin melakukan insert barang inventaris - super Admin melakukan update barang inventaris - super Admin melakukan delete barang inventaris - super Admin melakukan update super Admin

4.1.1.9 Peninjauan Model Data Konseptual dengan User

Setelah dilakukan peninjauan kembali terhadap model data konseptual yang sudah dirancang, model data tersebut telah memenuhi kebutuhan user.

(45)

4.1.2 Perancangan Basis Data Logikal

Perancangan basis data logikal adalah sebuah proses membangun model dari informasi yang digunakan organisasi berdasarkan sebuah model data spesifik, terlepas dari DBMS dan pertimbangan fisik lain. Tujuan dari perancangan logikal adalah untuk merepresentasikan konseptual ke dalam struktur logikal basis data yang mencakup perancangan relasi.

Perancangan basis data logikal terdiri dari langkah-langkah berikut :

1. Menentukan relasi-relasi untuk model data logikal 2. Validasi model dengan normalisasi

3. Validasi relasi terhadap user 4. Mengecek batas integritas

5. Meninjau ulang model data logikal dengan user

6. Menggabungkan model data logikal ke dalam model global 7. Mengecek untuk perkembangan yang akan datang

4.1.2.1 Menentukan Relasi Untuk Model Data Logikal

Untuk menentukan relasi-relasi untuk model data logikal mencakup langkah-langkah berikut ini :

a. Identifikasi Strong Entity b. Identifikasi WeakEntity

(46)

c. Pembentukan relasi Biner one to many (1..*) d. Pembentukan relasi Biner one to One (1..1) e. Relasi 1..1 Recursive

f. Tipe relasi superclass / subclass g. Relasi Binermany to many (*..*) h. Tipe relasi Kompleks

i. Atribut multivalue

a. Identifikasi Strong Entity

Tipe-tipe entitas kuat dari model data yang didapat adalah :

Pegawai

(NIP, NamaLengkap, NamaPanggilan, StatusPerkawinan GolonganDarah, TempatLahir, TanggalLahir, JenisKelamin, Agama, Telepon, FAX, Email, Bank, NoRek, ASKES, KARIS/KARISU, TASPEN, KAPREG, NoNPWP, Kegemaran, Foto)

Primary Key NIP Address

(AlamatID, Jalan, Kelurahan, Kecamatan, Propinsi) Primary Key AlamatID

Physical

(PhysicID, Tinggi, Berat, Rambut, BentukMuka, WarnaKulit, CiriKhas, CacatTubuh)

(47)

(PendidikanID, Tingkat, NamaPendidikan, Jurusan, IjazahTahun, Tempat, KepalaSekolah)

Primary Key PendidikanID Kursus

(KursusID, Kursus, TanggalMulai, TanggalSelesai, IjazahTahun, Tempat, Keterangan)

Primary Key KursusID Diklat

(DiklatID, Diklat, TanggalMulai, TanggalSelesai, IjazahTahun, Tempat, Keterangan)

Primary Key DiklatID Pangkat

(GolonganID, GolonganRuang, TMT, GajiPokok, NomorSurat, Pejabat, Tanggal, Keterangan)

Primary Key GolonganID Jabatan

(JabatanID, Jabatan, Golongan ruang, TMT, GajiPokok, NomorSurat, Pejabat, Tanggal)

Primary Key JabatanID Penghargaan

(PenghargaanID, Penghargaan, Tahun, NamaInstansi) Primary Key PenghargaanID

(48)

KunjunganKerja

(KunjunganID, Negara, Tujuan, Lamanya, Pemberi) Primary Key KunjunganID

Pasangan

(PasanganID, Nama, TempatLahir, TanggalLahir, TanggalNikah, Pekerjaan, Keterangan)

Primary Key PasanganID Anak

(AnakID, Nama, JenisKelamin, TempatLahir, TanggalLahir, SekolahKerja, Keterangan)

Primary Key AnakID Organisasi

(OrganisasiID, Organisasi, Kedudukan, TanggalMulai, TanggalKeluar, Tempat, PimpinanOrganisasi)

Primary Key OrganisasiID

b. Identifikasi WeakEntity

DetailPendidikan (NIP, PendidikanID) Primary Key (NIP, PendidikanID) DetailKursus (NIP, KursusID) Primary Key (NIP, KursusID) DetailDiklat (NIP, DiklatID)

(49)

DetailPangkat (NIP, PangkatID) Primary Key (NIP, PangkatID) DetailJabatan (NIP, JabatanID) Primary Key (NIP, JabatanID)

DetailPenghargaan (NIP, PenghargaanID) Primary Key (NIP, PenghargaanID) DetailKunjungan (NIP, KunjunganID) Primary Key (NIP, KunjunganID) DetailOrganisasi (NIP, OrganisasiID) Primary Key (NIP, OrganisasiID)

c. Pembentukan Relasi Binerone to many(1..*)

Pembentukan relasi biner one to many (1..*) merupakan bagian dari pembentukan relasi model data logikal. Dalam pembentukan relasi Biner one to many (1..*), yang perlu diperhatikan adalah multiplicity dari dua buah entitas yang ada.

(50)

Entitas-entitas tersebut adalah :

Hubungan Pegawai dengan Address

Gambar 4.5 Hubungan Pegawai dengan Address

d. Pembentukan Relasi Biner One to One (1..1)

Berikut ini adalah relasi one-to-one (1..1) dengan hasil posting dari entitas-entitas yang berhubungan satu dengan yang lainnya.

(51)

• Hubungan Pegawai dengan Physical

Gambar 4.6 Hubungan Pegawai dengan Physical • Hubungan Pegawai dengan Pasangan

Gambar 4.7 Hubungan Pegawai dengan Pasangan

(52)

Tidak ditemukan relasi 1:1 Recursive pada tahap ini.

f. Tipe Relasi Superclass / Subclass

Tidak ditemukan relasi superclass / subclass pada tahap ini.

g. Relasi BinerMany to Many (*..*)

Hubungan Pegawai dengan Pendidikan

(53)

Hubungan Pegawai dengan Kursus

Gambar 4.9 Hubungan Pegawai dengan Kursus Hubungan Pegawai dengan Diklat

(54)

Hubungan Pegawai dengan Pangkat

Gambar 4.11 Hubungan Pegawai dengan Pangkat

Hubungan Pegawai dengan Jabatan

Gambar 4.12 Hubungan Pegawai dengan Jabatan Hubungan Pegawai dengan Penghargaan

(55)

Gambar 4.13 Hubungan Pegawai dengan Penghargaan

Hubungan Pegawai dengan Kunjungan

(56)

Hubungan Pegawai dengan Organisasi

Gambar 4.15 Hubungan Pegawai dengan Organisasi

Hubungan Pegawai dengan Anak

(57)

Gambar 4.17 Hubungan Pegawai dengan Thread

Hubungan Pegawai dengan Comment

(58)

Hubungan Pegawai dengan Barang

Gambar 4.19 Hubungan Pegawai dengan Barang

h. Tipe Relasi Kompleks

Tidak terdapat relasi kompleks pada tahap ini.

i. Atribut Multivalue

Atribut multivalue adalah atribut yang memiliki beberapa nilai dalam setiap entitas . Berikut atribut multivalue yang terdapat di dalam entitas-entitas :

Tabel 4.22 Atribute Multivalue

Entitas Atribut Multivalue

(59)

Tujuan dari langkah ini adalah untuk validasi relasi-relasi di dalam model data logikal lokal dengan menggunakan teknik normalisasi. Tujuan dari normalisasi untuk menghasilkan model data yang konsisten, memiliki redundansi (pengulangan data yang tidak perlu) minimal, dan stabilitas maksimum. Proses normalisasi dimulai dengan menentukan functional dependency antar atribut dalam suatu relasi. Berikut ini proses normalisasi untuk setiap entitas :

• UNF

Pegawai

(NIP, NamaLengkap, NamaPanggilan, StatusPerkawinan, GolonganDarah, GelarDepan, GelarBelakang, TempatLahir, TanggalLahir, JenisKelamin, Agama, Telepon, FAX, Email, Bank, NoRek, ASKES, KARIS/KARISU, TASPEN, KAPREG, NoNPWP, Kegemaran, Foto, Jalan, Kelurahan, Kecamatan, Propinsi, Tinggi, Berat, Rambut, BentukMuka, WarnaKulit, CiriKhas, CacatTubuh,

{Tingkat, NamaPendidikan, Jurusan, IjazahTahun, Tempat, KepalaSekolah},

{Kursus, TanggalMulai, TanggalSelesai, IjazahTahun, Tempat, Keterangan},

(60)

{Diklat, TanggalMulai, TanggalSelesai, IjazahTahun, Tempat, Keterangan},

{GolonganRuang, TMT, GajiPokok, NomorSurat, Pejabat, Tanggal, Keterangan},

{ Jabatan, Golongan ruang, TMT, GajiPokok, NomorSurat, Pejabat, Tanggal},

{ Penghargaan, Tahun, NamaInstansi}, { Negara, Tujuan, Lamanya, Pemberi},

{ Nama, TempatLahir, TanggalLahir, TanggalNikah, Pekerjaan, Keterangan},

{ Nama, JenisKelamin, TempatLahir, TanggalLahir, SekolahKerja, Keterangan},

{ Organisasi, Kedudukan, TanggalMulai, TanggalKeluar, Tempat, PimpinanOrganisasi}, {ThreadTitle,PostedDate,ThreadContent NamaPegawai,Jabatan,CommentPegawai,} {NamaBarang,StatusBarang,NamaPegawai,Jabatan } ) • 1NF Pegawai

(NIP, NamaLengkap, NamaPanggilan, StatusPerkawinan, GolonganDarah, GelarDepan, GelarBelakang,, TempatLahir, TanggalLahir, JenisKelamin, Agama, Telepon, FAX, Email, Bank, NoRek, ASKES,

(61)

Kegemaran, Foto) Detail_Pendidikan

(NIP, PendidikanID, Tingkat, NamaPendidikan, Jurusan, IjazahTahun, Tempat, KepalaSekolah)

Detail_Kursus

(NIP, KursusID, Kursus, TanggalMulai, TanggalSelesai, IjazahTahun, Tempat, Keterangan)

Detail_Diklat

(NIP, DiklatID, Diklat, TanggalMulai, TanggalSelesai, IjazahTahun, Tempat, Keterangan)

Detail_Pangkat

(NIP, GolonganID, GolonganRuang, TMT, GajiPokok, NomorSurat, Pejabat, Tanggal, Keterangan)

Detail_Jabatan

(NIP, JabatanID, Jabatan, Golongan ruang, TMT, GajiPokok, NomorSurat, Pejabat, Tanggal)

Detail_Penghargaan

(NIP, PenghargaanID, Penghargaan, Tahun, NamaInstansi)

Detail_Kunjungan

(NIP, KunjunganID, Negara, Tujuan, Lamanya, Pemberi) Detail_Pasangan

(62)

(NIP, PasanganID, Nama, TempatLahir, TanggalLahir, TanggalNikah, Pekerjaan, Keterangan)

Detail_Anak

(NIP, AnakID, Nama, JenisKelamin, TempatLahir, TanggalLahir, SekolahKerja, Keterangan)

Detail_Organisasi

(NIP, OrganisasiID, Organisasi, Kedudukan, TanggalMulai, TanggalKeluar, Tempat, PimpinanOrganisasi) Detail_Thread{NIP,ThreadID,ThreadTitle,PostedDate,Na maPegawai,Jabatan, ThreadContent,CommentPegawai,} Detail_Barang (NIP,BarangID,NamaBarang,StatusBarang,NamaPegawai, Jabatan,NIP) • 2NF Pegawai

(NIP, NamaLengkap, NamaPanggilan, StatusPerkawinan, GolonganDarah, GelarDepan, GelarBelakang,, TempatLahir, TanggalLahir, JenisKelamin, Agama, Telepon, FAX, Email, Bank, NoRek, ASKES, KARIS/KARISU, TASPEN, KAPREG, NoNPWP, Kegemaran, Foto)

Detail_Pendidikan (NIP, PendidikanID)

(63)

(PendidikanID, Tingkat, NamaPendidikan, Jurusan, IjazahTahun, Tempat, KepalaSekolah)

Detail_Kursus (NIP, KursusID) Kursus

(KursusID, Kursus, TanggalMulai, TanggalSelesai, IjazahTahun, Tempat, Keterangan)

Detail_Diklat (NIP, DiklatID) Diklat

(DiklatID, Diklat, TanggalMulai, TanggalSelesai, IjazahTahun, Tempat, Keterangan)

Detail_Pangkat (NIP, GolonganID) Detail_Pangkat

(GolonganID, GolonganRuang, TMT, GajiPokok, NomorSurat, Pejabat, Tanggal, Keterangan)

Detail_Jabatan (NIP, JabatanID) Jabatan

(JabatanID, Jabatan, Golongan ruang, TMT, GajiPokok, NomorSurat, Pejabat, Tanggal)

(64)

(NIP, PenghargaanID) Penghargaan

(PenghargaanID, Penghargaan, Tahun, NamaInstansi) Detail_Kunjungan

(NIP, KunjunganID) Kunjungan

(KunjunganID, Negara, Tujuan, Lamanya, Pemberi)

Detail_Pasangan (NIP, PasanganID) Pasangan

(PasanganID, Nama, TempatLahir, TanggalLahir, TanggalNikah, Pekerjaan, Keterangan)

Detail_Anak (NIP, AnakID) Anak

(AnakID, Nama, JenisKelamin, TempatLahir, TanggalLahir, SekolahKerja, Keterangan)

Detail_Organisasi (NIP, OrganisasiID) Organisasi

(OrganisasiID, Organisasi, Kedudukan, TanggalMulai, TanggalKeluar, Tempat, PimpinanOrganisasi)

(65)

Thread (ThreadID,ThreadTitle,PostedDate, ThreadContent,CommentPegawai) Detail_Barang (NIP,BarangID) Barang (BarangID,NamaBarang,StatusBarang,NamaPegawai,Jaba tan,NIP) • 3NF Pegawai

(NIP, NamaID, StatusPerkawinan, GolonganDarah, GelarID, TempatLahir, TanggalLahir, JenisKelamin, Agama, ContactID, Kegemaran, Foto, AlamatID, PhysicID,NoRek,TunjanganID)

Nama

(NamaID, NamaLengkap, NamaPanggilan) Gelar

(GelarID, GelarDepan, GelarBelakang) Contact

(ContactID, Telepon, FAX, Email) Tunjangan

(TunjanganID,ASKES,KARISU,TASPEN,KARTEG,NO MPWP)

(66)

Bank

(NoRek,Bank) Address

(AlamatID,Alamat, Kelurahan, Kecamatan, PropinsiID) Propinsi

(PropinsiID,Propinsi) Physical

(PhysicID,Tinggi, Berat, Rambut, BentukMuka, WarnaKulit, CiriKhas, CacatTubuh)

Detail_Pendidikan (NIP, PendidikanID) Pendidikan

(PendidikanID, Tingkat, NamaPendidikan, Jurusan,IjazahID)

Ijazah_Pendidikan

(IjazahID,IjazahTahun, Tempat, KepalaSekolah) Detail_Kursus

(NIP, KursusID) Kursus

(KursusID, Kursus, TanggalMulai, TanggalSelesai, IjazahID)

Detail_Diklat (NIP, DiklatID) Diklat

(67)

TanggalSelesai,IjazahID) Ijazah

(IjazahID, IjazahTahun, Tempat, Keterangan) Detail_Pangkat

(NIP, GolonganID) Pangkat

(GolonganID, GolonganRuang, TMT, GajiPokok, NomorSurat)

Surat

(NomorSurat, Pejabat, Tanggal, Keterangan) Detail_Jabatan

(NIP, JabatanID) Jabatan

(JabatanID, Jabatan, Golongan ruang, TMT, GajiPokok, NomorSurat)

Detail_Penghargaan (NIP, PenghargaanID) Penghargaan

(PenghargaanID, Penghargaan, Tahun, NamaInstansi) Detail_Kunjungan

(NIP, KunjunganID) Kunjungan

(68)

Detail_Pasangan (NIP, PasanganID) Pasangan

(PasanganID, Nama, TempatLahir, TanggalLahir, TanggalNikah, Pekerjaan, Keterangan)

Detail_Anak (NIP, AnakID) Anak

(AnakID, Nama, JenisKelamin, TempatLahir, TanggalLahir, SekolahKerja, Keterangan)

Detail_Organisasi (NIP, OrganisasiID) Organisasi

(OrganisasiID, Organisasi, Kedudukan, TanggalMulai, TanggalKeluar, Tempat, PimpinanOrganisasi)

Detail_Thread ( NIP,ThreadID) Thread (ThreadID,ThreadTitle,PostedDate,ThreadContent, CommentID) Detail_Comment (CommentID, NIP) Comment (CommentID, CommentPegawai)

(69)

(NIP,BarangID) Barang

(70)
(71)

Berikut ini deskripsi dari transaksi untuk memastikan bahwa perancangan konseptual dari basis data yang dibangun mampu mendukung transaksi yang dibutuhkan user,Admin , dan super Admin :

1. Transaksi yang dilakukan user: - User melakukan update profil - User melakukan delete profil - User melakukan insertThread - User melakukan updateThread - User melakukan deleteThread - User melakukan insertComment - User melakukan updateComment - User melakukan deleteComment 2. Transaksi yang dilakukan Admin :

- Admin melakukan update profil - Admin melakukan delete profil - Admin melakukan insert pegawai - Admin melakukan update pegawai - Admin melakukan delete pegawai - Admin melakukan insertThread - Admin melakukan updateThread - Admin melakukan deleteThread - Admin melakukan insertComment

(72)

- Admin melakukan updateComment - Admin melakukan deleteComment

- Admin melakukan insert barang inventaris - Admin melakukan update barang inventaris - Admin melakukan delete barang inventaris 3. Transaksi yang dilakukan super Admin :

- super Admin melakukan update profil - super Admin melakukan delete profil - super Admin melakukan insert pegawai - super Admin melakukan update pegawai - super Admin melakukan delete pegawai - super Admin melakukan insertThread - super Admin melakukan updateThread - super Admin melakukan deleteThread - super Admin melakukan insertComment - super Admin melakukan updateComment - super Admin melakukan deleteComment

- super Admin melakukan insert barang inventaris - super Admin melakukan update barang inventaris - super Admin melakukan delete barang inventaris - super Admin melakukan updateSuper Admin

(73)

Batasan integritas adalah batasan-batasan yang diharapkan dapat menjaga basis data agar tetap konsisten. Ada lima batasan integritas yaitu :

1. Data yang diperlukan

Beberapa atribut harus selalu memiliki nilai yang valid. Dengan kata lain atribut tersebut tidak boleh bernilai null. Batasan-batasan ini telah diidentifikasi pada perancangan konseptual tahap ke 3 (Subbab 4.1.1.3) 2. Batasan domain atribut

Setiap atribut memiliki domain yang berarti satu set nilai yang legal. Batasan-batasan ini telah diidentifikasi pada perancangan konseptual tahap ke 4 (Subbab 4.1.1.4). 3. Batasan entitas

Batasan entitas atau primary key tidak boleh bernilai null. Batasan-batasan ini telah diidentifikasi pada perancangan konseptual tahap ke 5 (Subbab 4.1.1.5) 4. Batasan referensial

Batasan referensial artinya jika sebuah foreign key memiliki nilai, maka harus mengacu kepada tuple dari parent-nya.

(74)

Pegawai

(NIP, NamaID, StatusPerkawinan, GolonganDarah, GelarID, TempatLahir, TanggalLahir, JenisKelamin, Agama, ContactID, Kegemaran, Foto, AlamatID, PhysicID, NoRek, TunjanganID) Primary Key : NIP

Foreign Key :

NamaID references Nama (NamaID) ON UPDATE CASCADE ON DELETE CASCADE

GelarID references Gelar (GelarID) ON UPDATE CASCADE ON DELETE CASCADE

ContactID references Contact (ContactID) ON UPDATE CASCADE ON DELETE CASCADE

AlamatID referencesAddress (AlamatID) ON UPDATE CASCADE ON DELETE CASCADE

PhysicID references Physical (PhysicID) ON UPDATE CASCADE ON DELETE CASCADE

NoRek references Bank (NoRek) ON UPDATE CASCADE ON DELETE CASCADE

TunjanganID references Tunjangan (TunjanganID) ON UPDATE CASCADE ON DELETE CASCADE

Nama

(NamaID, NamaLengkap, NamaPanggilan) Primary Key : NamaID

(75)

(GelarID, GelarDepan, GelarBelakang) Primary Key : GelarID

Contact

(ContactID, Telepon, FAX, Email) Primary Key : ContactID

Address

(AlamatID, Alamat, Kelurahan, Kecamatan, PropinsiID) Primary Key : AlamatID

Foreign Key : PropinsiID references Propinsi (PropinsiID) ON UPDATE CASCADE ON DELETE CASCADE

Propinsi

(PropinsiID, Propinsi) Primary Key : PropinsiID Physical

(PhysicID, Tinggi, Berat, Rambut, BentukMuka, WarnaKulit, CiriKhas, CacatTubuh)

Primary Key : PhysicID references Physical (PhysicID) ON UPDATE CASCADE ON DELETE CASCADE

Bank

(NoRek, Bank)

Primary Key : NoRek Tunjangan

(76)

(TunjanganID, ASKES, KARISU, TASPEN, KARTEG, NONPWP)

Primary Key : TunjanganID Detail_Pendidikan

(NIP, PendidikanID)

Primary Key : NIP, PendidikanID Foreign Key :

NIP references Pegawai (NIP) ON UPDATE CASCADE ON DELETE CASCADE

PendidikanID references Pendidikan (PendidikanID) ON UPDATE CASCADE ON DELETE CASCADE

Pendidikan

(PendidikanID, Tingkat, NamaPendidikan, Jurusan, IjazahID) Primary Key : PendidikanID

Foreign Key :

IjazahID references Ijazah_Pendidikan (IjazahID) ON UPDATE CASCADE ON DELETE CASCADE

Ijazah_Pendidikan

(IjazahID, IjazahTahun, Tempat, KepalaSekolah) Primary Key : IjazahID

Detail_Kursus (NIP, KursusID)

(77)

NIP references Pegawai (NIP) ON UPDATE CASCADE ON DELETE CASCADE

KursusID references Kursus (KursusID) ON UPDATE CASCADE ON DELETE CASCADE

Kursus

(KursusID, Kursus, TanggalMulai, TanggalSelesai, IjazahID) Primary Key : KursusID

Foreign Key :

IjazahID references Ijazah (IjazahID) ON UPDATE CASCADE ON DELETE CASCADE

Detail_Diklat (NIP, DiklatID)

Primary Key : NIP, DiklatID Foreign Key :

NIP DiklatID Diklat

(DiklatID, Diklat, TanggalMulai, TanggalSelesai, IjazahID) Primary Key : DiklatID

Foreign Key :

IjazahID references Ijazah (IjazahID) ON UPDATE CASCADE ON DELETE CASCADE

(78)

Ijazah

(IjazahID, IjazahTahun, Tempat, Keterangan) Primary Key : IjazahID

Detail_Pangkat (NIP, GolonganID)

Primary Key : NIP, GolonganID Foreign Key :

NIP references Pegawai (NIP) ON UPDATE CASCADE ON DELETE CASCADE

GolonganID references Pangkat (GolonganID) ON UPDATE CASCADE ON DELETE CASCADE

Pangkat

(GolonganID, GolonganRuang, TMT, GajiPokok, NomorSurat) Primary Key : GolonganID

Foreign Key :

NomorSurat references Surat (NomorSurat) ON UPDATE CASCADE ON DELETE CASCADE

Detail_Jabatan (NIP, JabatanID)

Primary Key : NIP, JabatanID Foreign Key :

NIP references Pegawai (NIP) ON UPDATE CASCADE ON DELETE CASCADE

(79)

CASCAD ON DELETE CASCADE Jabatan

(JabatanID, Jabatan, GolonganRuang, TMT, GajiPokok, NomorSurat)

Primary Key : JabatanID Foreign Key :

NomorSurat references Surat (NomorSurat) ON UPDATE CASCAD ON DELETE CASCADE

Surat

(NomorSurat, Pejabat, Tanggal, Keterangan) Primary Key : NomorSurat

Detail_Penghargaan (NIP, PenghargaanID)

Primary Key : NIP, PenghargaanID Foreign Key :

NIP references Pegawai (NIP) ON UPDATE CASCADE ON DELETE CASCADE

PenghargaanID references Penghargaan (PenghargaanID) ON UPDATE CASCADE ON DELETE CASCADE

Penghargaan

(PenghargaanID, Penghargaan, Tahun, NamaInstansi) Primary Key : PenghargaanID

(80)

Detail_Kunjungan (NIP, KunjunganID)

Primary Key : NIP, KunjunganID Foreign Key :

NIP references Pegawai (NIP) ON UPDATE CASCADE ON DELETE CASCADE

KunjunganID references Kunjungan (KunjunganID) ON UPDATE CASCADE ON DELETE CASCADE

Kunjungan

(KunjunganID, Negara, Tujuan, Lamanya, Pemberi) Primary Key : KunjunganID

Detail_Pasangan (NIP, PasanganID)

Primary Key : NIP, PasanganID Foreign Key :

NIP references Pegawai (NIP) ON UPDATE CASCADE ON DELETE CASCADE

PasanganID references Pasangan (PasanganID) ON UPDATE CASCADE ON DELETE CASCADE

Pasangan

(PasanganID, Nama, TempatLahir, TanggalLahir, TanggalNikah, Pekerjaan, Keterangan)

(81)

(NIP, AnakID)

Primary Key : NIP, AnakID Foreign Key :

NIP references Pegawai (NIP) ON UPDATE CASCADE ON DELETE CASCADE

AnakID references Anak (AnakID) ON UPDATE CASCADE ON DELETE CASCADE

Anak

(AnakID, Nama, JenisKelamin, TempatLahir, TanggalLahir, SekolahKerja, Keterangan)

Primary Key : AnakID Detail_Organisasi (NIP, OrganisasiID)

Primary Key : NIP, OrganisasiID Foreign Key :

NIP references Pegawai (NIP) ON UPDATE CASCADE ON DELETE CASCADE

OrganisasiID references Organisasi (OrganisasiID) ON UPDATE CASCADE ON DELETE CASCADE

Organisasi

(OrganisasiID, Organisasi, Kedudukan, TanggalMulai, TanggalKeluar, Tempat, PimpinanOrganisasi)

(82)

Primary Key : OrganisasiID Detail_Thread

(NIP, ThreadID)

Primary Key : NIP, ThreadID Foreign Key :

NIP references Pegawai (NIP) ON UPDATE CASCADE ON DELETE CASCADE

ThreadIDreferencesThread (ThreadID) ON UPDATE CASCADE ON DELETE CASCADE

Thread

(ThreadID, ThreadTitle, PostedDate, ThreadContent, CommentID)

Primary Key : ThreadID Foreign Key :

CommentIDreferences Detail_Comment (CommentID) ON UPDATE CASCADE ON DELETE CASCADE

Detail_Comment (NIP, CommentID)

Primary Key : NIP, CommentID Foreign Key :

NIP references Pegawai (NIP) ON UPDATE CASCADE ON DELETE CASCADE

(83)

Comment

(CommentID, CommentPegawai) Primary Key : CommentID Detail_Barang

(NIP, BarangID)

Primary Key : NIP, BarangID Foreign Key :

NIP references Pegawai (NIP) ON UPDATE CASCADE ON DELETE CASCADE

BarangID references Barang (BarangID) ON UPDATE CASCADE ON DELETE CASCADE

Barang

(BarangID, NamaBarang, StatusBarang, NIP) Primary Key : BarangID

Foreign Key :

NIP references Pegawai (NIP) ON UPDATE CASCADE ON DELETE CASCADE

5. Batasan perusahaan

Batasan perusahaan merupakan aturan bisnis yang berlaku di dunia nyata. Dalam perancangan yang dibangun tidak terdapat batasan-batasan yang diberikan perusahaan.

(84)

4.1.2.5 Meninjau Ulang Model Data Logikal dengan User

Model data logikal dan dokumen pendukung yang mendeskripsikan model adalah representasi yang telah didiskusikan dan dinyatakan benar oleh pengguna.

4.1.2.6 Menggabungkan Model Data Logikal ke Model Data Global

Pada perancangan basis data ini, penulis tidak melakukan langkah menggabungkan model data logikal ke dalam model global.

4.1.2.7 Mengecek untuk Perkembangan yang Akan Datang

Model data yang dirancang sudah disesuaikan untuk kemungkinan-kemungkinan yang terjadi di masa depan selama usertidak melakukan pengubahan.

4.1.3 Perancangan Basis Data Fisikal

4.1.3.1 Perancangan Relasional Basis Data

Perancangan database Physical meliputi langkah-langkah sebagai berikut :

Pegawai

Domain NIP Domain NamaID

character string, length 18 Integer, length 6

(85)

Domain GolonganDarah Domain GelarDepan Domain GelarBelakang Domain TempatLahir Domain TanggalLahir Domain JenisKelamin Domain Agama Domain ContactID Domain Kegemaran Domain Foto Domain AlamatID Domain PhysicID Domain NoRek Domain TunjanganID

Variable length character string, length 50 Variable length character string, length 50 Variable length character string, length 50 Variable length character string, length 50 DATE, format mm-dd- yyyy

Variable length character string, length 50 Variable length character string, length 50 Integer, length 6

Variable length character string, length 50 Variable length character string, length 50 Integer, length 6

Integer, length 6

Variable length character string, length 50 Integer, length 6 Pegawai ( Nomor_Induk_Pegawai NamaID Status_Perkawinan_Pegawa Golongan_Darah_Pegawai GelarID Tempat_Lahir_Pegawai Tanggal_Lahir_Pegawai NIP NamaID StatusPerkawinan GolonganDarah GelarID TempatLahir TanggalLahir NOT NULL NOT NULL NULL NULL NOT NULL NULL NULL

(86)

Jenis_Kelamin_Pegawai Agama_Pegawai ContactID Kegemaran_Pegawai Foto_Pegawai AlamatID PhysicID NoRek_Bank_Pegawai TunjanganID JenisKelamin Agama ContactID Kegemaran Foto AlamatID PhysicID NoRek TunjanganID NULL NULL NOT NULL NULL NULL NOT NULL NOT NULL NOT NULL NOT NULL PRIMARY KEY (NIP)

FOREIGN KEY(AlamatID) REFERENCES (Address) ON DELETE CASCADE ON UPDATE CASCADE,

FOREIGN KEY(PhysicID) REFERENCES (Physical) ON DELETE CASCADE ON UPDATE CASCADE,

FOREIGN KEY(NoRek) REFERENCES(Bank) ON DELETE CASCADE ON UPDATE CASECADE,

FOREIGN KEY(TunjuanganID) REFERENCES(Tunjangan) ON DELETE CASCADE ON UPDATE CASCADE,

FOREIGN KEY(NamaID) REFERENCES(Nama) ON DELETE CASCADE ON UPPDATE CASCADE,

FOREIGN KEY(GelarID) REFERENCES(Gelar) ON DELETE CASCADE ON DELETE CASCADE,

(87)

); Nama Domin NamaID Domin NamaLengkap Domin NamaPanggilan Integer, length 6

Variable length character string, length 50 Variable length character string, length 50 Nama ( NamaID NamaLengkap_Pegawai NamaPanggilan_Pegawai NamaID NamaLengkap NamaPanggilan NOT NULL NULL NULL PRIMARY KEY (NamaID)

); Gelar GelarID GelarDepan GelarBelakang Integer, length 6

Variable length character string, length 50 Variable length character string, length 50 Gelar ( GelarID GelarDepan_Pegawai GelarBelakang_Pegawai GelarID GelarDepan GelarBelakang NOT NULL NULL NULL

(88)

PRIMARY KEY (GelarID) ); Contact Domain ContactID Domain Telepon Domain FAX Domain Email Integer, length 6

Variable length character string, length 50 Variable length character string, length 50 Variable length character string, length 50 Contact( ContactID Telepon_Pegawai FAX_Pegawai Email_Pegawai ContactID Telepon FAX Email NOT NULL NULL NULL NULL PRIMARY KEY (ContactID)

); Tunjangan Domain TunjanganID Domain ASKES Domain KARISU Domain TASPEN Domain KARTEG Integer, length 6

Variable length character string, length 50 Variable length character string, length 50 Variable length character string, length 50 Variable length character string, length 50

(89)

Tunjangan ( TunjanganID Nomer_ASKES Nomer_KASI/KARSU Nomer_TASPEN Nomer_KARTEG Nomer_NOMPWP TunjanganID ASKES KARISU TASPEN KARTEG NOMPWP NOT NULL NULL NULL NULL NULL NULL PRIMARY KEY (TunjanganID)

);

Bank

Domain Bank Domain NoRek

Variable length character string, length 50 Variable length character string, length 50

Bank ( NoRekening Bank NoRek Bank NOT NULL NULL PRIMARY KEY (NoRek)

(90)

Address Domain AlamatID Domain Alamat Domain Kelurahan Domain Kecamatan Domain PropinsiID Integer, length 6

Variable length character string, length 50 Variable length character string, length 50 Variable length character string, length 50 Integer, length 6 Address( AlamatID Alamat_Pegawai Kelurahan_Pegawai Kecamatan_Pegawai PropinsiID AlamatID Alamat Kelurahan Kecamatan PropinsiID NOT NULL NULL NULL NULL NOT NULL PRIMARY KEY (AlamatID)

FOREIGN KEY(PropinsiID) REFERENCES(Propinsi) ON DELETE CASCADE ON UPDATE CASCADE ); Propinsi Domain PropinsiID Domain Propinsi Integer, length 6

Variable length character string, length 50 Propinsi(

(91)

PRIMARY KEY (PropinsiID) ); Physic Domain PhysicID Domain Tinggi Domain Berat Domain Rambut Domain BentukMuka Domain WarnaKulit Domain CiriKhas Domain CacatTubuh Integer, length 6 Integer, length 6 Integer, length 6

Variable length character string, length 50 Variable length character string, length 50 Variable length character string, length 50 Variable length character string, length 50 Variable length character string, length 50 Physic ( PhysicID Tinggi Berat Rambut BentukMuka WarnaKulit CiriKhas CacatTubuh PhysicID Tinggi Berat Rambut BentukMuka WarnaKulit CiriKhas CacatTubuh NOT NULL NULL NULL NULL NULL NULL NULL NULL PRIMARY KEY (PhysicID)

(92)

);

Detail_Pendidikan Domain NIP

Domain PendidikanID

character string, length 18 Integer, length 6 Detail_Pendidikan( Nomor_Induk_Pegawai PendidikanID NIP PendidikanID NOT NULL NOT NULL PRIMARY KEY (NIP, PendidikanID)

FOREIGN KEY(PendidikanID) REFERENCES(Pendidikan) ON DELETE CASCADE ON UPDATE CASCADE,

FOREIGN KEY(NIP) REFERENCES(Pendidikan) ON DELETE CASCADE ON UPDATE CASCADE ); Pendidikan Domain PendidikanID Domain Tingkat Domain NamaPendidikan Domain Jurusan Domain IjazahID Integer, length 6

Variable length character string, length 50 Variable length character string, length 50 Variable length character string, length 50 Variable length character string, length 50 Pendidikan(

(93)

NamaPendidikan Jurusan IjazahID NamaPendidikan Jurusan IjazahID NULL NULL NOT NULL PRIMARY KEY (PendidikanID)

FOREIGN KEY(IjazahID) REFERENCES(Ijazah_Pendidikan) ON DELETE CASCADE ON UPDATE CASCADE

); Ijazah_Pendidikan Domain IjazahID Domain IjazahTahun Domain Tempat Domain KepalaSekolah Integer, length 6 Integer, length 6

Variable length character string, length 50 Variable length character string, length 50 Ijazah_Pendidikan ( IjazahID IjazahTahun Nama_Sekolah KepalaSekolah IjazahID IjazahTahun Tempat KepalaSekolah NOT NULL NULL NULL NULL PRIMARY KEY (IjazahID)

(94)

Detail_Kursus Domain NIP Domain KursusID

character string, length 18 Integer, length 6 Detail_Kursus ( Nomor_Induk_Pegawai KursusID NIP KursusID NOT NULL NOT NULL PRIMARY KEY (NIP,KursusID)

FOREIGN KEY(KursusID) ON REFERENCES(Kursus) ON DELETE CASCADE ON UPDATE CASCADE,

FOREIGN KEY(NIP) ON REFERENCES(Pegawai) ON DELETE CASCADE ON UPDATE CASCADE ); Kursus Domain KursusID Domain Kursus Domain TanggalMulai Domain TanggalSelesai Domain IjazahID Integer, length 6

Variable length character string, length 50 DATE, format mm-dd- yyyy

DATE, format mm-dd- yyyy Integer, length 6

Kursus (

(95)

TanggalMulai_Kursus TanggalSelesai_Kursus IjazahID TanggalMulai TanggalSelesai IjazahID NULL NULL NOT NULL PRIMARY KEY (KursusID)

FOREIGN KEY(IjazahID) REFERENCES(Ijazah) ON DELETE CASCADE ON UPDATE CASCADE

);

Detail_Diklat

Domain NIP Domain_DiklatID

character string, length 18

Variable length character string, length 50 Detail_Diklat ( Nomor_Induk_Pegawai DiklatID NIP DiklatID NOT NULL NOT NULL PRIMARY KEY (DiklatID,NIP)

FOREIGN KEY(NIP) REFERENCES(Pegawai) ON DELETE CASCADE ON UPDATE CASCADE,

FOREIGN KEY(DiklatID) REFERENCES(Diklat) ON DELETE CASCADE ON UPDATE CASCADE

(96)

Diklat Domain DiklatID Domain Diklat Domain TanggalMulai Domain TanggalSelesai Domain IjazahID Integer, length 6

Variable length character string, length 50 DATE, format mm-dd- yyyy

DATE, format mm-dd- yyyy Integer, length 6 Diklat ( DiklatID Nama_Diklat TanggalMulai_Diklat TanggalSelesai_Diklat IjazahID DiklatID Diklat TanggalMulai TanggalSelesai IjazahID NOT NULL NULL NULL NULL NOT NULL PRIMARY KEY (DiklatID)

FOREIGN KEY(IjazahID) REFERENCES(Ijazah) ON DELETE CASCADE ON UPDATE CASCADE ); Detail_Pangkat Domain GolonganID Domain NIP Integer, length 6

character string, length 18 Detail_Pangkat ( GolonganID Nomor_Induk_Pegawai GolonganID NIP NOT NULL NOT NULL

(97)

FOREIGN KEY(GolonganID) REFERENCES(Pangkat) ON DELETE CASCADE ON UPDATE CASCADE,

FOREIGN KEY(NIP) REFERENCES(Pegawai) ON DELETE CASCADE ON UPDATE CASCADE ); Pangkat GolonganID GolonganRuang TMT GajiPokok NomorSurat Integer, length 6

Variable length character string, length 50 Variable length character string, length 50 Decimal, in the range 0.00 – 9999999999.00 Variable length character string, length 50 Pangkat ( GolonganID GolonganRuang Terhitung_Masuk_Tanggal GajiPokok NomorSurat GolonganID GolonganRuang TMT GajiPokok NomorSurat NOT NULL NULL NULL NULL NOT NULL PRIMARY KEY (GolonganID)

FOREIGN KEY(NomorSurat) REFERENCES(Surat) ON DELETE CASCADE ON UPDATE CASCADE

(98)

Surat

Domain NomorSurat Domain Pejabat Domain Tanggal Domain Keterangan

Variable length character string, length 50 Variable length character string, length 50 DATE, format mm-dd- yyyy

Variable length character string, length 50 Surat( NomorSurat Pejabat Tanggal Keterangan NomorSurat Pejabat Tanggal Keterangan NOT NULL NULL NULL NULL PRIMARY KEY (NomorSurat)

);

Detail_Jabatan NIP JabatanID

character string, length 18 Integer, length 6 Detail_Jabatan ( NIP JabatanID NIP JabatanID NOT NULL NOT NULL PRIMARY KEY (NIP,JabatanID)

FOREIGN KEY(NIP) REFERENCES(Pegawai) ON DELETE CASCADE ON UPDATE CASCADE,

(99)

); Jabatan Domain JabatanID Domain Jabatan Domain GolonganRuang Domain TMT Domain GajiPokok Domain NomorSurat

Variable length character string, length 50 Integer, length 6

Variable length character string, length 50 DATE, format mm-dd-yyyy

Decimal, in the range 0.00 – 9999999999.00 Variable length character string, length 50 Jabatan ( JabatanID Nama_Jabatan GolonganRuang Terhitung_Masuk_Tanggal GajiPokok NomorSurat JabatanID Jabatan GolonganRuang TMT GajiPokok NomorSurat NOT NULL NULL NULL NULL NULL NOT NULL PRIMARY KEY (JabatanID)

FOREIGN KEY(NomorSurat) REFERENCES(Surat) ON DELETE CASCADE ON UPDATE CASCADE

(100)

Detail_Penghargaan Domain NIP

Domain PenghargaanID

character string, length 18 Integer, length 6 Detail_Penghargaan( NIP PenghargaanID NIP PenghargaanID NOT NULL NOT NULL PRIMARY KEY (NIP,PenghargaanID)

FOREIGN KEY(NIP) REFERENCES(Pegawai) ON DELETE CASCADE ON UPDATE CASCADE,

FOREIGN KEY(PenghargaanID) REFERENCES(Penghargaan) ON DELETE CASCADE ON UPDATE CASCADE

); Penghargaan Domain PenghargaanID Domain Penghargaan Domain Tahun Domain NamaInstansi Integer, length 6

Variable length character string, length50 Integer, length 6

Variable length character string, length 50 Penghargaan( PenghargaanID Nama_Penghargaan Tahun NamaInstansi PenghargaanID Penghargaan Tahun NamaInstansi NOT NULL NULL NULL NULL

(101)

FOREIGN KEY(PenghargaanID) REFERENCES(Penghargaan) ON DELETE CASCADE ON UPDATE CASCADE

);

Detail_Kunjungan Domain NIP

Domain KunjunganID

character string, length 18 Integer, length 6 Detail_Kunjungan ( Nomor_Induk_Pegawai KunjunganID NIP KunjunganID NOT NULL NOT NULL PRIMARY KEY (NIP,KunjunganID)

FOREIGN KEY(KunjunganID) REFERENCES(Kunjungan) ON DELETE CASCADE ON UPDATE CASCADE

FOREIGN KEY(NIP) REFERENCES(Pegawai) ON DELETE CASCADE ON UPDATE CASCADE ); Kunjungan Domain KunjunganID Domain Negara Domain Tujuan Domain Lamanya Integer, length 6

Variable length character string, length 50 Variable length character string, length 50 Variable length character string, length 50

(102)

Domain Pemberi Variable length character string, length 50 Kunjungan ( KunjunganID Nama_Negara Tujuan Lamanya Pemberi KunjunganID Negara Tujuan Lamanya Pemberi NOT NULL NULL NULL NULL NULL PRIMARY KEY (KunjunganID)

);

Detail_Pasangan Domain NIP

Domain PasanganID

character string, length 18 Integer, length 6 Detail_Pasangan ( Nomor_Induk_Pegawai PasanganID NIP PasanganID NOT NULL NOT NULL PRIMARY KEY (NIP, PasanganID)

FOREIGN KEY(PasanganID) REFERENCES(Pasangan) ON DELETE CASCADE ON UPDATE CASCADE

FOREIGN KEY(NIP) REFERENCES(Pegawai) ON DELETE CASCADE ON UPDATE CASCADE

(103)

Domain PasanganID Domain Nama Domain TempatLahir Domain TanggalLahir Domain TanggalNikah Domain Pekerjaan Domain Keterangan

Variable length character string, length 50 Integer, length 6

Variable length character string, length 50 DATE, format mm-dd-yyyy

DATE, format mm-dd-yyyy

Variable length character string, length 50 Variable length character string, length 50 Detail_Anak ( PasanganID Nama_Pasangan TempatLahir_Pasangan TanggalLahir_ Pasangan TanggalNikah Pekerjaan_ Pasangan Keterangan_ Pasangan PasanganID Nama TempatLahir TanggalLahir TanggalNikah Pekerjaan Keterangan NOT NULL NULL NULL NULL NULL NULL NULL PRIMARY KEY (PasanganID)

);

Detail_Anak

Domain NIP Domain AnakID

character string, length 18 Integer, length 6

Gambar

Tabel 4.1 Identifikasi Tipe Entitas
Gambar 4.1 Model Entity Konseptual
Tabel 4.2 Tipe Relasi
Tabel 4.3 Keterangan tipe data dan panjang data
+7

Referensi

Dokumen terkait

Pasien dengan gangguan ketidaknyamanan pada tangan dan pergelangan tangan seperti seorang wanita yang dijelaskan dalam tinjauan kasus, dievaluasi

Komposisi Glukomannan dan k- karagenan berpengaruh terhadap mutu buah yang dilapisi, semakin tinggi konsentrasi Glukomannan dan k-karagenan maka gel strengthnya

- Jika peserta didik dapat menyebutkan minimal 2 langkah yang akan dilakukan apabila menemukan teman yang tidak membayar makanan di kantin dengan tepat, mendapat

Berdasarkan hasil penelitian disimpulkan bahwa kepadatan rotifera yang diberikan sebagai pakan berpengaruh nyata terhadap laju pemangsaan dan sintasan larva kepiting bakau..

Oleh Karena itu dalam makalah ini akan dilakukan visualisasi aliran potensial fluida menggunakan bilangan kompleks serta mengetahui bentuk atau pola garis aliran

Sarung tangan merupakan penghalang (barrrier) fisik paling penting untuk mencegah penyebaran infeksi dan melindungi tangan dari bahan yang mengandung mikroorganisme

4 Bagi peserta yang tidak menang lelang, pengembalian uang jaminan Lelang maksimal 5 (lima) hari kerja setelah lelang dilaksanakan.. 5 Daftar Unit ini hanya merupakan panduan

MENGECAP GAMBAR BUNGA DENGAN MEDIA BELIMBING Bahan dan alat yang digunakan untuk kegiatan tersebut adalah