Senin, 25 Maret 2013





contoh Normalisasi


 Contoh Perancangan Basis Data Pengolahan Nilai
Posted by jauharulali






4 Votes

http://jauharulali.files.wordpress.com/2010/08/database3.jpeg?w=259&h=193
1. KASUS PERANCANGAN BASIS DATA
Perancangan basis data pengolahan nilai (school)
2. ENTITAS
http://jauharulali.files.wordpress.com/2010/08/entitas1.png?w=300&h=94
3. ATRIBUT
atribut
4. MENGHUBUNGKAN ANTAR ENTITAS (ERD)
erd
Catatan : ERD diatas belum selesai…silahkan dikembangkan ! :D
5. TRANSFORMASI KE TABLE DATABASE
Aturan umum dalam pemetaan model data yang digambarkan dengan ER menjadi basis data fisik (level fisik dlm abstraksi data).
Contoh (hanya 1), tabel lainnya di coba sendiri :D  :
transformasi
6. NORMALISASI
- Dokumen dasar yang akan dinormalisasi :
khs

– Tahap 1 : Unnormalisasi (Belum dinormalisasi)
nis
nama
jurusan
thn_ajaran
semester
kd_mapel
nama_mapel
nilai
predikat
506001
Mario
Sistem Informasi
2005/2006
Ganjil
M02
Matematika
A
Baik sekali




Genap
F01
Fisika
A
Baik sekali
506002
Eko Saputra
Sistem Informasi
2005/2006
Ganjil
M02
Matematika
C
Cukup





B03
Biologi
E
Gagal




Genap
F01
Fisika
D
Kurang





K04
Kimia
E
Gagal
– Tahap 2 : 1 NF (Normalisasi 1)
nis
nama
jurusan
thn_ajaran
semester
kd_mapel
nama_mapel
nilai
predikat
506001
Mario
Sistem Informasi
2005/2006
Ganjil
M02
Matematika
A
Baik sekali
506001
Mario
Sistem Informasi
2005/2006
Genap
F01
Fisika
A
Baik sekali
506002
Eko Saputra
Sistem Informasi
2005/2006
Ganjil
M02
Matematika
C
Cukup
506002
Eko Saputra
Sistem Informasi
2005/2006
Ganjil
B03
Biologi
E
Gagal
506002
Eko Saputra
Sistem Informasi
2005/2006
Genap
F01
Fisika
D
Kurang
506002
Eko Saputra
Sistem Informasi
2005/2006
Genap
K04
Kimia
E
Gagal
- Tahap 3 : 2 NF (Normalisasi 2)
Table siswa :
nis
nama
kd_mapel
nama_mapel
nilai
kiteria
kd_jurusan
kd_sem
506001
Mario
M02
Matematika
A
Baik sekali
SI002
20051
506001
Mario
F01
Fisika
A
Baik sekali
SI002
20052
506002
Eko Saputra
M02
Matematika
C
Cukup
SI002
20051
506003
Eko Saputra
B03
Biologi
E
Gagal
SI002
20052
506004
Eko Saputra
F01
Fisika
D
Kurang
SI002
20051
506005
Eko Saputra
K04
Kimia
E
Gagal
SI002
20051
Tabel jurusan :
Kd_Jurusan
Jurusan
TI001
Teknik Informatika
SI002
Sistem Informasi
Table semester :
kd_sem
semester
thn_ajaran
20051
Ganjil
2005/2006
20052
Genap
2005/2006
– Tahap 4 : 3 NF (Normalisasi 3)
Tabel siswa :
nis*
nama
kd_jurusan
506001
Mario
TI001
506002
Eko Saputra
TI001
506003
Achmad
SI002
506004
Budi Santoso
SI002
Table jurusan :
kd_jurusan*
jurusan
TI001
Teknik Informatika
SI002
Sistem Informasi
Table mapel :
kd_mapel*
nama_mapel
F01
Fisika
M02
Matematika
B03
Biologi
K04
Kimia
Table semester :
kd_sem*
semester
thn_ajaran
20051
Ganjil
2005/2006
20052
Genap
2005/2006
Tabel predikat :
nilai*
angka
predikat
A
5
Baik sekali
B
4
Baik
C
3
Cukup
D
2
Kurang
E
1
Gagal
Tabel ambil :
nis
kd_mapel
506001
M02
506001
F01
506002
M02
506002
B03
506002
F01
506002
K04
506003
M02
506003
F01
506004
M02
506004
B03
506004
F01
506004
K04
Tabel nilai :
nis
kd_mapel
nilai
kd_sem
506001
M02
A
20051
506001
F01
A
20051
506002
M02
C
20051
506002
B03
E
20051
506002
F01
D
20052
506002
K04
E
20052
506003
M02
B
20051
506003
F01
C
20051
506004
M02
D
20051
506004
B03
E
20051
506004
F01
D
20052
506004
K04
C
20052
7. MEMBUAT STRUKTUR TABEL
Tabel Jurusan



Field Name
Tipe Data
Field Size
Keterangan
kd_jurusan
Text
5
Primary Key
jurusan
Text
20
Nama jurusan




Tabel Siswa



Field Name
Tipe Data
Field Size
Keterangan
nis



nama



kd_jurusan







Tabel Matapelajaran


Field Name
Tipe Data
Field Size
Keterangan
kd_mapel



nama_mapel







Tabel Semester



Field Name
Tipe Data
Field Size
Keterangan
kd_sem



semester



thn_ajaran







Tabel Predikat



Field Name
Tipe Data
Field Size
Keterangan
nilai



angka



predikat







Tabel Ambil



Field Name
Tipe Data
Field Size
Keterangan
nis



kd_mapel







Tabel Nilai



Field Name
Tipe Data
Field Size
Keterangan
nis



kd_mapel



nilai



kd_sem



8. IMPLEMENTASIKAN KE SEBUAH DATABASE (DBMS)
Misal : disini DBMS yang di pakai yaitu MS. Office Access 2007
a. Membuat database school :
create database school;
b. Membuat tabel-tabelnya :
- Perintah SQL untuk membuat tabel jurusan :
create table jurusan(kd_jurusan text(5), jurusan text(20),  primary key(kd_jurusan));
tjurusan
- Perintah SQL untuk membuat tabel siswa :
create table siswa(nis text(7), nama text(30), kd_jurusan text(5), primary key(nis));
tsiswa
- Perintah SQL untuk membuat tabel mapel :
create table mapel…… teruskan perintahnya !
- Perintah SQL untuk membuat tabel semester :
create table semester… teruskan perintahnya !
- Perintah SQL untuk membuat tabel ambil :
create table ambil…… teruskan perintahnya !
- Perintah SQL untuk membuat tabel predikat :
create table predikat…… teruskan perintahnya !
- Perintah SQL untuk membuat table nilai :
create table nilai……teruskan perintahnya !
Keterhubungan Antar Tabel (Relationship)
relationshiptable

9. PENGUJIAN BASIS DATA
Dalam pengujian basis data ini dilakukan untuk mengetes tabel-tabel yang sudah kita normalisasi apakah sudah normal atau belum. Untuk itu kita mesti mengonsep dulu kebutuhan informasi dari database yang kita buat itu. Tentunya  rencana informasi yang akan ditampilkan adalah tidak keluar dari cakupan database yang kita buat. Contohnya sbb :
a. Kebutuhan Informasi :
1. Menampilkan informasi nilai semester 1 dan 2 tahun ajaran 2005-2006 untuk siswa yang bernama Eko Saputra (nis : 506002)
nis
nama
nama_mp
nilai
kd_smt
Eko Saputra
2. Menampilkan informasi daftar nilai untuk siswa jurusan Teknik Informatika TA 2005-2006
nis
nama
jurusan
nama_mp
nilai
thn_ajaran
Teknik Informatika
b. Perintah SQL :
1. Perintah SQL untuk kebutuhan informasi 1 (Menampilkan informasi nilai semester 1 dan 2 tahun ajaran 2005-2006 untuk siswa yang bernama Eko Saputra (nis : 506002)):
SELECT siswa.nis, siswa.nama, mapel.nama_mp, nilai_mp.nilai, nilai_mp.kd_smt
FROM siswa INNER JOIN (mapel INNER JOIN nilai_mp ON mapel.kode_mp = nilai_mp.kd_mp) ON siswa.nis = nilai_mp.nis
WHERE (((siswa.nis)=”506002″));
2. Perintah SQL untuk kebutuhan informasi 2 (Menampilkan informasi daftar nilai untuk siswa jurusan Teknik Informatika TA 2005-2006):
SELECT siswa.nis, siswa.nama, jurusan.jurusan, mapel.nama_mp, nilai_mp.nilai, smt.thn_ajaran
FROM smt INNER JOIN ((jurusan INNER JOIN siswa ON jurusan.kd_jurusan = siswa.kd_jurusan) INNER JOIN (predikat INNER JOIN ((mapel INNER JOIN ambil ON mapel.kode_mp = ambil.kd_mp) INNER JOIN nilai_mp ON mapel.kode_mp = nilai_mp.kd_mp) ON predikat.nilai = nilai_mp.nilai) ON (siswa.nis = nilai_mp.nis) AND (siswa.nis = ambil.nis)) ON smt.kd_smt = nilai_mp.kd_smt
WHERE (((jurusan.jurusan)=”Teknik Informatika”));
c. Hasil Pengujian :
1. Hasil Pengujian untuk kebutuhan informasi 1 :
uji_1
2. Hasil Pengujian untuk kebutuhan informasi 2 :
uji_2
Untuk baca selengkapnya…silahkan klik file di bawah!
===== Selamat Mencoba, Semoga bermanfaat :)=====