PERANCANGAN BASIS DATA PENGOLAHAN NILAI
Diajukan untuk memenuhi tugas Mata Pelajaran Basis Data
DISUSUN OLEH NAMA
SISWA
NIS.
09101XXXXX
KELAS
XI…./RPL
KOMPETENSI KEAHLIAN RPL SEKOLAH MENENGAH KEJURUAN NEGERI 4 BANDUNG
BANDUNG 2010
1. KASUS PERANCANGAN BASIS DATA Perancangan basis data pengolahan nilai (school)
2. ENTITAS siswa
jurusan
predikat
mata pelajaran
nilai
semester
3. ATRIBUT angka
nm_mapel nama
nis
ttl
kd_mapel
nilai
mata pelajaran
siswa
predikat
Kd_sem nm_jurusan
kd_jurusan
sem thn_ajaran
semester
jurusan
4. MENGHUBUNGKAN ANTAR ENTITAS (ERD) nm_mapel nis
nama
siswa
ttl
kd_mapel
kd_jurusan
memiliki
mata pelajaran
mengambil
nm_jurusan
jurusan
Catatan : ERD diatas belum selesai…silahkan dikembangkan ! ☺
predikat
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 : ttl
nama
nis
siswa
nis
nama
ttl
………..
6. NORMALISASI - Tahap 1 : Unnormalisasi (Belum dinormalisasi) nis
nama
506001 Mario
jurusan Sistem Informasi
thn_ajaran semester
kd_mapel
nama_mapel
2005/2006 Ganjil
M02
Matematika
F01
Fisika
M02 B03 F01 K04
Matematika Biologi Fisika Kimia
Genap Eko 506002 Saputra
Sistem Informasi
2005/2006 Ganjil Genap
nilai predikat Baik A sekali Baik A sekali C E D E
Cukup Gagal Kurang Gagal
- Tahap 2 : 1 NF (Normalisasi 1) nis
nama
506001
Mario
506001
Mario Eko Saputra Eko Saputra
jurusan Sistem Informasi Sistem Informasi Sistem Informasi Sistem Informasi
506002
Eko Saputra
Sistem Informasi
2005/2006
506002
Eko Saputra
Sistem Informasi
2005/2006
506002 506002
thn_ajaran
semester
kd_mapel
nama_mapel
nilai predikat Baik A sekali Baik A sekali
2005/2006
Ganjil
M02
Matematika
2005/2006 Genap
F01
Fisika
2005/2006 2005/2006
Ganjil
M02
Matematika
C
Cukup
Ganjil
B03
Biologi
E
Gagal
Genap
F01
Fisika
D
Kurang
Genap
K04
Kimia
E
Gagal
- Tahap 3 : 2 NF (Normalisasi 2) Table siswa : nis 50600 1 50600 1 50600 2 50600 3 50600 4 50600 5
nama
kd_mapel
nama_mapel
nilai
kiteria
kd_jurusan
kd_sem
Mario
M02
Matematika
A
Baik sekali
SI002
20051
Mario Eko Saputra Eko Saputra Eko Saputra Eko Saputra
F01
Fisika
A
Baik sekali
SI002
20052
M02
Matematika
C
Cukup
SI002
20051
B03
Biologi
E
Gagal
SI002
20052
F01
Fisika
D
Kurang
SI002
20051
K04
Kimia
E
Gagal
SI002
20051
Tabel jurusan : Kd_Jurusan TI001 SI002
Jurusan Teknik Informatika Sistem Informasi
Table semester : kd_sem semester 20051 Ganjil 20052 Genap
thn_ajaran 2005/2006 2005/2006
- Tahap 4 : 3 NF (Normalisasi 3) Tabel siswa : nis* 506001 506002 506003 506004
nama Mario Eko Saputra Achmad Budi Santoso
Table jurusan : kd_jurusan* jurusan Teknik TI001 Informatika SI002 Sistem Informasi
kd_jurusan TI001 TI001 SI002 SI002
Table mapel : kd_mapel* F01 M02 B03 K04
nama_mapel Fisika Matematika Biologi Kimia
Table semester : kd_sem* semester 20051 Ganjil 20052 Genap
thn_ajaran 2005/2006 2005/2006
Tabel predikat : nilai* A B C D E
angka 5 4 3 2 1
Tabel ambil : nis 506001 506001 506002 506002 506002 506002 506003 506003 506004 506004 506004 506004
kd_mapel M02 F01 M02 B03 F01 K04 M02 F01 M02 B03 F01 K04
predikat Baik sekali Baik Cukup Kurang Gagal
Tabel nilai : nis 506001 506001 506002 506002 506002 506002 506003 506003 506004 506004 506004 506004
kd_mapel M02 F01 M02 B03 F01 K04 M02 F01 M02 B03 F01 K04
nilai A A C E D E B C D E D C
kd_sem 20051 20051 20051 20051 20052 20052 20051 20051 20051 20051 20052 20052
7. MEMBUAT STRUKTUR TABEL Tabel Jurusan Field Name kd_jurusan jurusan
Tipe Data
Field Size 5 20
Keterangan Primary Key Nama jurusan
Tipe Data
Field Size
Keterangan
Tipe Data
Field Size
Keterangan
Tipe Data
Field Size
Keterangan
Tipe Data
Field Size
Keterangan
Text Text
Tabel Siswa Field Name nis nama kd_jurusan
Tabel Matapelajaran Field Name kd_mapel nama_mapel
Tabel Semester Field Name kd_sem semester thn_ajaran
Tabel Predikat Field Name nilai angka predikat
Tabel Ambil Field Name
Tipe Data
Field Size
Keterangan
Tipe Data
Field Size
Keterangan
nis kd_mapel
Tabel Nilai Field Name 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));
- Perintah SQL untuk membuat tabel siswa : create table siswa(nis text(7), nama text(30), kd_jurusan text(5), primary key(nis));
- 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)
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 20052006 nis
nama
jurusan
…
nama_mp
Teknik
…
nilai
…
Informatika
thn_ajaran …
…
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
jurusan.kd_jurusan INNER
JOIN
ambil.kd_mp)
JOIN =
((jurusan
INNER
siswa.kd_jurusan)
((mapel
INNER
INNER
JOIN
JOIN
ambil
nilai_mp
JOIN
INNER ON ON
JOIN
siswa
ON
(predikat
mapel.kode_mp mapel.kode_mp
= =
nilai_mp.kd_mp) (siswa.nis
=
ON
predikat.nilai
nilai_mp.nis)
AND
=
nilai_mp.nilai)
(siswa.nis
=
ambil.nis))
smt.kd_smt = nilai_mp.kd_smt WHERE (((jurusan.jurusan)="Teknik Informatika"));
c. Hasil Pengujian : 1. Hasil Pengujian untuk kebutuhan informasi 1 :
2. Hasil Pengujian untuk kebutuhan informasi 2 :
===== Selamat Mencoba, Semoga bermanfaat ☺ =====
ON ON
DAFTAR PUSTAKA Yakub. 2008. Sistem Basis Data. Yogyakarta : Graha Ilmu http://www.ilmukomputer.org