Anda di halaman 1dari 26

1

MODUL 1
Normalisasi & ER-Model

TIM PENYUSUN

Ilham Farobi (IFR) 1106132004

Alfian Hidayat (ADT) 1106130020


Josua Clement Sembiring (JCS) 1106134178

Fadli Anugrah Emas (FAE) 1106130151


Ikhsan Ahmad Faruqi (FRQ) 1106130081

M. Abdurrahman Lathief P. (MAN) 1106130127


Maylantino Surya Siswanto (MYL) 1106134177

Gredy Ramadhany (GRE) 1106134207


Aulia Kurnia Andana Warih (AKA) 1106132005

Alfi Nuri Khoirunisa (ALF) 1106130073


Yuliansari Nur Islami (SNI) 1106130009

Kurnia Kusumandari (KKN) 1106132031


Febri Dwiandriani (FEB) 1106130110

Asri Putri Lailatul Fajria (ASR) 1106132112

1
MODUL 1
Normalisasi & ER-Model
A. Tujuan Praktikum
a. Praktikan menormalisasikan tabel sampai 3NF
b. Praktikan dapat membuat er-model menggunakan power designer

B. Perlengkapan Praktikum
a. Modul Praktikum Basis Data
b. Microsoft Excel
c. Power Designer 16.5

C. Landasan Teori
a. Normalisasi
Normalisasi data adalah suatu proses/prosedur/cara yang menjamin sebuah data menjadi
valid, dan efisien. Di dalam sistem basis data, ND juga berfungsi untuk meniadakan duplikasi
data (redundancy). Banyak tahapan dalam ND dan di modul ini yang akan dipelajari adalah
1NF sampai 3NF:
1. Bentuk normal pertama (1NF)
Syarat:
Tidak ada set atribut yang berulang atau bernilai banyak (multivalued
attribute), atribut composite atau kombinasi antara keduanya.
Tiap atribut hanya memiliki satu pengertian.
Setiap atribut dalam tabel tersebut harus bernilai atomic (satu cell hanya
menampung satu nilai)

2. Bentuk normal kedua (2NF)


Syarat:
Bentuk normal 2NF terpenuhi dalam sebuah tabel jika telah memenuhi
bentuk 1NF, dan semua atribut selain primary key secara utuh memiliki
Functional Dependency pada primary key.
Sebuah tabel tidak memenuhi 2NF jika ada atribut yang
ketergantungannya (Functional Dependency) hanya bersifat parsial saja
(hanya tergantung pada sebagian dari primary key) .
Jika terdapat atribut yang tidak memiliki ketergantungan terhadap primary
key, maka atribut tersebut harus dipindah atau dihilangkan.

3. Bentuk normal ketiga (3NF)


Syarat:
Bentuk data telah memenuhi kriteria bentuk normal ke dua.

2
Tidak ada atribut non-primary key yang memiliki ketergantungan terhadap
atribut non-primary key yang lainnya (tidak terdapat ketergantungan
transitif).

Seluruh atribut bukan kunci pada suatu relasi hanya memiliki ketergantungan
fungsional terhadap primary key di relasi itu saja.
Transitive Dependency (Ketergantungan Transitif), terjadi jika:
A -> B dan B->C, maka A bergantung secara transitif terhadap C melalui B. Untuk
lebih jelasnya, perhatikan tabel berikut.
NIM Nama_Mahasiswa Kode_Jur Nama_Jur
1102120011 Andini 02 Teknik Industri
1107120068 Sarah Rika 07 Sistem informasi
1106130000 Prabu Raka 06 Informatika

FD1 : NIM -> (Nama_mahasiswa, Kode_Jur, Nama_Jur)


FD2 : Kode_Jur -> Nama_Jur
Transitive Dependecy: Nama_Jur bergantung secara transitif terhadap NIM.

Contoh:
Studi kasus normalisasi 2NF

Tabel Les_Karyawan (Unnormalize Normal Form)


NIK NM_KARYAWAN KD_BHS_ASING BHS_ASING TINGKAT
K001 Budi B001, B002, B003 Inggris, Jerman, Cina Aktif, Pasif,
Pasif
K002 Deri B001, B002 Inggris, Jerman Aktif, Pasif
K003 Winda B001 Inggris Aktif

Tabel Les_Karyawan (1NF)


NIK NM_KARYAWAN KD_BHS_ASING BHS_ASING TINGKAT
K001 Budi B001 Inggris Aktif
K001 Budi B002 Jerman Pasif
K001 Budi B003 Cina Pasif
K002 Deri B001 Inggris Aktif
K002 Deri B002 Jerman Pasif
K003 Winda B001 Inggris Aktif

Setelah menormalisasikan pada 1NF untuk menghilangkan multi value maka normalisasikan
tabel diatas dengan memecah functional dependency untuk dijadikan ke 2NF.
NIK NM_KARYAWAN KD_BHS_ASING BHS_ASING TINGKAT
FD1
FD2
FD3

3
Maka hasilnya sebagai berikut:
Tabel Karyawan Tabel Les Bahasa
NIK NM_KARYAWAN KD_BHS_ASING BHS_ASING
K001 Budi B001 Inggris
K002 Deri B002 Jerman
K003 Winda B003 Cina

Tabel Les Karyawan


NIK KD_BHS_ASING TINGKAT
K001 B001 Aktif
K001 B002 Pasif
K001 B003 Pasif
K002 B001 Aktif
K002 B002 Pasif
K003 B001 Aktif

Studi kasus normalisasi 2NF


Tabel Nilai_Siswa (Unnormalize Normal Form)
NIS NM_SISWA KD_PELAJARAN NM_PELAJARAN NILAI N_H
N001 Budi P001, P002 Basis Data, PBO 70, 70 C, C
N002 Deri P001, P003 Basid Data, Web PBO 80, 80 B, B
N003 Winda P007, P008 Algoritma, Perancangan PBO 90, 90 A, A

Tabel Nilai_Siswa (Unnormalize Normal Form)


NIS NM_SISWA KD_PELAJARAN NM_PELAJARAN NILAI N_H
N001 Budi P001 Basis Data 70 C
N001 Budi P002 PBO 70 C
N002 Deri P001 Basis Data 80 B
N002 Deri P003 Web PBO 80 B
N003 Winda P007 Algoritma 90 A
N003 Winda P008 Perancangan PBO 90 A

Setelah menormalisasikan pada 1NF untuk menghilangkan multi value maka normalisasikan
tabel diatas dengan memecah functional dependency untuk dijadikan ke 2NF.
NIS NM_SISWA KD_PELAJARAN NM_PELAJARAN NILAI N_H
FD1
FD2
FD3

Maka hasilnya sebagai berikut:


Tabel Siswa Tabel Pelajaran
NIS NM_SISWA KD_PELAJARAN NM_PELAJARAN
N001 Budi P001 Basis Data
N002 Deri P002 PBO
N003 Winda P003 Web PBO
P007 Algoritma
P008 Perancangan PBO

Tabel Nilai Siswa


NIS KD_PELAJARAN NILAI N_H
N001 P001 70 C
N001 P002 70 C

4
N002 P001 80 B
N002 P003 80 B
N003 P007 90 A
N003 P008 90 A

Setelah dipastikan tidak adanya functional dependency, selanjutnya perhatikan memcahkan


transitive dependency pada hasil tabel 2NF diatas sebagai syarat 3NF.
NIS NM_SISWA KD_PELAJARAN NM_PELAJARAN NILAI N_H
FD1
FD2
FD3
FD4

Maka hasil dari 3NF-nya:


Tabel Pelajaran Tabel Siswa
KD_PELAJARAN NM_PELAJARAN NIS NM_SISWA
P001 Basis Data N001 Budi
P002 PBO N002 Deri
P003 Web PBO N003 Winda
P007 Algoritma
P008 Perancangan PBO

Tabel Nilai Siswa Tabel Nilai


NIS KD_PELAJARAN NILAI NILAI N_H
N001 P001 70 70 C
N001 P002 70 80 B
N002 P001 80 90 A
N002 P003 80
N003 P007 90
N003 P008 90

b. Entity Relation (ER)


Entity Relation (ER) merupakan sebuah hubungan antara entitas-entitas pada sebuah
sistem. Pemodelan hubungan tersebut digambarkan ke dalam Entity Relation Diagram
(ERD).

Komponen-komponen ERD
ERD memiliki 2 jenis notasi, yaitu Chen dan Crows foot. Untuk praktikum basis data ini,
notasi yang digunakan adalah notasi Chen. Berikut simbol-simbol yang digunakan:

No. Notasi Arti Deskripsi

1. Strong Entitas yang mandiri, yang


Entity keberadaannya tidak
bergantung pada keberadaan
entitas yang lainnya. Entitas
kuat selalu memiliki
karakteristik yang unik disebut
identifier.

5
2. Weak Entity Entitas yang keberadaannya
sangat bergantung pada
keberadaan entitas yang
lainnya

3. Relationship Penghubung antar entitas satu


dengan lainnya sehingga
nantinya akan menghasilkan
sebuah transaksi sebagai
hasilnya.

4. Identifying
Relationship

5. Attribute / Atribut yang memiliki nilai pasti


Simple dan tidak ganda
Attribute

6. Key Atribut yang memiliki nilai unik


Attribute

7. Multivalued Atribut yang memiliki nilai bisa


Attribute lebih dari satu. Misalnya: no
handphone yang dimiliki
entitas mahasiswa, bisa saja
satu mahasiswa memiliki lebih
dari satu no handphone

8. Composite Atribut yang memiliki nilai


Attribute gabungan dari beberapa
atribut lainnya. Misalnya: nama
bisa terdiri dari nama depan,
nama tengah dan nama
belakang

9. Derived Atribut yang nilainya dapat


Attribute diperoleh dari nilai atribut lain.
Misalnya: umur bisa diperoleh
dari atribut tanggal_lahir

10. Total
Participation

11. Cardinality
ratio 1:N for
E1:E2 in R

6
12. Structural
Constraint
(min, max)
on
Participation
of E in R

Derajat Relasi atau Kardinalitas


Derajat relasi atau kardinalitas merupakan penentuan relasi/hubungan antar entitas. Model
kardinalitas yang sering digunakan pada umumnya milik Peter Chen dan Martin. Meskipun
terdapat perbedaan simbol namun memiliki kesamaan fungsi dan maksud.

Penggunaan simbol Peter Chen Penggunaan simbol Martin

One to one

One to Many atau Many to One

Many to Many

Penjelasan masing-masing derajat relasi:


Satu ke satu (one to one), maksudnya adalah setiap anggota entitas A hanya boleh
berhubungan dengan satu anggota entitas B, begitu pula sebaliknya. Contoh :
Rektor dengan (dan) Universitas dengan relasi memimpin, mahasiswa dengan NIM
dengan relasi memiliki, dll

7
Satu ke banyak (one to many), maksudnya adalah setiap anggota entitas A dapat
berhubungan dengan lebih dari satu anggota entitas B tetapi tidak sebaliknya.
Contoh : Pembeli dengam Mobil dengan relasi membeli, Dosen dengan Mahasiswa
dengan relasi Perwalian, dll
Banyak ke banyak (many to many), maksudnya adalah Setiap anggota entitas A
dapat berhubungan dengan banyak anggota entitas B dan sebaliknya. Contoh :
Pegawai dengan Proyek dengan relasi Bekerja pada, Pegawai dengan Bagian
dengan relasi Ditugaskan ke, dll.

Penentuan Key
Secara konseptual, entity dan relationship secara individu berbeda, tetapi dari pandangan
database perbedaan di antara keduanya, dapat dilihat berdasarkan atributnya. Maka
digunakan istilah Primary Key untuk menyatakan suatu candidate key yang dipilih dalam
mengidentifikasi perbedaan entity dalam entity set. Penanda untuk Primary Key biasanya
dengan symbol bintang(*) atau pagar(#) atau dengan garis bawah(_). Foreign Key adalah
atribut yang melengkapi suatu hubungan yang menunjukan ke induknya (primary).
Contoh:
Tabel Karyawan Tabel Les Bahasa
NIK NM_KARYAWAN KD_BHS_ASING BHS_ASING
K001 Budi B001 Inggris
K002 Deri B002 Jerman
K003 Winda B003 Cina

Tabel Les Karyawan


NIK KD_BHS_ASING TINGKAT
K001 B001 Aktif
K001 B002 Pasif
K001 B003 Pasif
K002 B001 Aktif
K002 B002 Pasif
K003 B001 Aktif

KARYAWAN LES_BAHASA
# NIK Variable characters (10) # KD_BHS_ASING Variable characters (10)
o NM_KARYAWAN Variable characters (50) o BHS_ASING Variable characters (20)

LES_KARYAWAN
# KD_BHS_ASING Variable characters (10)
Relationship_1
# NIK Variable characters (10) Relationship_1
o Tingkat Variable characters (10)

D. Jurnal
Berikut ini merupakan tabel dari suatu perusahaan. Anda ditugaskan untuk merapikan database
berikut dengan melakukan normalisasi hingga normalisasi 3NF.
Kode_Projek Ket_Projek Skala Bia NIP Nama_Pegawai Alamat_ Kategori_P Keterangan
ya Pegawai egawai _Pegawai
M01, M02 Iklan PT Sedang 50jt NIP002 Indrawan Jl. Sukma 1 Pegawai
Maju Jaya, , Besar , No 11 tetap

8
Seminar PT 100
Merdeka jt
V01 Visual Kecil 20jt NIP003 Miranti Jl 1 Pegawai
Design PT Anggrek tetap
Medeka no.10
V02 Iklan PT Besar 100 NIP004 Indah Jl 1 Pegawai
Mercusuar jt Merdeka tetap
No 1
V03 Social Sedang 50jt NIP005 Herjuna Jl Toba 1 Pegawai
Media no.19 tetap
Managem
ent PT
Intan
Sejahtera
M01 Seminar PT Sedang 50jt NIP006 Andini Jl 2 Pegawai
Merdeka Anggrek magang
no.20

Membuat ER-Model menggunakan Power Designer

Pembuatan lembar kerja (Workspace)

1. Buka aplikasi power designer 16.5.

2. Pada window Welcome to Power Designer pilih Create Model


3. Klik pada tab kiri Model types dan pilih Conceptual Data Model. Kemudian berikan model name
yang sesuai. Klik OK
*FYI: Conceptual Data Model yaitu konsep yang berhubungan dengan pandangan user
(pengguna database) terhadap data.

9
Pembuatan entitas

1. Setelah membuat lembar kerja maka akan muncul tampilan seperti dibawah ini.

2. Untuk membuat sebuah entitas, lihat pada window Toolbox (sisi kanan) lalu klik icon tabel.
3. Lepaskan kursor pada lembar kerja maka akan terbentuk sebuah entitas baru. Untuk
pemberian nama entitas pilih entitas yang akan diberikan nama baru kemudian tekan tombol
F2 pada keyboard.
4. Pemberian nama diharuskan sesuai dengan studi kasus yang ada, yaitu:
o TB_PROYEK
o TB_PEGAWAI
o TB_STATUS
o TB_SKALA_PROYEK

10
Menambahkan atribut dan primary key ke dalam setiap entitas

Tahap ini merupakan tahap yang penting pada saat membuat sebuah konsep database, karena
desain kosepnya akan diterapkan ke pembentukan database secara fisik. Berikut langkah-
langkahnya:

1. Klik kanan pada entitas TB_Proyek pilih tab Attributes

2. Kemudian akan muncul window Entity Properties klik pada tabel yang ada lalu tuliskan pada
kolom name KD_PROYEK. (abaikan kolom Code)

11
3. Untuk pemberian Data type pilih tombol yang berisi () akan muncul window Standard Data
Types.
4. Klik pada radio button Variable characters isikan Length 10 OK. Seperti gambar di bawah
ini.

5. Ulangi poin 2 - 4 untuk pemberian atribut yang lainnya pada TB_PROYEK.


6. Dalam pemberian primary key, klik check box pada baris KD_PROYEK. Hal tersebut akan
menjadikan KD_PROYEK sebagai primary key untuk TB_PROYEK.

12
7. Lakukan poin 2 - 6 untuk memberikan atribut dan primary key pada setiap tabel yang ada.
Maka hasil akhirnya seperti di bawah ini.

Membuat relasi antar entitas

Relasi dilakukan agar mengetahui sebuah hubungan antar entitas yang ada. Pada kasus ini
terdapat 4 entitas yang harus dicari relasinya (berdasarkan tahapan normalisasi). Berikut langkah -
langkahnya:

1. Pada window Toolbox pilih ikon relationship.


2. Kemudian tarik garis dari TB_SKALA_PROYEK ke TB_PROYEK, TB_STATUS KE TB_PEGAWAI,
TB_PEGAWAI KE TB_PROYEK.
3. Jika berhasil akan muncul garis relasi dengan derajat kardinalitas.

13
Generate menjadi Physical Data Model

Pada tahap sebelumnya belum terlihat bahwa SKALA di TB_SKALA_PROYEK belum menjadi foreign
key di TB_PROYEK. oleh karena itu model diatas akan di-generate ke bentuk Physical Data Model
guna memperjelas antara primary key(pk) dan foreign key(fk). Hal ini juga berguna nantinya dapat
generate ke dalam bentuk database salah satunya Microsoft Access. Berikut langkah - langkahnya:

1. Klik pada menu Tools - pilih Generate Physical Data Model (Ctrl+Shift+P) - muncul window
PDM Generation Options.
*FYI : Physical Data Model yaitu konsep yang menjelaskan bagaimana data disimpan di dalam
komputer secara rinci.

14
2. Pilih bagian Generate new Physical Data Model - kemudian pilih DBMS untuk Microsoft Access
2007 - klik OK.

3. Berikut hasil akhirnya. Dimana akan terlihat primary key dan foreign key dari setiap tabel yang
ada. Perhatikan pada relasi TB_PROYEK dengan TB_SKALA_PROYEK akan muncul bahwa
SKALA menjadi foreign key pada TB_PROYEK dan garis relasi berubah.

15
Generate ke Microsoft Access
Dari desain diatas dapat degenerate ke bentuk database, salah astunya ke format Microsoft
Access. Berikut langkah - langkahnya.

1. Pilih menu Databse klik Generate Database.

2. Akan muncul window Generate database


3. Lakukan hal sebegai berikut :
DBMS : Microsoft Access 2007
Direction : Ke folder yang tersedia
Filename : Pastikan nama sesuai dengan studi kasus
Generation Type : Pilih Connect to Data Storage

16
4. Maka muncul pop up window Connect to Data Storage pilih Configure pilih Add New
Data Source Klik OK.

17
5. Akan muncul window untuk membuat data source baru. Pilih user Data Source Next Klik
Microsoft Access Driver (.mdb) Next Finish.

18
6. Lalu akan muncul pop up ODBC Microsoft Access Setup, isi Data Source Name
NIM_NAMADEPAN (misal : 1106130190_LILO) Create Tentukan direktori untuk disimpan
19
isikan database name dengan NIM_NAMADEPAN Klik OK muncul pop up window bahwa
database berhasil di buat.

20
7. Pada saat kembali ke Window Configure Data Connection, pastikan hanya database dengan
NIM_NAMADEPAN yang di centang Klik OK.

8. Kembali ke window Connect to a Data Source pilih database NIM_NAMADEPAN Klik


Connect Klik OK - Run.

21
9. Terakhir klik Ignore All

22
10. Selanjutnya buka direktori yang menjadi tempat menyimpan hasil generate database tadi
(missal : D:\Try). Coba buka dengan Microsoft Access yang ada.

23
24
DAFTAR PUSTAKA
Dybka, P. (2015, December 9). ERD Notations in Data Modeling. Part 2 - Chen Notation. Retrieved from
ERD Notations in Data Modeling. Part 2 - Chen Notation:
http://www.vertabelo.com/blog/technical-articles/chen-erd-notation

Laila, H. (2015, July 17). BAB 5 - PEMODELAN DATA ERD DAN NORMALISASI. Retrieved from
PEMODELAN DATA ERD DAN NORMALISASI: http://dokumen.tips/documents/5-pemodelan-
data-erd-dan-normalisasi.html

Ramez Elmasri, Shamkant B. Navathe. (2015). Fundamentals of Database Systems Seventh Edition.
Boston: Wesley Pearson.

25

Anda mungkin juga menyukai