bambangwahyu81.files.wordpress.com · web view(kd_anggota char(6) not null unique primary key,...
TRANSCRIPT
TUGAS INDIVIDU
SISTEM MANAJEMEN BASIS DATA
| | |
SISTEM PENGOLAHAN DATA PERPUSTAKAAN SMA ABC
DISUSUN OLEH :
NAMA: BAMBANG WAHYU SANTOSO
N I M: 101051081
FAKULTAS: TEKNOLOGI INDUSTRI
JURUSAN / JENJANG: TEKNIK INFORMATIKA / S-1
KELOMPOK: SL-1
INSTITUT SAINS & TEKNOLOGI AKPRIND YOGYAKARTA
TAHUN AKADEMIK 2012 / 2012
1. RANCANGAN STRUKTUR TABLE DATABASE BENTUK 3NF
1. Tabel User
No
Nama Feild
Tipe
Karakter
Null
Default
Keterangan
1
nama_user
Varchar
20
No
-
Primary key
2
password
Varchar
20
No
-
3
level_user
char
1
No
5
1=admin. 2=kepala sekolah. 3=kepala perpustakaan. 4=anggota. 5=anggota
2. Tabel tanggal_libur
No
Nama Feild
Tipe
Karakter
Null
Default
Keterangan
1
Tgl_libur
Date
-
No
-
Primary key
2
Ket_libur
varchar
50
No
-
-
3. tabel tarif_denda
No
Nama Feild
Tipe
Karakter
Null
Default
Keterangan
1
Jml_hari_maks
Num
3
No
-
Primary key
2
Jml_denda
Num
7
No
--
-
4. tabel tarif_hilang
No
Nama Feild
Tipe
Karakter
Null
Default
Keterangan
1
Hrg_maks
Num
7
No
-
Primary Key
2
Jml_denda
Num
7
No
-
-
5. tabel tarif_rusak
No
Nama Feild
Tipe
Karakter
Null
Default
Keterangan
1
Hrg_maks
Num
7
No
-
Primary Key
2
Jml_denda
Num
7
No
-
-
6. tabel anggota
No
Nama Feild
Tipe
Karakter
Null
Default
Keterangan
1
Kd_anggota
Char
6
No
-
Primary Key
2
Nama_anggota
Varchar
100
No
-
-
3
Alamat
Varchar
100
No
-
-
4
Kd_kecamatan
Char
6
No
-
Foreign Key
5
Telepon
Varchahr
12
yes
-
-
6
Varchar
20
yes
-
-
7
Tgl_mulai_anggota
Date
No
-
-
8
Jenis_anggota
Char
1
No
2
1=guru/karyawan 2=siswa
9
Status_anggota
Char
1
No
2
1=aktif
2=tidak aktif
7. tabel jenis
No
Nama Feild
Tipe
Karakter
Null
Default
Keterangan
1
Kd_jenis_buku
Char
4
No
-
Primary Key
2
Nama_jenis_buku
varchar
20
No
-
-
8. tabel bidang
No
Nama Feild
Tipe
Karakter
Null
Default
Keterangan
1
Kd_bidang
Char
4
No
-
Primary Key
2
Nama_bidang
varchar
20
No
-
-
9. tabel penerbit
No
Nama Feild
Tipe
Karakter
Null
Default
Keterangan
1
Kd_penerbit
Char
4
-
Primary Key
2
Nama_penerbit
Varchar
40
-
-
3
Alamat
Varchar
100
-
-
4
Kd_kecamatan
Char
6
-
Foreign Key
5
Telepon
Varchar
12
-
-
6
varchar
20
-
-
10. tabel penulis
No
Nama Feild
Tipe
Karakter
Null
Default
Keterangan
1.
Kd_penulis
Char
4
No
-
Primary Key
2.
Nama_penulis
Varchar
100
No
-
-
3
Alamat
Varchar
100
No
-
-
4
Kd_kecamatan
Char
6
No
-
Foreign Key
5
Telepon
Varchar
12
Yes
-
-
6
varchar
20
Yes
-
-
11. tabel propinsi
No
Nama Feild
Tipe
Karakter
Null
Default
Keterangan
1
Kd_propinsi
Char
2
No
-
Primary Key
2
Nama_propinsi
varchar
30
No
-
-
12. tabel Kabupaten
No
Nama Feild
Tipe
Karakter
Null
Default
Keterangan
1
Kd_kabupaten
Char
4
No
-
Primary Key
2
Nama_kabupaten
Varchar
30
No
-
-
3
Kd_propinsi
char
2
No
-
Foreign Key
13. tabel kecamatan
No
Nama Feild
Tipe
Karakter
Null
Default
Keterangan
1.
Kd_kecamatan
Char
6
No
-
Primary Key
2
Nama_kecamatan
Varchar
30
No
-
-
3
Kd_kabupaten
char
4
No
-
Foreign Key
14. tabel pinjam
No
Nama Feild
Tipe
Karakter
Null
Default
Keterangan
1
Kd_pinjam
-
Primary Key
2
Kd_anggota
Char
6
No
-
Primary Key/
Foreign Key
3
Kd_buku
Char
10
No
-
Primary Key/
Foreign Key
4
Tgl_pinjam
Date
No
-
Primary Key/
Foreign Key
5
Tgl_kembali
Date
No
-
-
· Keterangan : kd_pinjam boleh tidak digunakan
15. tabel kembali
No
Nama Feild
Tipe
Karakter
Null
Default
Keterangan
1
Kd_pinjam
Primary Key/
Foreign Key
2
Kd_kembali
Primary Key
3
Kd_anggota
Char
6
No
-
Primary Key/
Foreign Key
4
Kd_buku
Char
10
No
-
Primary Key/
Foreign Key
5
Tgl_pinjam
Date
No
-
Primary Key/
Foreign Key
6
Tgl_kembali
Date
No
-
-
· Keterangan = kd_kembali boleh tidak di gunakan
· Keterangan = jika tabel pinjam tidak menggunakan kd_pinjam, maka harus ada kd_anggota+kd_buku+tgl_pinjam
16. tabel bayar_denda
No
Nama Feild
Tipe
Karakter
Null
Default
Keterangan
1
Kd_kembali
Primary Key/
Foreign Key
2
Kd_anggota
Char
6
No
-
Primary Key/
Foreign Key
3
Kd_buku
Char
10
No
-
Primary Key/
Foreign Key
4
Tgl_pinjam
Date
No
Primary Key/
Foreign Key
5
Tgl_bayar
Date
No
-
-
6
Jml_denda
Num
9
No
0
Dihitung Otomatis
· Keterangan = jika table kembali tidak menggunakan kd_kembali, maka harus ada kd_anggota+kd_buku+tgl_pinjam+tgl_kembali
17. tabel bayar_hilang
No
Nama Feild
Tipe
Karakter
Null
Default
Keterangan
1
Kd_pinjam
Primary Key/
Foreign Key
2
Kd_anggota
Char
No
-
Primary Key/
Foreign Key
3
Kd_buku
Char
No
-
Primary Key/
Foreign Key
4
Tgl_pinjam
Date
No
-
Primary Key/
Foreign Key
5
Tgl_bayar
Date
No
-
-
6
Jml_denda
Num
No
0
Dihitung Otomatis
· Keterangan = jika tabel pinjam tidak menggunakan kd_pinjam, maka harus ada kd_anggota+kd_buku+tanggal_pinjam
18. tabel bayar_rusak
No
Nama Feild
Tipe
Karakter
Null
Default
Keterangan
1
Kd_pinjam
-
Primary Key/
Foreign Key
2
Kd_anggota
Char
6
No
Primary Key/
Foreign Key
3
Kd_buku
Char
10
No
Primary Key/
Foreign Key
4
Tgl_pinjam
Date
No
Primary Key/
Foreign Key
5
Tgl_bayar
Date
No
-
6
Jml_denda
Num
9
No
Dihitung Otomatis
· Keterangan = jika table pinjam tidak menggunakan kd_pinjam, maka harus ada kd_anggota+kd+kd_buku+tgl_pinjam
19. tabel buku
No
Nama Feild
Tipe
Karakter
Null
Default
Keterangan
1
Kd_buku
Char
10
No
-
Primary Key
2
Judul_buku
Varchar
100
No
-
-
3
Kd_jenis
Char
4
No
-
Foreign Key
4
Kd_bidang
Char
4
No
-
Foreign Key
5
Kd_penulis
Char
4
No
-
Foreign Key
6
Kd_penerbit
Char
4
No
-
Foreign Key
7
Jumlah
Num
1
No
-
-
8
Bahasa
Char
1
No
1
1=Indonesia
2=asing
9
Isbn
Char
12
No
-
-
10
Tahun
Char
4
No
-
-
11
Jml_halaman
Num
1
No
-
-
12
Edisi
Char
1
No
1
-
13
Cetakan_ke
Char
1
No
1
-
14
status
Char
1
No
1
1=baik
2=rusak
2. DIAGRAM KERELASIAN ANTAR TABLE
3. SCHEMA DATABASE DENGAN DDL
MEMBUAT DATABASE
create database dbperpustakaan;
MEMILIH DATABASE YANG AKAN DIGUNAKAN
use dbperpustakaan
PEMBUATAN TABLE-TABLE DENGAN SYNTAX SQL
create table user (user_nama varchar(5) not null unique primary key, password varchar(20) not null, level_user char(1) default ‘5’check(level_user=‘1’ or level_user=‘2’ or level_user=‘3’ or level_user=‘4’ or level_user=‘5’));
create table tanggal_libur (tgl_libur date not null unique primary key, ket_libur varchar(50) not null);
create table tarif_denda ( jml_hari_maks tinyint(3) not null unique primary key, jml_denda mediumint(9) not null);
create table tarif_hilang (hrg_maks mediumint (9) not null unique primary key, jml_denda mediumint(9) not null);
create table tarif_rusak (hrg_maks mediumint (9) not null unique primary key, jml_denda mediumint(9) not null);
create table anggota (kd_anggota char(6) not null unique primary key, nama_anggota varchar(100) not null, alamat varchar(100) not null, kd_kecamatan char(6) not null, telepon varchar(12), email varchar(20), tgl_mulai_anggota date not null, jenis_anggota char(1) not null default ‘2’ check(jenis_anggota=‘1’ or jenis_anggota=‘2’), status_anggota char(1) not null default ‘1’ check(status_anggota=‘1’ or status_anggota=‘2’), foreign key(kd_kecamatan) references kecamatan on update cascade on deletecascade;
create table jenis (kd_jenis_buku char(4) not null unique primary key,
nama_jenis_buku varchar(20) not null;
create table bidang (kd_bidang char(4) not null unique primary key, nama_bidang varchar(20) not null;
create table penerbit (kd_penerbit char(4) not null unique primary key, nama_penerbit varchar(30) not null, alamat varchar(100) not null, kd_kecamatan char(6) not null, telepon varchar(12), email varchar(20), foreign key(kd_kecamatan) references kecamatan on update cascade on delete cascade;
create table penulis (kd_penulis char(4) not null unique primary key, nama_penulis varchar(100) not null, alamat varchar(100) not null, kd_kecamatan char(6) not null,
telepon varchar(12), email varchar(20), foreign key(kd_kecamatan) references kecamatan on update cascade on delete cascade;
create table propinsi (kd_propinsi char(2) not null unique primary key, nama_propinsi varchar(30) not null;
create table kabupaten (kd_kabupaten char(4) not null unique primary key,
nama_kabupaten varchar(30) not null, kd_propinsi char(2) not null, foreign key(kd_propinsi) references propinsi on update cascade on delete cascade;
create table kecamatan (kd_kecamatan char(6) not null unique primary key,
nama_kecamatan varchar(30) not null, kd_kabupaten char(4) not null,
foreign key(kd_kabupaten) references kabupaten on update cascade on delete cascade;
create table pinjam (kd_anggota char(6) not null,
kd_buku char(10) not null, tgl_pinjam date not null,
tgl_ kembali date not null, foreign key(kd_anggota) references anggota on update cascade on delete cascade, foreign key(kd_buku) references buku on update cascade on delete cascade, primary key(kd_anggota, kd_buku, tanggal_pinjam);
create table kembali (kd_anggota char(6) not null, kd_buku char(10) not null, tgl_pinjam date not null, tgl_ kembali date not null, foreign key(kd_anggota, kd_buku, tgl_pinjam) references pinjam on update cascade on delete cascade primary key(kd_anggota, kd_buku, tgl_pinjam);
create table bayar_denda (kd_anggota char(6) not null, kd_buku char(10) not null, tgl_pinjam date not null, tgl_bayar date not null, jml_denda mediumint(9), foreign key(kd_anggota, kd_buku, tgl_pinjam) references kembali on update cascade on delete cascade primary key(kd_anggota, kd_buku, tgl_pinjam);
create table bayar_hilang (kd_anggota char(6) not null, kd_buku char(10) not null, tgl_pinjam date not null, tgl_bayar date not null, jml_denda mediumint(9), foreign key(kd_anggota, kd_buku, tgl_pinjam) references pinjam on update cascade on delete cascade primary key(kd_anggota, kd_buku, tgl_pinjam);
create table bayar_rusak (kd_anggota char(6) not null, kd_buku char(10) not null, tgl_pinjam date not null, tgl_bayar date not null, jml_denda mediumint(9), foreign key(kd_anggota, kd_buku, tgl_pinjam) references pinjam on update cascade on delete cascade primary key(kd_anggota, kd_buku, tgl_pinjam);
create table buku (kd_buku char(10) not null unique primary key, judul_buku varchar(100) not null, kd_jenis char(4) not null, kd_bidang char(4) not null, kd_penulis char(4) not null, kd_penerbit char(4) not null, jumlah tinyint(2) not null, bahasa char(1) not null default ‘1’ check(bahasa=‘1’ or bahasa=‘2’), isbn char(12) not null, tahun char(4) nor null, jml_halaman mediumint(4) not null, edisi char(1) not null, cetakan_ke char(1) not null, status char(1) default ‘1’ check(status=’1’ or status=’2’), foreign key(kode_jenis) references jenis on update cascade on delete cascade, foreign key(kode_bidang) references bidang on update cascade on delete cascade, foreign key(kode_penulis) references penulis on update cascade on delete cascade, foreign key(kode_penerbit) references penerbit on update cascade on delete cascade;