• Tidak ada hasil yang ditemukan

BAB Perancangan Basis Data Konseptual (Conceptual Database Design) 2. Perancangan Basis Data Logikal (Logical Database Design)

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB Perancangan Basis Data Konseptual (Conceptual Database Design) 2. Perancangan Basis Data Logikal (Logical Database Design)"

Copied!
182
0
0

Teks penuh

(1)

79 

BAB 4

PERANCANGAN DAN I MPLEMENTASI

4.1 Perancangan Sistem

Setelah melakukan survey dan analisis pada sistem yang berjalan pada perpustakaan SM PN 1 Pondok Aren serta melakukan wawancara dengan Kepala Sekolah dan Petugas perpustakaan maka akan dilakukan perubahan sistem pada sistem terdahulu. M aka akan dirancang basis data sesuai dengan kebutuhan perpustakaan. Perancangan basis data yang dilakukan akan dibagi menjadi 3 tahapan, yaitu :

1. Perancangan Basis Data Konseptual (Conceptual Database Design)

2. Perancangan Basis Data Logikal (Logical Database Design)

3. Perancangan Basis Data Fsikal (Physical Database Design)

4.1.1 Perancangan Basis Data Konseptual

Perancangan Basis Data Konseptual merupakan suatu proses pembuatan entitas atau model dengan menggunakan data yang diperoleh dari perpustakaan. Ada beberapa langkah penting dalam menentukan rancangan basis data secara konseptual yang diantaranya :

(2)

2. M engidentifikasi Tipe-tipe Relationship 3. M engidentifikasi Atribut

4. M enentukan Domain Atribut

5. M enentukan Candidate keys dan Primary key 6. Pertimbangkan penggunaan EERD

7. Cek M odel Terhadap Redudansi

8. Validasi M odel Konseptual Dengan Transaksi User

4.1.1.1 Mengidentifikasi Tipe-tipe Entity

Pada tahapan ini dilakukan identifikasi entity utama apa saja yang diperlukan. M enentukan entitas dapat dilakukan dengan cara memeriksa spesifikasi sesuai kebutuhan pengguna. Entity yang dihasilkan adalah sebagai berikut :

Nama Entity Deskripsi Nama Lain Occurrence

Ms_anggota Entity yang berisi data mengenai nama anggota serta nomor anggota

M aster anggota Tempat

menyimpan data anggota

keseluruhan

Ms_buku Entity yang berisikan informasi mengenai buku

M aster buku Tempat menyimpan informasi buku

(3)

Ms_user Entity yang berisi mengenai data user

M aster user Tempat menyimpan informasi mengenai user

Feedback Entity yang berisi

informasi mengenai daftar saran dan kritik dari anggota

Feedback Tempat penyimpanan

meneganai saran dan kritik dari anggota untuk perpustakaan

SM PN 1 Pondok Aren

Pengadaan Entity yang berisi

mengenai informasi pengadaan koleksi Pengadaan Tempat menyimpan transaksi pengadaan

Buku_hilang Entity yang berisi mengenai data buku

hilang

Buku hilang Tempat

menyimpan data mengenai buku hilang

Penggantian Entity yang berisi

mengenai data penggantian buku

Penggantian Tempat

menyimpan data penggantian buku

(4)

hilang hilang

Peminjaman Entity yang berisi

mengenai informasi data peminjaman

Peminjaman Tempat

menyimpan data peminjaman

Tabel 4.1 Tabel Entity

4.1.1.2 Mengidentifikasi Tipe-tipe Relationship

Setelah menentukan entity-entity pada Database Perpustakaan SM PN 1, berikut akan dilakukan menentukan relasi antar entity tersebut. Berikut ini merupakan table yang menggambarkan relasi antar entity pada Database Perpustakaan SM PN 1 :

Nama Entity Multiplicity Relationship Multiplicity Nama Entity

Ms_anggota 1..* M emberikan 0..* Feedback

1..1 M elakukan 1..* Peminjaman

0..1 M elakukan 0..1 Buku_hilang

0..1 M elakukan 0..1 Penggantian

Ms_user 1..1 M emproses 1..* Pengadaan

1..1 M emproses 1..* Peminjaman

(5)

1..1 M emproses 1..* Penggantian

1..1 M emproses 1..* Ms_anggota

Pengadaan 1..* M enambah 1..* Ms_buku

Peminjaman 1..* M endasari 1..1 Buku_hilang

1..* M empengaruhi 1..* Ms_buku

Buku_hilang 1..* M empengaruhi 1..1 Ms_buku

1..* M endasari 1..1 Penggantian

Penggantian 1..* M endasari 1..1 Pengadaan

Table 4.2 Tabel Entity Relationship

Berdasarkan hubungan entity di atas dapat dibuatkan Entity Relationship Diagram (ERD) sebagai berikut :

 

 

 

 

(6)

 

(7)

4.1.1.3 Mengidentifikasi Atribut Tiap Entity

Setelah menentukan relasi antar entity beserta multiplicity constraint antar entity, maka sekarang akan ditentukan attribut dari setiap entity, tipe data, dan panjangnya. Berikut ini merupakan table yang menggambarkan atribut dari entity yang telah diidentifikasi sebelumnya :

Nama Entity Attribute Description Data Types

and Length

Null Multi

Valued

Ms_anggota Id_anggota Id anggota Varchar(17) No No

Tanggal_daftar Tanggal bergabung menjadi anggota

Datetime No No

Id_jenis_anggota Jenis dari anggota perpus

Int(11) No No

Nama Nama jenis

anggota

Varchar(33) No No

Ket Keterangan Varchar(50) No No

Nis Nomor Induk

Siswa

Varchar(17) No No

(8)

Nama_kelas Nama kelas Varchar(6) No No

Nama_angkatan Nama angkatan varchar(10) Yes No

Nip Nomor induk

pegawai

Varchar(17) No No

Nama Nama anggota Varchar(50) No No

Periode_awal Periode awal kerja

Year No No

Periode_akhir Peride akhir bekerja

Year Yes No

Status Status aktif Int(11) No No

Nama_jabatan Nama jabatan Varchar(50) No No

Id_umum Id umum Varchar(17) No No

Nama Nama anggota Varchar(50) No No

Jenis_kelamin Jenis kelamin int(11) No No

Alamat Alamat rumah

anggota

Varchar(100) No No

Telepon Telepon rumah

anggota

Varchar(15) No No

(9)

anggota

Email Email Varchar(50) Yes No

Ms_buku Id_buku Id buku Varchar(17)  No No

Id_penerbit Id penerbit Int(11) No No

Id_jenis_buku Id jenis buku Int(11) No No

Id_bahasa Id bahasa Int(11) No No

Id_jenis_koleksi Id jenis koleksi Varchar(5) No No

Nama Penerbit Varchar(30) No No

Alamat Alamaat penerbit Varchar(100) No No Telepon Telepon penerbit Varchar(15) No No

kd_rak Nomor rak Varchar(5)  No No

Jenis_buku Jenis buku Varchar(50) No No

Bahasa Bahasa Varchar(17) No No

Jenis_koleksi Jenis koleksi Varchar(5) No No

Judul_buku Judul Buku Varchar(55) No No

(10)

Edisi Edisi Int(11) Yes No

Editor Editor Varchar(50) Yes No

Tebal_hal Tebal halaman Int(11) No No

Tahun_terbit Tahun terbit Year No No

Isbn Isbn Varchar(20) Yes No

Asal_buku Asal buku Int(11) Yes No

Status Status Int(11) Yes No

Ms_user Id_login Id login Varchar(21) No No

Jenis_user Jenis user Int(11) No No

Password Password user Varchar(10) No No

Tanggal Tanggal Datetime No No

Feedback Id_feedback Id feddback Int(11) No No

Feedback Feedback / saran Varchar(255) No No

Tanggal Tanggal feedback

Datetime No No

Pengadaan Id_pengadaan Id pengadaan Int(11)  No No

Id_supplier Id supplier Int(11) No No

(11)

Nama Nama supplier Varchar(40) No No

Alamat Alamat supplier Varchar(100) No No

Telepon Telepon supplier Varchar(15) No No

Cp Contact person Varchar(30) Yes No

Cp_telepon CP telp Varchar(15) Yes No

Ket Keterangan Varcahr(100) No No

Judul_buku Judul buku Varchar(100) No No

Isbn Isbn Varchar(20) No No

Jumlah Jumlah pengadaan

Int(11) No No

Harga Harga per unit Bigint(20) No No

Tanggal Tanggal pengadaan

Datetime No No

Peminjaman Id_peminjaman Id peminjaman Int(11) No No

Kd_jenis Kode jenis Int(11) No No

Nama_jenis Nama jenis

pinjaman

Varchar(10) No No

Tgl_pinjam Tangal peminjaman

(12)

Tgl_harus_kemba li

Tanggal harus kembali

Datetime No No

Tgl_kembali Tanggal kembali Datetime No No

Denda Denda keterlambatan

Bigint(20) No No

Ket Keterangan Varchar(100) No No

Status Status peminjaman

Int(11) No No

Buku_hilang Id_buku_hilang Id buku hilang Int(11) No No

Tanggal Tanggal buku

hilang

Datetime No No

Status Status pelaporan

buku hilang

Varchar(20) No No

Ket Keterangan Varchar(20) No No

Penggantian Id_penggantian Id penggantian Int(11) No No

Tanggal Tanggal penggantian Datetime No No Status Status penggatian Varchar(20) No No

(13)

4.1.1.4 Menentukan Domain Atribut

Pada tahap ini ditentukan nilai-nilai yang legal dari tiap-tiap atribut. Nilai tersebut dapat dilihat dari table berikut ini :

Nama Entity Attribute Data Types and

Length

Domain Attribute

Ms_anggota Id_anggota Varchar(17) XXX= ‘001’ – ‘003’

jenis anggota

YYYY= ‘0001’ – ‘9999’

nomor urut anggota

Tanggal_daftar Datetime dd-mm-yyyy

Id_jenis_anggota Int(11) XXX = ‘001’ – ‘003’

Nama Varchar(33) ‘A’-‘Z’

Ket Varchar(50) ‘A’-’Z’, ‘0’-‘9’

Nis Varchar(17) ‘0’-‘9’

Nama Varchar(50) ‘A’-‘Z’

(14)

Nama_angkatan varchar(10) ‘A’-‘Z’

Nip Varchar(17) ‘0’-‘9’

Nama Varchar(50) ‘A’-’Z’

Periode_awal Year yyyy

Periode_akhir Year yyyy

Status Int(11) ‘0’-‘9’

Nama_jabatan Varchar(50) ‘A’-’Z’

Id_umum Varchar(17) ‘0’-’9’

Nama Varchar(50) ‘A’-’Z’

Jenis_kelamin int(11) ‘0’-’9’

Alamat Varchar(100) ‘A’-’Z’, ‘0’-‘9’

Telepon Varchar(15) ‘0’-’9’

HP Varchar(15) ‘0’-’9’

Email Varchar(50) ‘A’-’Z’, ‘0’-‘9’

Ms_buku Id_buku Varchar(17)  AAA=’001’-‘999’

Id jenis koleksi

(15)

Kd rak

CCCCC= ‘00001’-’99999’

Nomor urut buku

Id_penerbit Int(11) ’0’-‘9’

Id_jenis_buku Int(11) ’0’-‘9’

Id_bahasa Int(11) ’0’-‘9’

Id_jenis_koleksi Varchar(5) ’0’-‘9’

Nama Varchar(30) ‘A’-‘Z’, ’0’-‘9’

Alamat Varchar(100) ‘A’-’Z’, ’0’-‘9’

Telepon Varchar(15) ’0’-‘9’

kd_rak Varchar(5)  ’0’-‘9’

Jenis_buku Varchar(50) ‘A’-’Z’

Bahasa Varchar(17) ‘A’-’Z’

Jenis_koleksi Varchar(5) ‘A’-’Z’

Judul_buku Varchar(55) ‘A’-’Z’

Pengarang Varchar(50) ‘A’-’Z’

(16)

Editor Varchar(50) ‘A’-’Z’

Tebal_hal Int(11) ’0’-‘9’

Tahun_terbit Year Yyyy

Isbn Varchar(20) ’0’-‘9’

Asal_buku Int(11) ’0’-‘9’

Status Int(11) ’0’-‘9’

Ms_user Id_login Varchar(21) ‘A’-‘Z’ , ‘0’-’9’

Jenis_user Int(11) ‘0’-’9’

Password Varchar(10) ‘A’-‘Z’ , ‘0’-’9’

Tanggal Datetime dd-mm-yyyy

Feedback Id_feedback Int(11) ‘0’-’9’

Feedback Varchar(255) ‘A’-‘Z’ , ‘0’-’9’

Tanggal Datetime dd-mm-yyyy

Pengadaan Id_pengadaan Int(11)  ‘0’-’9’

Id_supplier Int(11) ‘0’-’9’

Jenis_supplier Varchar(30) ‘A’-‘Z’ , ‘0’-’9’

(17)

Alamat Varchar(100) ‘A’-‘Z’ , ‘0’-’9’

Telepon Varchar(15) ‘0’-’9’

Cp Varchar(30) ‘A’-‘Z’ , ‘0’-’9’

Cp_telepon Varchar(15) ‘0’-’9’

Ket Varcahr(100) ‘A’-‘Z’ , ‘0’-’9’

Judul_buku Varchar(100) ‘A’-‘Z’ , ‘0’-’9’

Isbn Varchar(20) ‘A’-‘Z’ , ‘0’-’9’

Jumlah Int(11) ‘0’-’9’

Harga Bigint(20) ‘0’-’9’

Tanggal Datetime dd-mm-yyyy

Peminjaman Id_peminjaman Int(11) ‘0’-’9’

Kd_jenis Int(11) ‘0’-’9’

Nama_jenis Varchar(10) ‘A’-‘Z’ , ‘0’-’9’

Tgl_pinjam Datetime dd-mm-yyyy

Tgl_harus_kembali Datetime dd-mm-yyyy

Tgl_kembali Datetime dd-mm-yyyy

(18)

Ket Varchar(100) ‘A’-‘Z’ , ‘0’-’9’

Status Int(11) ‘0’-’9’

Buku_hilang Id_buku_hilang Int(11) ‘0’-’9’

Tanggal Datetime dd-mm-yyyy

Status Varchar(20) ‘0’-’9’

Ket Varchar(20) ‘A’-‘Z’ , ‘0’-’9’

Penggantian Id_penggantian Int(11) ‘0’-’9’

Tanggal Datetime dd-mm-yyyy

Status Varchar(20) ‘0’-’9’

Table 4.4 Tabel Domain Atribut

4.1.1.5 Mengidentifikasi Candidate Key dan Primary Key tiap emtity

Setelah menentukan domain pada langkah sebelumnya, sekarang akan menentukan atribut yang akan menjadi candidate key dan primary key dari tiap entity. Berikut ini adalah table yang menggambarkan candidate key dan primary key dari setiap masing-masing entity pada Database Perpustakaan :

(19)

Nama Entity Candidate key Primary Key Ms_anggota Id_anggota Nis Nip Id_umum Id_anggota

Ms_buku Id_buku Id_buku

Ms_user Id_login Id_login

Feedback Id_feedback Id_feedback

Buku_hilang Id_buku_hilang Id_buku_hilang

Pengadaan Id_pengadaan

Id_supplier

Id_pengadaan

Peminjaman Id_peminjaman Id_peminjaman

Penggantian Id_penggantian Id_penggantian

(20)
(21)

4.1.1.6 Mempertimbangkan Penggunaan EERD

Pada tahap ini merupakan untuk mempertimbangkan penggunaan Enhanced Relationship Diagram yang dimana dalam model ini memiliki tiga konsep utama, yakni : specialization-generalitation, aggregration, dan composition. Pada ERD yang saya buat tidak terdapat ketiga hal utama yg terdapat pada EERD, sehingga tahap ini tidak saya lakukan.

4.1.1.7 Mengecek Model Terhadap Redudansi

Tahap ini bertujuan untuk melakukan pengecekan ERD apakah terdapat hubungan antar entity yang bersifat redundansi. Pada tahap ini ERD yang saya buat tidak terdapat ERD yang bersifat redudansi, sehingga pada tahap ini tidak saya lakukan.

4.1.1.8 Memvalidasi Model Konseptual Dengan Transaksi Terhadap User

Tahapan ini bertujuan untuk memastikan model konseptual untuk mendukung transaksi yang dibutuhkan oleh user. Berikut ini adalah gambar yang merepresentasikan jalan dari setiap transaksi secara langsung :

(22)

 

Gambar 4.3 Pengecekan Model Konseptual yang Mendukung

(23)

Di bawah ini adalah transaksi terhadap user yang terjadi :

a. Daftar rincian data Anggota di perpustakaan

b. M engidentifikasi jumlah anggota di perpustakaan

c. Daftar rincian Pengadaan Buku

d. Daftar rincian data Peminjaman dan Pengembalian

e. Daftar nomor anggota, tanggal pinjam tanggal harus kembali, tanggal kembali, status pinjaman, days late, hutang/ denda data Peminjaman dan Pengembalian Buku disusun menurut tanggal peminjaman

f. Daftar data Feedback yang diawasi oleh manajemen perpustakaan

g. Daftar rincian data Buku Hilang

h. Identifikasi jumlah buku yang hilang

i. Daftar rincian Penggantian Buku

j. M engidentifikasikan jumlah buku pengganti

(24)

4.1.2 Perancangan Basis Data Logikal

Perancangan database logical adalah proses membuat model dari informasi yang digunakan dalam sebuah perusahaan maupun organisas i berdasarkan data model yang spesifik, namun tidak tergantung DBM S tertentu dan pertimbangan fisikal. Kemudian model data akan divalidas i dengan teknik normalisasi untuk meyakinkan bahwa strukturnya sudah benar dan juga model data ini benar-benar mendukung transaksi yang dibutuhkan

4.1.2.1 Menghilangkan fitur yang tidak kompatibel dengan model relasi

1. Menghilangkan tipe relasi many to many biner :

(25)

M enjadi

Gambar 4.4 Gambar ERD menghilangkan many to many pada Pengadaan

(26)

M enjadi

Gambar 4.5 Gambar ERD menghilangkan many to many pada Peminjaman

4.1.2.2 Membuat Relasi untuk Model Data Logical

Pada tahap ini dibuat hubungan logikal model yang mewakili entity, relationship dan atribut yang telah didefinisi.

Ms_anggota (Id_anggota, Tanggal_daftar, Id_jenis_anggota, Nama, ket, Id_login Nis, Nama, Nama_kelas, Nama_angkatan, Nip, Nama, Periode_awal, Periode_akhir, Status, Nama_jabatan, Id_umum, Nama, Jenis_kelamin, Alamat, telepon, Hp, Email)

Primary Key Id_anggota, Id_jenis_anggota, Nis, Nip, Id_umum

Foreign Key Id_login References M s_user

(27)

Jenis_koleksi, Id_jenis_buku, Jenis_buku, Kd_rak, Id_bahasa, Bahasa, Judul_buku, Pengarang, Edisi, Editor, Tahun_terbit, Tebal_hal, Isbn, Asal_buku, Status)

Primary Key Id_buku, Id_penerbit, Id_jenis_koleksi, Id_jenis_buku, kd_rak, Id_bahasa

Ms_user (Id_login, Jenis_user, Password, Tanggal)

Primary Key id_login

Feedback (Id_feedback, Id_anggota, Feedback, Tanggal)

Primary Key Id_feedback

Foreign Key Id_anggota References Ms_anggota

Pengadaan (Id_pengadaan, Id_supplier, Jenis_supplier, Nama, Alamat, Telepon, Cp, Cp_telepon, Ket, Id_penggantian, Id_login, Tanggal)

Primary Key Id_pengadaan, Id_supplier

Foreign Key Id_penggantian References Penggantian

Foreign Key Id_login References M s_user

Tr_pengadaan_detail (Id_pengadaan, Id_buku, Jenis_pengadaan, Judul_buku, Isbn, Jumlah, Harga)

Primary Key Id_pengadaan

(28)

Foreign Key Id_buku References Ms_buku

Peminjaman (Id_peminjaman, Id_anggota, Id_login, Tgl_pinjam, Tgl_harus_kembali, T gl_kembali, Ket)

Primary Key Id_peminjaman

Foreign Key Id_anggota References Ms_anggota

Foreign Key Id_login References M s_user

Tr_peminjaman_detail (Id_peminjaman, Id_buku, Kd_jenis, Nama_jenis Denda, Status)

Primary Key Id_peminjaman, Kd_jenis

Foreign Key Id_peminjaman References Peminjaman

Foreign Key Id_buku References Ms_buku

Buku_hilang (Id_buku_hilang, Id_buku, Id_anggota, Id_login, Tanggal, Status, Id_peminjaman, Ket)

Primary Key Id_buku_hilang

Foreign Key Id_peminjaman References Peminjaman

Foreign Key Id_anggota References Ms_anggota

Foreign Key Id_login References M s_user

Foreign Key Id_buku References Ms_buku

(29)

Tanggal, Status)

Primary Key Id_penggantian

Foreign Key Id_buku_hilang References Buku_hilang

Foreign Key Id_buku References Ms_buku

Foreign Key Id_anggota References Ms_anggota

Foreign Key Id_login References M s_user

Tabel 4.6 Tabel Model Data Logikal dengan relasi antara Primary Key dan Foreign Key

(30)

4.1.2.3 Normalisasi

1. Ms_anggota

Id_anggota (Primary Key)

Id_jenis_anggota (Partial Dependency)

Nama Ket Nis Nama Nama_kelas Nama_angkatan Nip Nama Periode_awal Periode_akhir Status Jabatan Id_umum Nama

(31)

Id_login Jenis_kelamin Alamat Telepon Hp Email Tanggal_daftar 1NF

Dari data di atas merupakan bentuk 1NF tetapi terdapat partial dependency yang dimana harus di normalisasikan dalam bentuk 2NF.

2NF

Tabel Ms_anggota

@Id_anggota, #Nis, #Nip, #Id_umum, #Id_jenis_anggota, Jenis_kelamin, Alamat, Telepon, Hp, Email, Tanggal_daftar

Tabel Ms_user

(32)

Tabel Ms_siswa

@Nis, Nama, Nama_kelas, Nama_angkatan

Tabel Jenis_anggota

@Id_jenis_anggota, Nama, Ket

Tabel Ms_pegawai

@Nip, Periode_awal, Periode_akhir, Nama, Jabatan, Status

Tabel Ms_umum

@Id_umum, Nama

3NF

Di dalam 2NF yang telah dilakukan terdapat transitive dependency sehingga diperlukan normalisasi 3NF

Tabel Jabatan @Id_jabatan, Nama_jabatan Tabel Ms_siswa_kelas @Id_kelas, Nama_kelas Tabel Ms_siswa_angkatan @Id_angkatan, Nama_angkatan

(33)

2. Ms_buku

Id_buku (Primary Key)

Id_penerbit (Partial Dependency)

Nama Alamat Telepon Id_jenis_koleksi Jenis_koleksi Id_jenis_buku Jenis_buku Id_bahasa Bahasa Kd_rak Judul_buku Pengarang Edisi Editor

(34)

Tahun_terbit Tebal_hal Isbn Asal_buku Status 1NF

Pada data di atas telah memenuhi 1NF tetapi terdapat Partial Dependency yang dimana harus dilakukan normalisasi 2NF.

2NF

Tabel Ms_penerbit

@Id_penerbit, Nama, Alamat, Telepon

Tabel Ms_bahasa @Id_bahasa, Bahasa Tabel Jenis_koleksi @Id_jenis_koleksi, Nama_koleksi Tabel Jenis_buku @Id_jenis_buku, Nama_buku

(35)

Tabel Ms_rak

@Kd_rak

Tabel Ms_buku

@Id_buku, #Id_penerbit, #Id_jenis_koleksi, #Id_jenis_buku, #Id_bahasa, #Kd_rak, Judul_buku, Pengarang, Edisi, Editor, Tahun_terbit, Tebal_hal, Isbn, Asal_buku

3NF

Setelah di normalisasi 2NF tidak terdapat atribut yang transitive dependency, sehingga tidak diperlukan normalisasi 3NF.

3. Ms_user

Id_login (Primary Key)

Jenis_user (Transitive Dependency)

Password

Tanggal

1NF

Pada tahap UNF tidak terdapat repeating group ini diartikan entity termasuk normalisasi 1NF

(36)

2NF

Pada tahap normalisasi 1NF tidak terdapat atribut yang memiliki partial dependency, sehingga tidak diperlukan normalisasi 2NF.

Tabel Ms_user

@Id_login, jenis_user, password, tanggal

3NF

Setelah di normalisasi 2NF terdapat atribut yang transitive dependency, sehingga diperlukan normalisasi 3NF.

Tabel Ms_jenis_user

@Id_jenis_user, Jenis_user

4. Feedback

Id_feedback (Primary Key)

Id_anggota

Feedback

(37)

1NF

Pada Tahap ini tidak terdapat repeating group sehingga tidak diperlukan normalisasi 2NF dan 3NF

Tabel Feedback

@Id_feedback, #Id_anggota, Feedback, Tanggal

Tabel Ms_anggota

@Id_anggota

5. Pengadaan

Id_pengadaan (Primary Key)

Id_penggantian

Id_login

Id_supplier (Partial Dependency)

Jenis_supplier

Nama

Alamat

Telepon

(38)

Cp_telepon

Ket

Tanggal

1NF

Pada tahap normalisasi ini tidak terdapat repeating group maka hal ini telah memnuhi 1NF.

2NF

Pada tahapan ini terdapat partial dependency sehingga diperlukannya normalisasi 2NF.

Tabel Ms_supplier

@Id_supplier, Jenis_supplier, Nama, Alamat, Telepon, Cp, Cp_telepon, Ket

Tabel Pengadaan

@Id_pengadaan, #Id_penggantian, #Id_supplier, #Id_login, Tanggal

Tabel Penggantian

(39)

Tabel Ms_user

@Id_login

3NF

Setelah di normalisasi 2NF terdapat atribut yang transitive dependency, sehingga diperlukan normalisasi 3NF.

Tabel Jenis_supplier

@Id_jenis_supplier, Jenis_supplier

6. Tr_pengadaan_detail

Id_pengadaan (Primary Key)

Id_buku Jenis_pengadaan Judul_buku Isbn Jumlah Harga

(40)

1NF

Pada tahap ini sudah ternormalisasi kan pada 1NF karena tidak terdapat repeating group sehingga tidak diperlukan normalisasi berikutnya.

Tabel tr_pengadaan_detail

@Id_pengadaan, #Id_buku, Jenis_pengadaan, Judul_buku, Isbn, Jumlah, Harga

Tabel Ms_buku

@Id_buku

2NF

Pada tahapan ini tidak terdapat partial dependency sehingga tidak diperlukannya normalisasi 2NF.

3NF

Pada tahapan ini tidak terdapat transitive dependency sehingga diperlukannya normalisasi 3NF.

(41)

7. Peminjaman

Id_peminjaman (Primary Key)

Id_anggota Id_login Tgl_pinjam Tgl_harus_kembali Tgl_kembali Ket 1NF

Pada tahap ini tidak terdapat repeating group, dan telah memenuhi normalisasi 1NF

2NF

Pada tahap ini tidak terdapat partial dependency, dan telah memenuhi normalisasi 2NF

Tabel Peminjaman

@Id_peminjaman, #Id_anggota, #Id_login, Tgl_pinjam, Tgl_harus_kembali, T gl_kembali, Ket

(42)

Tabel Ms_anggota

@Id_anggota

Tabel Ms_user

@Id_login

3NF

Pada tahapan ini tidak terdapat transitive dependency sehingga diperlukannya normalisasi 3NF.

8. Tr_peminjaman_detail

Id_peminjaman (Primary Key)

Id_buku

Kd_jenis (Partial Dependency)

Nama_jenis

Denda

(43)

2NF

Pada tahap ini telah memasuki tahap normalisasi 2NF, sebab terdapat partial dependency.

Tabel Jenis_pinjaman

@Kd_jenis, Nama_jenis

Tabel Tr_peminjaman_detail

@Id_peminjaman, #Kd_jenis, #id_buku, Denda, Status

Tabel Ms_buku

@Id_buku

3NF

Setelah dilakukan normalisasi tahap 2NF tidak terdapat atribut yang memiliki transitive dependency, sehingga tahap normalisasi 3NF tidak diperlukan.

9. Buku_hilang

Id_buku_hilang (Primary Key)

Id_buku

(44)

Id_peminjaman Id_login Tanggal Status Ket 1NF

Pada tahap ini tidak terdapat repeating group, dan telah memenuhi normalisasi 1NF

2NF

Pada tahap ini tidak terdapat partial dependency, dan telah memenuhi normalisasi 2NF

Table Buku_hilang

@Id_buku_hilang, #Id_peminjaman, #Id_buku, #Id_anggota, #Id_login, Tanggal, Status, Ket

Tabel Peminjaman

@Id_peminjaman

(45)

@Id_buku Tabel Ms_anggota @Id_anggota Tabel Ms_user @Id_login 3NF

Pada tahap ini tidak terdapat transitive dependency, sehingga tidak diperlukan normalisasi 3NF

10. Penggantian

Id_penggantian (Primary Key)

Id_buku_hilang Id_anggota Id_login Id_buku Tanggal Status

(46)

2NF

Normalisasi pada tahap ini telah memenuhi normalisasi 2NF sehingga tidak diperlukan normalisasi 3NF dikarenakan tidak teradapat transitive dependency.

Table Penggantian

@Id_penggantian, #Id_buku_hilang, #Id_anggota, #Id_login, #Id_buku, Tanggal, Status

Tabel Buku_hilang @Id_buku_hilang Tabel Ms_anggota @Id_anggota Tabel Ms_user @Id_login Tabel Ms_buku @Id_buku

(47)

4.1.2.4 Validasi Relasi Dengan Transaksi User

Pada tahapan ini semua transaksi pengguna telah didefinisikan pada tahap konseptual diperiksa kembali dan sesuai kebutuhan pengguna.

4.1.2.5 Mendefinisikan Kendala Integritas

Integritas adalah langkah yang bertujuan untuk menghindari ketidakpastian data dalam basis data. Integritas ini dibagi atas beberapa tipe diantaranya yaitu :

1. Data Required adalah atribut harus mengandung nilai yang valid atau tidak boleh ada yang mengandung nilai NULL.

Contoh nya : primary key dalam sebuah entity memiliki nilai pasti dan unik.

2. Attribute Domain Constraints adalah atribut yang memiliki domain yaitu sekumpulan nilai yang sah untuk atribut+ constrainnya telah ditentukan saat kita menentukan domain atribut.

3. Integritas entity adalah primary key tidak boleh bernilai NULL. Aturan seperti ini telah dipertimbangkan pada saat mengidentifikasi primary key untuk semua entity.

4. Referential Intergrity merupakan tahap identifikasi nilai dari foreign key jika terjadi perubahan dan penghapusan key pada parent-nya.

(48)

Ms_pegawai (@Nip, #Id_jabatan, Periode_awal, Periode_akhir)

Primary Key Nip

Foreign Key Id_jabtan References Jabatan 

ON UPDATE CASCADE ON DELETE NO ACTION

Ms_siswa (@Nis, Nama, #Id_kelas, #Id_angkatan)

Primary Key Nis

Foreign Key Id_kelas References M s_siswa_kelas 

ON UPDATE CASCADE ON DELETE NO ACTION

Foreign Key Id_angkatan References Ms_siswa_angkatan 

ON UPDATE CASCADE ON DELETE NO ACTION

Ms_anggota (@Id_anggota, #Nis, #Nip, #Id_umum,

#Id_jenis_anggota, Jenis_kelamin, Alamat, Telepon, Hp, Email, Tanggal_daftar)

Primary Key Id_anggota

Foreign Key Id_jenis_anggota References Jenis_anggota

ON UPDATE CASCADE ON DELETE NO ACTION

(49)

ON UPDATE CASCADE ON DELETE NO ACTION

Foreign Key Nip References Ms_pegawai

ON UPDATE CASCADE ON DELETE NO ACTION

Foreign Key Id_umum References M s_umum

ON UPDATE CASCADE ON DELETE NO ACTION

Ms_buku (@Id_buku, #Id_penerbit, #Id_jenis_koleksi, #Id_jenis_buku, #Id_bahasa, #Kd_rak, judul_buku, pengarang, edisi, editor, tahun_terbit, tebal_hal, isbn, Asal_buku)

Primary Key Id_buku

Foreign Key Id_penerbit References Ms_penerbit

ON UPDATE CASCADE ON DELETE NO ACTION

Foreign Key Id_jenis_koleksi References Jenis_koleksi

ON UPDATE CASCADE ON DELETE NO ACTION

Foreign Key Id_jenis_buku References Jenis_buku

ON UPDATE CASCADE ON DELETE NO ACTION

Foreign Key Id_bahasa References Ms_bahasa

ON UPDATE CASCADE ON DELETE NO ACTION

(50)

ON UPDATE CASCADE ON DELETE NO ACTION

Ms_supplier (@Id_supplier, #Id_jenis_supplier, Nama, Alamat, Telepon, Cp, Cp_telepon, Tanggal, Ket)

Primary Key Id_suuplier

Foreign Key Id_jenis_supplier References Jenis_supplier

ON UPDATE CASCADE ON DELETE NO ACTION

Ms_user (@Id_login, #Id_jenis_user, Password, Tanggal)

Primary Key Id_login

Foreign Key Id_jenis_user References M s_jenis_user

ON UPDATE CASCADE ON DELETE NO ACTION

Feedback (@Id_feedback, #Id_anggota, Feedback, Tanggal)

Primary Key Id_feedback

Foreign Key Id_anggota References M s_anggota

(51)

Pengadaan (@Id_pengadaan, #Id_supplier, #Id_penggantian, #Id_login, Tanggal)

Primary Key Id_pengadaan

Foreign Key Id_supplier References M s_supplier

ON UPDATE CASCADE ON DELETE NO ACTION

Foreign Key Id_penggantian References Penggantian

ON UPDATE CASCADE ON DELETE NO ACTION

Foreign Key Id_login References Ms_user

ON UPDATE CASCADE ON DELETE NO ACTION

Tr_pengadaan_detail (@Id_pengadaan, @#Id_buku, Jenis_pengadaan, Judul_buku, Isbn, Jumlah, Harga)

Primary Key Id_pengadaan, Id_buku

Foreign Key Id_pengadaan References Pengadaan

ON UPDATE CASCADE ON DELETE NO ACTION

Foreign Key Id_buku References Ms_buku

(52)

Tr_peminjaman (@Id_peminjaman, #Id_anggota, #Id_login, Tgl_pinjam, Tgl_harus_kembali, T gl_kembali, Ket)

Primary Key Id_peminjaman

Foreign Key Id_anggota References Ms_anggota

ON UPDATE CASCADE ON DELETE NO ACTION

Foreign Key Id_login References M s_user

ON UPDATE CASCADE ON DELETE NO ACTION

Tr_peminjaman_detail (@Id_peminjaman, @#Id_buku, #Kd_jenis, Denda, Status)

Primary Key Id_peminjaman, Id_buku

Foreign Key Id_peminjaman References Tr_peminjaman

ON UPDATE CASCADE ON DELETE NO ACTION

Foreign Key Id_buku References Ms_buku

ON UPDATE CASCADE ON DELETE NO ACTION

Foreign Key Kd_jenis References Jenis_pinjaman

(53)

Buku_hilang (@Id_buku_hilang, #Id_peminjaman, #Id_buku, #Id_anggota, #Id_login, Tanggal, Status, Ket)

Primary Key Id_buku_hilang

Foreign Key Id_peminjaman References Peminjaman

ON UPDATE CASCADE ON DELETE NO ACTION

Foreign Key Id_anggota References Ms_anggota

ON UPDATE CASCADE ON DELETE NO ACTION

Foreign Key Id_login References M s_user

ON UPDATE CASCADE ON DELETE NO ACTION

Foreign Key Id_buku References Ms_buku

ON UPDATE CASCADE ON DELETE NO ACTION

Penggantian (@Id_penggantian, #Id_buku_hilang, #Id_anggota, #Id_login, #Id_buku, Tanggal, Status)

Primary Key Id_penggantian

Foreign Key Id_buku_hilang References Buku_hilang

ON UPDATE CASCADE ON DELETE NO ACTION

Foreign Key Id_buku References Ms_buku

(54)

Foreign Key Id_anggota References Ms_anggota

ON UPDATE CASCADE ON DELETE NO ACTION

Foreign Key Id_login References M s_user

ON UPDATE CASCADE ON DELETE NO ACTION

4.1.2.6 Diagram ER Logical

Diagram ER logical menyertakan seluruh entity serta atribut-key nya (Primary Key dan Foreign Key). Di bawah ini adalah diagram ER logical :

(55)
(56)

4.1.3 Perancangan Basis Data Fisikal

Pada tahapan ini merupakan suatu proses untuk menghasilkan gambaran dari implementasi basis data pada tempat penyimpanan, menjelaskan dasar relasi, digunakan untuk mengefisienkan data dan menghubungkan bebrapa integrity constraint dan keamanan pada (Connolly, 2002, p478). Adapun langkah-langkah yang dalam perancangan basis data fisikal adalah sebagai berikut :

4.1.3.1 Merancang Base Relasi

Tahap ini bertujuan untuk memutuskan relasi dasar yang diidentifikasi dalam model logical global dalam DBM S yang diinginkan.

Tabel Identifikasi Relasional Model Data Logikal Global

Table 4.7 Tabel Relasi Ms_siswa

Nama Entity Attribute Description Data Types

and Length

Null

Ms_siswa Nis Nomor Induk

Siswa

Varchar(17) No

(57)

Id_kelas Id_kelas Int(11) No

Nama Nama anggota Varchar(50) No

Primary Key Nis

Foreign Key Id_angkatan References Ms_siswa_angkatan

ON UPDATE CASCADE ON DELETE NO ACTION

Foreign Key Id_kelas References M s_siswa_kelas

ON UPDATE CASCADE ON DELETE NO ACTION

Table 4.8 Tabel Relasi Ms_siswa_angkatan

Nama Entity Attribute Description Data Types

and Length

Null

Ms_siswa_angk atan

Id_angkatan Id_angkatan Int(11) No

Id_kelas Id_kelas Int(11) No

Nama_angkatan Nama angkatan Varchar(10) No

Primary Key Id_angkatan

Foreign Key Id_kelas References M s_siswa_kelas

(58)

Table 4.9 Table Relasi Ms_siswa_kelas

Nama Entity Attribute Description Data Types

and Length

Null

Ms_siswa_kelas Id_kelas Id_kelas Int(11) No

Nama_kelas Nama kelas Varchar(6) No

Primary Key Id_kelas

Table 4.10 Tabel Relasi Ms_umum

Nama Entity Attribute Description Data Types

and Length

Null

Ms_umum Id_umum Nomor id anggota

umum

Varchar(17) No

Nama Nama anggota

umum

Varchar(50) No

(59)

Table 4.11 Tabel Relasi Ms_pegawai

Nama Entity Attribute Description Data Types

and Length

Null

Ms_pegawai NIP Nomor induk

pegawai

Varchar(17) No

Id_Jabatan Idjabatan Int(11) No

Nama Nama pegawai Varchar(50) No

Periode_awal Periode awal kerja Year No

Periode_akhir Peride akhir

bekerja

Year Yes

Status Status aktif Int(11) No

Primary Key NIP

Foreign Key Id_jabatan References Jabatan

(60)

Table 4.12 Table Relasi Jabatan

Nama Entity Attribute Description Data Types

and Length

Null

Jabatan Id_jabatan Id jabatan Int(11) No

Nama_jabatan Nama jabatan Varchar(50) No

Primary Key Id_jabatan

Table 4.13 Table Relasi Ms_anggota

Nama Entity Attribute Description Data Types

and Length

Null

Ms_anggota Id_anggota Id anggota Varchar(17) No

Nis Nomor induk

Siswa

Varchar(17) No

Nip Nomor induk

pegawai

Varchar(17) No

Id_umum Id umum Varchar(17) No

Id_login Id_login Varchar(21) No

Jenis_kelamin Jenis kelamin int(11) No

(61)

anggota pegawai

Telepon Telepon pegawai Varchar(15) No

Hp Hp pegawai Varchar(15) No

Email Email pegawai Varchar(50) No

Id_jenis_anggota Id jenis anggota Int(11) No

Tanggal_daftar Tanggal bergabung menjadi anggota

DATETIM E No

Primary Key Id_anggota

Foreign Key Id_jenis_anggota References jenis_anggota

ON UPDATE CASCADE ON DELETE NO ACTION

Foreign Key Nis References M s_siswa

ON UPDATE CASCADE ON DELETE NO ACTION

Foreign Key Nip References Ms_pegawai

ON UPDATE CASCADE ON DELETE NO ACTION

Foreign Key Id_umum References M s_umum

(62)

Table 4.14 Tabel Relasi Jenis_anggota

Nama Entity Attribute Description Data Types

and Length

Null

Jenis_anggota Id_jenis_anggota Id jenis anggota Int(11) No

Nama Nama jenis

anggota

Varchar(33) No

Ket Keterangan Varchar(50) Yes

Primary Key Id_jenis_anggota

Table 4.15 Tabel Relasi Ms_buku

Nama Entity Attribute Description Data Types

and Length

Null

Ms_buku Id_buku Id buku Varchar(17)  No

Id_penerbit Id penerbit Int(11) No

Id_jenis_buku Id jenis buku Int(11) No

Id_bahasa Id bahasa Int(11) No

Id_jenis_koleksi Id jenis koleksi Varchar(5) No

(63)

Judul_buku Judul Buku Varchar(55) No

Pengarang Pengarang Varchar(50) No

Edisi Edisi Int(11) Yes

Editor Editor Varchar(50) Yes

Tebal_hal Tebal halaman Int(11) No

Tahun_terbit Tahun terbit Year No

ISBN ISBN Varchar(20) Yes

Asal_buku Asal buku Int(11) Yes

Status Status Int(11) Yes

Primary Key Id_buku

Foreign Key Id_penerbit References Ms_penerbit

ON UPDATE CASCADE ON DELETE NO ACTION

Foreign Key Id_jenis_buku References Jenis_buku

ON UPDATE CASCADE ON DELETE NO ACTION

Foreign Key Id_bahasa References M s_bahasa

ON UPDATE CASCADE ON DELETE NO ACTION

Foreign Key Id_jenis_koleksi References Jenis_koleksi

(64)

Foreign Key kd_rak References Ms_rak

ON UPDATE CASCADE ON DELETE NO ACTION

Table 4.16 Tabel Relasi Jenis_buku

Nama Entity Attribute Description Data Types

and Length

Null

Jenis_buku Id_jenis_buku Id jenis buku Int(11)  No

Nama Nama buku Varchar(50) No

Primary Key Id_jenis_buku

Table 4.17 Tabel Relasi Jenis_koleksi

Nama Entity Attribute Description Data Types

and Length

Null

Jenis_koleksi Id_jenis_koleksi Id_jenis_koleksi Varchar(5) No

Nama_koleksi Nama koleksi Varchar(55) No

(65)

Table 4.18 Tabel Relasi Ms_ supplier

Nama Entity Attribute Description Data Types

and Length

Null

Ms_supplier Id_supplier Id supplier Int(11) No

Id_jenis_supplier Id jenis supplier Int(11) No

Nama Nama supplier Varchar(40) No

Alamat Alamat supplier Varchar(100) No

Telepon Telepon supplier Varchar(15) No

Cp Contact person Varchar(30) Yes

Cp_telepon CP telp Varchar(15) Yes

Tanggal Tanggal supplier Datetime No

Ket Keterangan Varcahr(100) No

Primary Key Id_ supplier

Foreign Key Id_jenis_supplier References Jenis_supplier

(66)

Table 4.19 Tabel Relasi Jenis_supplier

Nama Entity Attribute Description Data Types

and Length

Null

Jenis_supplier Id_jenis_supplier Id jenis supplier Int(11) No

Jenis_supplier Nama jenis supplier

Varchar(30) No

Primary Key Id_jenis_supplier

Table 4.20 Tabel Relasi Ms_penerbit

Nama Entity Attribute Description Data Types

and Length

Null

Ms_penerbit Id_penerbit Id penerbit Int(11) No

Nama Nama penerbit Varchar(30) No

Alamat Alamat penerbit Varchar(100) No

Telepon Telepon penerbit Varchar(15) Yes

(67)

Table 4.21 Tabel Relasi Ms_bahasa

Nama Entity Attribute Description Data Types

and Length

Null

Ms_bahasa Id_bahasa Id bahasa Int(11) No

Bahasa Bahasa Varchar(17) No

Primary Key Id_bahasa

Table 4.22 Tabel Relasi Ms_rak

Nama Entity Attribute Description Data Types

and Length

Null

Ms_rak kd_rak kd rak Varchar(5)  No

Primary Key Kd_rak

Table 4.23 Tabel Relasi Ms_user

Nama Entity Attribute Description Data Types

and Length

Null

Ms_user Id_login Id login Varchar(21) No

(68)

Password Password user Varchar(10) No

Tanggal Tanggal DATETIM E No

Primary Key Id_login

Foreign Key Id_jenis_user References M s_jenis_user

ON UPDATE CASCADE ON DELETE NO ACTION

Table 4.24 Tabel Relasi Ms_jenis_user

Nama Entity Attribute Description Data Types

and Length

Null

Ms_jenis_user Id_jenis_user Id jenis user Int(11) No

Nama Nama jenis user Varchar(10) No

Primary Key Id_jenis_user

Table 4.25 Tabel Relasi Feedback

Nama Entity Attribute Description Data Types

and Length

Null

Feedback Id_feedback Id feddback Int(11) No

(69)

Feedback Feedback / saran Varchar(255) No

Tanggal Tanggal feedback Datetime No

Primary Key Id_feedback

Foreign Key Id_anggota References Ms_anggota

ON UPDATE CASCADE ON DELETE NO ACTION

Table 4.26 Tabel Relasi Pengadaan

Nama Entity Attribute Description Data Types

and Length

Null

Pengadaan Id_pengadaan Id pengadaan Int(11)  No

Id_supplier Id supplier Int(11) No

Id_penggantian Id penggantian Int(11) No

Id_login Id login Varchar(21) No

Tanggal Tanggal pengadaan

Datetime No

Primary Key Id_pengadaan

Foreign Key Id_supplier References M s_supplier

ON UPDATE CASCADE ON DELETE NO ACTION

(70)

ON UPDATE CASCADE ON DELETE NO ACTION

Foreign Key Id_supplier References Ms_supplier

ON UPDATE CASCADE ON DELETE NO ACTION

Foreign Key Id_login References M s_user

ON UPDATE CASCADE ON DELETE NO ACTION

Table 4.27 Tabel Relasi Pengadaan_detail

Nama Entity Attribute Description Data Types

and Length

Null

Tr_pengadaan_ detail

Id_pengadaan Id pengadaan Int(11)  No

Id_buku Id buku Varchar(17) No

Jenis_pengadaan Jenis pengadaan Varchar(20) No

Judul_buku Judul buku Varchar(100) No

Isbn Isbn Varchar(20) No

Jumlah Jumlah pengadaan Int(11) No

Harga Harga per unit Bigint(20) No

Primary Key Id_pengadaan

(71)

ON UPDATE CASCADE ON DELETE NO ACTION

Foreign Key Id_buku References Ms_buku

ON UPDATE CASCADE ON DELETE NO ACTION

Table 4.28 Table Relasi Peminjaman

Nama Entity Attribute Description Data Types

and Length

Null

Peminjaman Id_peminjaman Id peminjaman Int(11) No

Id_anggota Id anggota Varchar(17) No

Id_login Id login Varchar(21) No

Tgl_pinjam Tangal peminjaman

Datetime No

Tgl_harus_kembali Tanggal harus kembali

Datetime No

Tgl_kembali Tanggal kembali Datetime No

Ket Keterangan Varchar(100) No

Status Status peminjaman Int(11) No

Primary Key Id_peminjaman

(72)

ON UPDATE CASCADE ON DELETE NO ACTION

Foreign Key Id_login References M s_user

ON UPDATE CASCADE ON DELETE NO ACTION

Table 4.29 Table Relasi Peminjaman Detail

Nama Entity Attribute Description Data Types

and Length

Null

Tr_peminjaman _detail

Id_peminjaman Id peminjaman Int(11) No

Id_buku Id buku Varchar(17) No

Kd_jenis Kode jenis Int(11) No

Denda Denda keterlambatan

Bigint(20) No

Primary Key Id_peminjaman, id_buku

Foreign Key Id_peminjaman References Peminjaman

ON UPDATE CASCADE ON DELETE NO ACTION

Foreign Key Id_buku References Ms_buku

ON UPDATE CASCADE ON DELETE NO ACTION

(73)

ON UPDATE CASCADE ON DELETE NO ACTION

Table 4.30 Table Relasi Jenis_pinjaman

Nama Entity Attribute Description Data Types

and Length

Null

Jenis_pinjaman Kd_jenis Kode jenis

pinjaman

Int(11) No

Nama_jenis Nama jenis pinjaman

Varchar(10) No

Primary Key Kd_jenis

Table 4.31 Table Relasi Buku_hilang

Nama Entity Attribute Description Data Types

and Length

Null

Buku_hilang Id_buku_hilang Id buku hilang Int(11) No

Id_buku Id buku Varchar(17) No

Id_peminjaman Id peminjaman Int(11) No

Id_login Id login Varchhar(21) No

(74)

Tanggal Tanggal buku hilang

Datetime No

Status Status pelaporan

buku hilang

Varchar(20) No

Ket Keterangan Varchar(20) No

Primary Key Id_buku_hilang

Foreign Key Id_peminjaman References Peminjaman

ON UPDATE CASCADE ON DELETE NO ACTION

Foreign Key Id_anggota References Ms_anggota

ON UPDATE CASCADE ON DELETE NO ACTION

Foreign Key Id_login References M s_user

ON UPDATE CASCADE ON DELETE NO ACTION

Foreign Key Id_buku References Ms_buku

(75)

Table 4.32 Table Relasi Penggantian

Nama Entity Attribute Description Data Types

and Length

Null

Penggantian Id_penggantian Id penggantian Int(11) No

Id_buku_hilang Id buku hilang Int(11) No

Id_login Id login Varchar(21) No

Id_anggota Id anggota Varchar(17)  No

Tanggal Tanggal penggantian

Datetime No

Status Status penggatian Varchar(20) No

Primary Key Id_penggantian

Foreign Key Id_buku_hilang References Buku_hilang

ON UPDATE CASCADE ON DELETE NO ACTION

Foreign Key Id_buku References Ms_buku

ON UPDATE CASCADE ON DELETE NO ACTION

Foreign Key Id_anggota References Ms_anggota

ON UPDATE CASCADE ON DELETE NO ACTION

Foreign Key Id_login References M s_user

(76)

4.1.3.2 Merancang Enterprise Constraint

Dalam hal ini tidak terdapat enterprise constraint sesuai dengan yang berlaku di Sekolah.

4.1.3.3 Merancang Representatif Fisikal

Tahapan ini bertujuan untuk menentukan data secara optimal untuk menyimpan relasi yang dibutuhkan agar dapat di terima dengan baik

4.1.3.3.1 Analisa Transaksi

Analisa transaksi ini untuk memahami fungsional dari transaksi terhadap relasi yang ada. Untuk memudahkan menganalisa maka di gunakan transaction / relation cross-reference matrix (matriks referential silang transaksi / relasi).

Berikut ini adalah transaksi yang dilakukan :

a) M emasukkan data Anggota

b) M emasukkan data Pendataan Buku

c) M emasukkan data Peminjaman dan Pengembalian Buku

d) M emasukkan data Feedback

(77)

f) M emasukkan data Penggantian Buku

g) M emasukkan data Sirkulasi Peminjaman

h) M engubah dan menghapus data Anggota

i) M engubah dan menghapus data Pendataan Buku

j) M engubah data Peminjaman dan Pengembalian Buku

k) M engubah dan menghapus data Feedback

l) M engubah dan menghapus data Buku Hilang

m) M engubah data Penggantian Buku

n) M engubah data Sirkulasi Peminjaman

Tabel 4.33 Tabel Analisis Transaksi ( 1 )

A B C D Transaksi Relasi I R U D I R U D I R U D I R U D Ms_siswa X X Ms_siswa_angkatan X Ms_siswa_kelas X

(78)

Ms_pegawai X X Jabatan X Ms_umum X X Ms_anggota X X Jenis_anggota X Ms_user Ms_jenis_user Feedback X Ms_buku X X Ms_rak X X Ms_penerbit X X Ms_bahasa X X Jenis_buku X X Ms_rak X X Jenis_koleksi X X Ms_supplier X Jenis_supplier X

(79)

Pengadaan X Tr_pengadaan_detail X Penggantian Buku_hilang Peminjaman X Tr_peminjaman_deta il X Jenis_pinjaman X Keterangan :

a) M emasukkan data Anggota

b) M emasukkan data Pendataan Buku

c) M emasukkan data Peminjaman dan Pengembalian Buku

d) M emasukkan data Feedback

Tabel 4.34 Tabel Analisis Transaksi ( 2 )

E F G H

Transaksi

(80)

I R U D I R U D I R U D I R U D Ms_siswa X X X X Ms_siswa_angkatan X X Ms_siswa_kelas X X Ms_pegawai X X X X Jabatan X X Ms_umum X X X X Ms_anggota X X X X Jenis_anggota X X X X Ms_user X X X Ms_jenis_user Feedback Ms_buku X X X Ms_rak X Ms_penerbit X Ms_bahasa X Jenis_buku X

(81)

Ms_rak X Jenis_koleksi X Ms_supplier Jenis_supplier Pengadaan X Tr_pengadaan_detail X Penggantian X X Buku_hilang X X Peminjaman X X X Tr_peminjaman_deta il X X Jenis_pinjaman X X Keterangan :

e) M emasukkan data Buku Hilang

f) M emasukkan data Penggantian Buku

g) M emasukkan data Sirkulasi Peminjaman

(82)

Tabel 4.35 Tabel Analisis Transaksi ( 3 ) I J K L Transaksi Relasi I R U D I R U D I R U D I R U D Ms_siswa Ms_siswa_angkatan Ms_siswa_kelas Ms_pegawai Jabatan Ms_umum Ms_anggota X X Jenis_anggota Ms_user X X X X Ms_jenis_user Feedback X X Ms_buku X X X

(83)

Ms_rak X X Ms_penerbit X X Ms_bahasa X X Jenis_buku X X Ms_rak X X Jenis_koleksi X X Ms_supplier X X Jenis_supplier X X Pengadaan X X Tr_pengadaan_detail X X Penggantian Buku_hilang X X Peminjaman X Tr_peminjaman_deta il X Jenis_pinjaman X Keterangan :

(84)

j) M engubah data Peminjaman dan Pengembalian Buku

k) M engubah dan menghapus data Feedback

l) M engubah dan menghapus data Buku Hilang

Tabel 4.36 Tabel Analisis Transaksi ( 4 )

M N Transaksi Relasi I R U D I R U D Ms_siswa Ms_siswa_angkatan Ms_siswa_kelas Ms_pegawai Jabatan Ms_umum Ms_anggota X X Jenis_anggota Ms_user X X

(85)

Ms_jenis_user Feedback Ms_buku X X Ms_rak Ms_penerbit Ms_bahasa Jenis_buku Ms_rak Jenis_koleksi Ms_supplier Jenis_supplier Pengadaan X Tr_pengadaan_detail X Penggantian X Buku_hilang Peminjaman X Tr_peminjaman_deta il X

(86)

Jenis_pinjaman X

Keterangan :

m) M engubah data Penggantian Buku

n) M engubah data Sirkulasi Peminjaman

4.1.3.3.2 Pemilihan DBMS

Sebelum memilih DBM S yang akan dibuat, terlebih dahulu akan dijelaskan mengenai perbandingan 3 DBM S yang menjadi pilihan yaitu M icrosoft acces, M icrosoft SQL server 2000, dan mysql. Berikut ini adalah table yang menunjukan perbandingan ketiga DBM S :

M icrosoft Access M icrosoft SQL server 2000

MySQL

Hanya dapat berjalan di OS windows

Hanya dapat berjalan di OS windows

Dapat berjalan pada berbagai O S Hardware minimum Intel Pentium 166 MHz atau AM D k6-II, 32 M B Ram, 40GB Hardisk Hardware minimum Intel Pentium 166 MHz atau AM D k6-II, 32 M B Ram, 60GB Hardisk Hardware minimum Intel Pentium 166 MHz atau AM D k6-II, 32 M B Ram, 40GB Hardisk

(87)

Security kurang Security baik Security baik

Performance kurang Performance tinggi Performance sedang

Table 4.37 Tabel Perbandingan DBMS

Berdasarkan hasil yang diperoleh dari table perbandingan di atas, dapat disimpulkan pemilihan DBM S yang sesuai Perpustakaan BPPT adalah M ySQL dikernakan DBM S tersebut dari segi penggunaan OS dan hardware memungkinkan berjalan melalui OS LINUX, walau dari segi performance setidaknya MySQL dapat memenuhi kebutuhan yang akan dibuat.

4.1.3.3.3 Pemilihan Indeks

Pemilihan indeks ini dibuat agar memudahkan proses pencarian. Berikut ini adalah daftar indeks untuk masing-masing table yang ada :

Nama Tabel Indeks Nama Indeks

Ms_siswa Nis (Primary Index)

Nama (Secondary Index)

Idx_Nis

Idx_Nama

Ms_siswa_angkatan Id_angkatan(Primary Index) Idx_ Id_angkatan

Ms_siswa_kelas Id_kelas(Primary Index) Idx_ Id_kelas

(88)

Nama(Secondary Index) Idx_Nama

Jabatan Id_jabatan(Primary Index)

Nama(Secondary Index)

Idx_Id_jabatan

Idx_Nama

Ms_umum Id_umum(Primary Index)

Nama(Secondary Index)

Idx_Id_umum

Idx_Nama

Ms_anggota Id_anggota(Primary Index) Idx_Id_anggota

Jenis_anggota Id_jenis_anggota(Primary Index)

Idx_Id_jenis_anggota

Ms_user Id_login(Primary Index) Idx_Id_login

Ms_jenis_user Id_jenis_user(Primary Index) Idx_Id_jenis_user

Feedback Id_feedback(Primary Index) Idx_Id_feedback

Ms_buku Judul_buku(Primary Index)

Id_buku(Secondary Index)

Idx_Judul_buku

Idx_Id_buku

Ms_penerbit Nama(Primary Index)

Id_penerbit(Secondary Index)

Idx_Nama

Idx_Id_penerbit

Ms_bahasa Bahasa(Primary Index)

Id_bahasa(Secondary Index)

Idx_Bahasa

Idx_Id_bahasa

(89)

Ms_rak Kd_rak(Primary Index) Idx_Kd_rak

Jenis_koleksi Id_jenis_koleksi(Primary Index)

Idx_Id_jenis_koleksi

Ms_supplier Nama(Primary Index)

Id_supplier(Secondary Index)

Idx_Nama

Jenis_supplier Id_jenis_supplier(Primary Index)

Idx_Id_jenis_supplier

Pengadaan Id_pengadaan(Primary Index) Idx_Id_pengadaan

Tr_pengadaan_detail Id_pengadaan(Primary Index) Idx_Id_pengadaan

Penggantian Id_penggantian(Primary Index) Idx_Id_penggantian Buku_hilang Id_buku_hilang(Primary Index) Idx_Id_buku_hilang Peminjaman Id_peminjaman(Primary Index) Idx_Id_peminjaman Tr_peminjaman_detail Id_peminjaman(Primary Index) Idx_Id_peminjaman

Jenis_pinjaman Kd_jenis(Primary Index)

Nama_jenis(Secondary Index)

Idx_Kd_jenis

Idx_Nama_jenis

(90)

4.1.3.3.4 Estimasi Kebutuhan Memory

Pada tahap ini dilakukan penghitungan estimasi kebtuhan data penyimpanan selama setahun

Nama Entity Attribute Data Types

and Length

Ukuran

Ms_siswa Nis Varchar(17) 18 bytes

Id_angkatan int(11) 44 bytes

Id_kelas int(11) 44 bytes

Nama Varchar(50) 51 bytes

Tabel 4.39 Tabel Perhitungan Ms_siswa

Total kebutuhan memory maksimal untuk table M s_siswa adalah sebesar 157 bytes. Jumlah data pada tabel M s_siswa diperkirakan sebanyak 1200, kebutuhan memory maksimal untuk M s_siswa sebesar 1200 anggota x 157 = 183.98 Kbytes. asumsi Total kebutuhan memory maksimal selama 1 tahun sebesar 183.98 Kbytes.

(91)

Nama Entity Attribute Data Types and Length

Ukuran

Ms_siswa_angk atan

Id_angkatan Int(11) 44 bytes

Id_kelas Int(11) 44 bytes

Nama_angkatan Varchar(10) 11 byte

Table 4.40 Table Perhitungan Ms_siswa_angkatan

Total kebutuhan memory maksimal untuk table Ms_siswa_angkatan adalah sebesar 99 bytes. Jumlah data pada tabel Ms_siswa_anggota diperkirakan sebanyak 1 angkatan per tahun, kebutuhan memory maksimal untuk M s_siswa_angkatan sebesar 1200 anggota x 99= 116.02 Kbytes. Total kebutuhan memory maksimal selama 1 tahun sebesar 116.02 Kbytes.

Nama Entity Attribute Data Types

and Length

Ukuran

Ms_siswa_kelas Id_kelas Int(11) 44 bytes

Nama_kelas Varchar(6) 7 bytes

Table 4.41 Tabel Perhitungan Ms_siswa_kelas

Total kebutuhan memory maksimal untuk table Ms_siswa_kelas adalah sebesar 51 bytes. Jumlah data pada tabel M s_siswa_kelas

(92)

diperkirakan sebanyak 1 angkatan per tahun per 9 kelas, kebutuhan memory maksimal untuk M s_siswa_kelas sebesar 1200 anggota x 51 = 59.77 Kbytes. Total kebutuhan memory maksimal selama 1 tahun sebesar 59.77 Kbytes.

Nama Entity Attribute Data Types

and Length

Ukuran

Ms_umum Id_umum Varchar(17) 18 bytes

Nama Varchar(50) 51 bytes

Table 4.42 Tabel Perhitungan Ms_umum

Total kebutuhan memory maksimal untuk table M s_umum adalah sebesar 69 bytes. Jumlah data pada tabel M s_umum diperkirakan sebanyak 200, kebutuhan memory maksimal untuk M s_umum sebesar 200 anggota x 69 = 13.48 Kbytes. Di asumsikan perbulan mendapatkan 2 orang. Total kebutuhan memory maksimal selama 1 tahun sebesar 13.48 + (2 x 0.067 x 12) = 15.088 Kbytes.

(93)

Nama Entity Attribute Data Types and Length

Ukuran

Ms_pegawai NIP Varchar(17) 18 bytes

Nama Varchar(50) 51 bytes

Id_jabatan Int(11) 44 bytes

Periode_awal Year 8 bytes

Periode_akhir Year 8 bytes

Status Int(11) 44 bytes

Table 4.43 Tabel Ms_pegawai

Total kebutuhan memory maksimal untuk table M s_pegawai adalah sebesar 173 bytes. Jumlah data pada tabel Ms_pegawai diperkirakan sebanyak 200, kebutuhan memory maksimal untuk Ms_pegawai sebesar 200 anggota x 173 = 33.79 Kbytes. Total kebutuhan memory maksimal selama 1 tahun sebesar 33.79 Kbytes.

Nama Entity Attribute Data Types

and Length

Ukuran

Jabatan Id_jabatan Int(11) 44 bytes

Nama_jabatan Varchar(50) 51 bytes

(94)

Total kebutuhan memory maksimal untuk table Jabatan adalah sebesar 95 bytes. Jumlah data pada tabel Jabatan diperkirakan sebanyak 200, kebutuhan memory maksimal untuk Jabatan sebesar 200 anggota x 95= 18.55 Kbytes. Total kebutuhan memory maksimal selama 1 tahun sebesar 18.55 Kbytes.

Nama Entity Attribute Data Types

and Length

Ukuran

Ms_anggota Id_anggota Varchar(17) 18 bytes

Nip Varchar(17) 18 bytes

Id_umum Varchar(17) 18 bytes

Nis Varchar(17) 18 bytes

Id_login Varchar(21) 22 bytes

Id_jenis_anggota Int(11) 44 bytes

Jenis_kelamin int(11) 44 bytes

Alamat Varchar(100) 101 bytes

Telepon Varchar(15) 16 bytes

Hp Varchar(15) 16 bytes

(95)

Tanggal_daftar DATETIM E 8 bytes

Tabel 4.45 Tabel Perhitungan Ms_anggota

Total kebutuhan memory maksimal untuk table M s_anggota adalah sebesar 374 bytes. Jumlah data pada tabel M s_anggota diperkirakan sebanyak 1200 anggota, kebutuhan memory maksimal untuk Ms_anggota sebesar 1200 anggota x 374 = 438.28 Kbytes. Total kebutuhan memory maksimal selama 1 tahun sebesar 438.28 Kbytes.

Nama Entity Attribute Data Types

and Length

Ukuran

Jenis_anggota Id_jenis_anggota Int(11) 44 bytes

Nama Varchar(33) 34 bytes

Ket Varchar(50) 51 bytes

Tabel 4.46 Tabel Perhitungan Jenis_anggota

Total kebutuhan memory maksimal untuk table Jenis_anggota adalah sebesar 129 bytes. Jumlah data pada tabel Jenis_anggota diperkirakan sebanyak 1200 anggota, kebutuhan memory maksimal untuk Ms_anggota sebesar 1200 anggota x 129 = 151.17 Kbytes. Total kebutuhan memory maksimal selama 1 tahun sebesar 151.17 Kbytes.

(96)

Nama Entity Attribute Data Types and Length

Ukuran

Ms_buku Id_buku Varchar(17)  18 bytes

Id_penerbit Int(11) 44 bytes

Id_jenis_buku Int(11) 44 bytes

Id_bahasa Int(11) 44 bytes

Kd_rak Varchar(5) 6 bytes

Id_jenis_koleksi Varchar(5) 6 bytes

Judul_buku Varchar(55) 56 bytes

Pengarang Varchar(50) 51 bytes

Edisi Int(11) 44 bytes

Editor Varchar(50) 51 bytes

Tebal_hal Int(11) 44 bytes

Tahun_terbit Year 4 bytes

ISBN Varchar(20) 21 bytes

Asal_buku Int(11) 44 bytes

Status Int(11) 44 bytes

(97)

Total kebutuhan memory maksimal untuk table M s_buku adalah sebesar 521 bytes. Jumlah data pada tabel M s_buku diperkirakan sebanyak 1000 buku, kebutuhan memory maksimal untuk M s_buku sebesar 1000 buku x 521= 508.79 Kbytes. Asumsi perkiraan perkembangan ms_buku sebanyak 100 buku per tahun. Total kebutuhan memory maksimal selama 1 tahun sebesar 508.79 Kbytes x 100 = 50879 Kbytes.

Nama Entity Attribute Data Types

and Length

Ukuran

Jenis_buku Id_jenis_buku Int(11) 44 bytes

Nama Varchar(50) 51 bytes

Tabel 4.48 Tabel Perhitungan Jenis_buku

Total kebutuhan memory maksimal untuk table Jenis_buku adalah sebesar 95 bytes. Jumlah data pada tabel Jenis_buku diperkirakan sebanyak 50 buku, kebutuhan memory maksimal untuk Jenis_buku sebesar 50 jenis x 95= 4.64 Kbytes. Asumsi perkiraan perkembangan Jenis_buku sebanyak 5 buku per 2 bulan. Total kebutuhan memory maksimal selama 1 tahun sebesar 4.64 Kbytes x 5 x 6 = 139.16 Kbytes.

(98)

Nama Entity Attribute Data Types and Length

Ukuran

Jenis_koleksi Id_jenis_koleksi Varchar(5) 6 bytes

Nama_koleksi Varchar(55) 56 bytes

Tabel 4.49 Tabel Perhitungan Jenis_koleksi

Total kebutuhan memory maksimal untuk table Jenis_koleksi adalah sebesar 62 bytes. Jumlah data pada tabel Jenis_koleksi diperkirakan sebanyak 10 koleksi, kebutuhan memory maksimal untuk Jenis_koleksi sebesar 10 jenis x 62 = 0.605 Kbytes. Asumsi perkiraan perkembangan Jenis_koleksi sebanyak 5 buku per bulan. Total kebutuhan memory maksimal selama 1 tahun sebesar 0.605 Kbytes x 5 x 12 = 36.3 Kbytes.

Nama Entity Attribute Data Types

and Length

Ukuran

Ms_supplier Id_supplier Int(11) 44 bytes

Id_jenis_supplier Int(11) 44 bytes

Nama Varchar(40) 41 bytes

Alamat Varchar(100) 101 bytes

(99)

Cp Varchar(30) 31 bytes

Cp_telepon Varchar(15) 16 bytes

Tanggal Datetime 8 bytes

Ket Varcahr(100) 101 bytes

Tabel 4.50 Tabel Perhitungan Ms_supplier

Total kebutuhan memory maksimal untuk table M s_supplier adalah sebesar 402 bytes. Jumlah data pada tabel M s_supplier diperkirakan sebanyak 100 supplier , kebutuhan memory maksimal untuk Ms_supplier sebesar 100 supplier x 402 = 39.26 Kbytes. Asumsi perkiraan perkembangan M s_supplier sebanyak 1 orang per bulan. Total kebutuhan memory maksimal selama 1 tahun sebesar 39.26 Kbytes x 1 x 12 = 471 Kbytes.

Nama Entity Attribute Data Types

and Length

Ukuran

Jenis_supplier Id_jenis_supplier Int(11) 44 bytes

Nama Varchar(30) 31 bytes

Tabel 4.51 Tabel Perhitungan Jenis_supplier

Total kebutuhan memory maksimal untuk table Jenis_supplier adalah sebesar 75 bytes. Jumlah data pada tabel Jenis_supplier diperkirakan sebanyak 3 jenis supplier , kebutuhan memory maksimal

Gambar

Gambar 4.2  ERD Konseptual Dengan Primary Key
Tabel 4.6 Tabel Model Data Logikal dengan relasi antara Primary Key dan  Foreign Key
Gambar 4.6 Gambar ERD Logikal
Gambar 4.15  S TD Menu Admin
+7

Referensi

Dokumen terkait

Perubahan ketiga Undang-undang Dasar Negara Republik Indonesia Tahun 1945 mengatur hal baru dalam hal Kekuasaan Kehakiman, antara lain pengaturan tentang

Berdasarkan hasil perhitungan dapat diketahui bahwa koefisien determinasi (R 2 ) adalah sebesar 0,130 yang memberikan arti bahwa variabel prestasi belajar

Maksud dari pengukuran azimuth matahari adalah untuk mendapatkan nilai tinggi matahari, koreksi refraksi, koreksi paralaks, koreksi ½ diameter

Data kuantitatif merupakan data yang digunakan untuk mengetahui ada tidaknya peningkatan kemampuan berpikir kreatif dan logis matematis siswa yang mendapat

Berdasarkan uji statistik, perbedaan skor komponen durasi tidur, penggunaan obat tidur, dan gangguan tidur antara kelompok yang rutin dan yang tidak rutin

didefinisikan mengalami keracunan akut sianida bila kadar sianida serumnya  0.5 mg/L. Tapi kadar sianida serum tidak bisa dijadikan parameter untuk menentukan

Setelah mengamati nilai pretest dan posttest dari seluruh indikator minat belajar diketahui bahwa rata-rata nilai pretest sebesar 66,75 dan rata-rata nilai posttest sebesar

Dan untuk fasilitas penunjang kegiatan dalam rangka pelayanan kepada masyarakat, Unit PPA Polres Mataram saat ini telah memiliki Ruangan Pelayanan Khusus (RPK) yang