Disusun Oleh:
Nadiratin Jamilah
(150535601300)
Nimatu Rohmah
(150535602460)
S1 TI 2015OFF B
MODUL III
Tujuan
kejadian.
Mampu menyelesaikan kasus-kasus manipulasi data yang kompleks
dengan memanfaatkan normalisasi.
2.
Dasar Teori
A. BEBERAPA DEFINISI NORMALISASI
Normalisasi adalah suatu proses memperbaiki / membangun dengan
model data relasional, dan secara umum lebih tepat dikoneksikan
dimodifikasi.
Normalisasi dapat berguna dalam menjawab 2 pertanyaan mendasar
yaitu: apa yang dimaksud dengan desain database logical? dan apa
yang dimaksud dengan desain database fisikal yang baik? What is
kuliah saja.
Setiap matakuliah mempunyai uang kuliah yang standar
(tidak tergantung pada mahasiswa yang mengambil
matakuliah tersebut).
Tabel 9.1 Relasi Kuliah
NIM KODE-MTK BIAYA
92130 CS-200
75
92200 CS-300
100
92250 CS-200
75
92425 CS-400
150
92500 CS-300
100
92575 CD-500
50
Relasi Kuliah di atas merupakan sebuah relasi yang sederhana dan terdiri dari
kolom / atribut. Bila diteliti secara seksama, maka akan ditemukan redundancy
pada datanya, dimana biaya kuliah selalu berulang pada setiap mahasiswa.
Akibatnya besar kemungkinan terjadi error atau inkonsistensi data, bila dilakukan
update terhadap relasi tersebut dengan Anomaly. Anomaly merupakan
penyimpangan-penyimpangan atau error atau inkonsistensi data yang terjadi pada
saat dilakukan proses delete, insert ataupun modify dalam suatu basis data.
B. MACAM-MACAM PENYIMPANGAN (ANOMALY)
INSERTION ANOMALY
Insertion Anomaly, merupakan error atau kesalahan yang terjadi sebagai
akibat dari operasi menyisipkan (insert) tuple / record pada sebuah relasi.
Contoh: ada matakuliah baru (CS-600) yang akan diajarkan, maka matakuliah\
tersebut tidak bisa di insert / disisipkan ke dalam Relasi Kuliah di atas sampai ada
mahasiswa yang mengambil matakuliah tersebut.
DELETE ANOMALY
Delete Anomaly merupakan error atau kesalahan yang terjadi sebagai
akibat operasi penghapusan (delete) terhadap tupe / record dari sebuah relasi.
Contoh: mahasiswa dengan NIM 92425 (pada Relasi Kuliah di atas),
memutuskan untuk batal ikut kuliah CS-400, karena ia merupakan satu-satunya
peserta matakuliah tersebut, maka bila record / tuple tersebut dihapus / delete akan
berakibat hilangnya informasi bahwa mata kuliah CS400, biayanya 150.
UPDATE ANOMALY
Update Anomaly merupakan error atau kesalahan yang terjadi sebagai
akibat oerasi perubahan (update) tuple / record dari sebuah relasi.
Contoh: biaya kuliah untuk matakuliah CS-200 (pada relasi kuliah di atas) akan
dinaikkan dari 75 menjadi 100, maka harus dilakukan beberapa kali modifikasi
terhadap record-record atau tuple-tuple mahasiswa yang mengambil matakuliah
CS-200 tersebut, agar data teap konsisten.
A. Tugas Praktikum
Create Database
Query
Create database tokobuku;
Printscreen
Penjelasan
Membuat database dengan nama tokobuku1 pada SQL
editor pada database postgresql. Dengan mengetikkan query create
database tokobuku1; kemudian eksekusi query.
Create Table
Query
- Membuat tabel buku (table universal)
create table buku(id_buku int, judul varchar(50), penulis
name, jenis_buku varchar(20), harga int, penerbit
varchar(35));
select*from buku;
insert
harga,
values
55000,
Printscreen
Analisa
Membuat tabel dengan nama buku atau disebut dengan
table universal yang berasal dari gabungan tiga table. Dengan
kolom id_buku bertipe data integer karena data yang dimasukkan
berupa angka, judul bertipe data varchar(50) karena yang
dimasukkan berupa huruf. Penulis dengan tipe data name karena
nama orang. Jenis_buku bertipe data character varying(20), harga
bertipe data integer karena inputan berupa angka dapat dilakukan
Penjelasan
Menghilangkan data-data yang memiliki nilai sama dengan cara
mengupdate katena apabila data pada tabel universal tersebut ada yang
memiliki data sama pada tabel foreign key maka data tersebut tidak
dapat dinormalisasikan 1 nf. Anomaly data yang dimaksud tidak
1 nf
Kemudian masukkan data pada tiap-tiap kolom yang akan dilakukan
normalisasi.
Printscreen
Analisa
Table buku telah memenuhi 1nf karena sudah tidak ada lagi
baris yang bernilai ganda atau duplikat pada masing-masing baris
bernilai tunggal serta tidak bernilai null.
2nf
Query
- Memisahkan table dengan membuat table baru
- Membuat table penerbit
create table penerbit (id_penerbit serial, penerbit character
varying);
select*from penerbit;
-
id_penerbit serial
);
select*from buku1;
Printscreen
Penjelasan
Printscreen
Penjelasan
Memindahkan data dari table universal ke table baru yang
belum terisi dengan pemindahan data pada field penerbit di tabel
buku ke tabel penerbit, dengan menggunakan Sequence yang
dimasukkan pada table buku dan tipe datanya adalah
serial.
id_jenisbuku,
jenis_buku
as
from
(select distinct jenis_buku from buku order by jenis_buku) as j;
Ketik SELECT * FROM jenis_buku , untuk melihat output dari
eksekusi query.
Printscreen
Penjelasan
Printscreen
Penjelasan
Memindahkan data dari table universal ke table baru yang
belum terisi dengan pemindahan id_buku yang telah diforeign key
dengan table buku1, maka semua data pada tabel buku yang
memiliki foreign key dengan tabel buku1 akan otomatis termigrasi
sesuai dengan field dan tipe data masing-masing. Id_jenisbuku
tidak terurut yang terurut adalah id yang ditambahkan pada tabel
buku.
Output yang dihasilkan adalah semua data dalam tabel buku1
yang meski berulang memiliki id yang berbeda (id sebagai primary
key).
table
Sebelum Dilakukan Normalisasi
Penjelasan
Pada proses relasi tabel, table yang dibuat direlasikan pada
table yang lain dengan foreign key yang terdapat antar table. Pada
tabel buku1 terpadat foreign key id_jenisbuku yang dihubungkan
pada table jenis_buku, id_penerbit yang dihubungkan dengan table
penerbit. Ketiganya terhubung setelah terjadinya normalisasi.
B. Kesimpulan
Normalisasi database merupakan suatu pendekatan sistematis untuk
meminimalkan redundansi data pada suatu database agar database tersebut
dapat bekerja dengan optimal.
Normalisasi merupakan teknik analisis data yang mengorganisasikan
atribut-atribut data dengan cara mengelompokkan sehingga terbentuk
entitas yang non-redundant, stabil, dan fleksible
Normalisasi dilakukan sebagai uji coba pada suatu relasi secara
berkelanjutan untuk menentukan apakah relasi itu sudah baik, yaitu dapat
dilakukan proses insert,update,delete, dan modifikasi pada satu atau
beberapa atribut tanpa mempengaruhi integritas data dalam relasi tersebut.
Jenis-jenis Normalisasi umumnya ada 9 yaitu 1NF, 2NF, 3NF, EKNF,
BCNF, 4NF, 5NF, DKNF, dan 6NF