Anda di halaman 1dari 13

MODUL I

PERANCANGAN DIAGRAM DAN NORMALISASI


1.1 TUJUAN
1. Mahasiswa memahami permasalahan dan dapat menentukan entitas-entitas.
2. Mahasiswa dapat menentukan atribut-atribut dari suatu entitas.
3. Mahasiswa dapat menentukan relasi antara masing-masing entitas.
4. Mahasiswa memahami dan dapat merancang suatu permasalahan yang diberikan
berdasarkan teori yang telah dipelajari.
5. Mahasiswa dapat melakukan proses normalisasi.
1.2 DASAR TEORI
1. Elemen-elemen Diagram ER
Entity Relationship Diagram (ERD) merupakan model data berupa notasi grafis dalam
pemodelan data konseptual yang menggambarkan hubungan antara penyimpan. Adapun
elemen-elemen diagram ER antara lain:
a. Entitas
Entitas adalah sesuatu atau objek di dunia nyata yang dapat dibedakan dari sesuatu
atau objek lain.[3] Entitas menunjukkan objek-objek dasar yang terkait di dalam sistem
yang dapat berupa objek fisik seperti rumah dan manusia ataupun objek konsep seperti
pekerjaan dan perusahaan. Entitas biasanya diberi nama dengan kata benda. Entitas
dinyatakan dengan simbol persegi panjang dan nama entitas ditulis di dalam simbol
tersebut. Terdapat dua jenis entitas, yaitu:
1) Entitas Kuat
Entitas yang berdiri sendiri, keberadaannya tidak tergantung dengan entitas
lain.
2) Entitas Lemah
Entitas yang keberadaannya bergantung pada entitas lain, artinya entitas
tersebut tidak berguna jika tidak ada entitas yang lain.
Berikut adalah notasi dari entitas :

Gambar 1. 1 Notasi entitas kuat


Gambar 1.2 Notasi entitas lemah
b. Atribut
Atribut merupakan elemen dari sebuah entitas dan berfungsi mendeskripsikan
karakter entitas. Atribut juga dikatakan sebagai properti deskriptif yang dimiliki oleh
setiap anggota dari himpunan entitas. Atribut berfungsi sebagai entitas penjelas.
Simbol yang menyatakan atribut adalah simbol elips, dimana nama dari atribut
dituliskan di dalam simbol. Nama dari atribut biasanya berupa kata tunggal.
Terdapat beberapa atribut yang digunakan untuk menggambarkan model ER
diagram, yaitu:
1) Atribut kunci
Atribut yang digunakan untuk menentukan suatu entitas secara unik. Contohnya
yaitu “id_barang”.

Gambar 1.3 Atribut kunci


2) Atribut simple
Atribut yang bernilai tunggal. Contohnya yaitu “nama”, “harga” dan “status”.

Gambar 1.4 Atribut simple


3) Atribut multivalue
Suatu atribut yang memiliki sekelompok nilai yang banyak. Contohnya yaitu
“gelar” dan “hobi”.

Gambar 1.5 Atribut multivalue


4) Atribut composite
Atribut yang masih dapat diuraikan lagi. Contohnya “alamat” dan “waktu”.

Gambar 1.6 Simbol atribut composite


5) Atribut derivatif
Atribut yang dihasilkan dari turunan atribut yang lain. Contohnya “umur” dari “tanggal
lahir”.

Gambar 1.7 Simbol atribut derivatif

c. Relasi
Relasi adalah hubungan antara satu himpunan entitas dengan himpunan entitas
yang lain.[2] Pada diagram ER, relasi digambarkan dengan sebuah bentuk belah ketupat.
Pada umumnya, relasi diberi nama dengan kata kerja sehingga memudahkan untuk
melakukan pembacaan relasi. Berikut adalah simbol dari relasi:

Gambar 1.8 Simbol relasi

Kerelasian antar entitas dapat dikelompokkan dalam 3 jenis yang menunjukkan


jumlah maksimum entitas yang dapat berelasi dengan entitas lain yang biasa disebut
dengan kardinalitas.[3] Tiga macam kardinalitas tersebut ialah:
1) Relasi satu ke satu (One to One)
Setiap entitas pada himpunan entitas A berhubungan dengan paling banyak
satu entitas pada himpunan entitas B, dan begitu juga sebaliknya setiap entitas
B pada himpunan entitas B berhubungan paling banyak satu entitas pada
himpunan entitas A. Simbol relasi satu ke satu yaitu :

Gambar 1.9 Simbol relasi 1-1

2) Relasi Satu ke Banyak (One to Many) atau Banyak ke Satu (Many to One)
Tingkat hubungan satu ke banyak adalah sama dengan tingkat hubungan
banyak ke satu tergantung darimana hubungan tersebut dilihat dan dibaca.
Untuk satu kejadian pada entitas pertama dapat mempunyai banyak hubungan
dengan kejadian pada entitas yang kedua dan sebaliknya.
a) Setiap entitas pada himpunan entitas A berhubungan dengan banyak
entitas pada himpunan entitas B, tetapi tidak sebaliknya, dimana setiap
entitas pada himpunan entitas B berhubungan dengan paling banyak
satu entitas pada himpunan entitas A. Simbol relasi satu ke banyak
yaitu:

Gambar 1.10 Simbol relasi 1-N

b) Relasi Banyak ke Satu (Many to One)


Setiap entitas pada himpunan entitas A berhubungan dengan paling
banyak satu entitas pada himpunan entitas B, tetapi tidak sebaliknya,
dimana setiap entitas pada himpunan entitas B berhubungan dengan
banyak entitas pada himpunan entitas A. Simbol relasi banyak ke satu
yaitu :

Gambar 1.11 Simbol relasi N-1


3) Relasi banyak ke banyak (Many to Many)
Setiap entitas pada himpunan entitas A berhubungan dengan banyak entitas
pada himpunan entitas B, dan begitu juga sebaliknya.[2] Simbol relasi banyak
ke banyak yaitu:

Gambar 1.12 Simbol relasi M-N


2. Proses Perancangan Diagram ER
Langkah-langkah yang dapat dilakukan untuk menghasilkan diagram ER adalah
sebagai berikut:
a. Mengidentifikasi dan menetapkan seluruh himpunan entitas yang akan terlibat.
b. Menentukan atribut-atribut key dari masing-masing himpunan entitas.
c. Mengidentifikasi dan menetapkan seluruh himpunan relasi di antara himpunan
entitas-himpunan entitas yang ada beserta foreign key-nya.
d. Menentukan derajat/kardinalitas relasi untuk setiap himpunan relasi.
e. Melengkapi himpunan entitas dan himpunan relasi dengan atribut-atribut deskriptif
(non key).
3. Normalisasi
Normalisasi merupakan sebuah teknik dalam desain logika sebuah basis data yang
mengelompokkan atribut dari suatu tabel/relasi sehingga membentuk struktur relasi yang
baik (tanpa redundansi).
Tujuan dilakukannya normalisasi adalah sebagai berikut:
a. Minimalisasi redundansi (pengulangan data).
b. Memudahkan identifikasi entitas.
c. Mempermudah pemodifikasian data.
d. Mencegah terjadinya anomali.
Tahapan normalisasi dimulai dari tahap paling ringan (1NF) hingga paling ketat
(5NF). Urutan tahapnya yaitu 1NF, 2NF, 3NF, BCNF, 4NF, 5NF. [1] Biasanya hanya
sampai pada tingkat 3NF, suatu tabel sudah dapat menghasilkan tabel yang berkualitas
baik.
Berikut tahapan normalisasi dalam perancangan basis data:
a. Bentuk Normal Pertama (1NF)
Suatu tabel disebut memenuhi bentuk normal pertama jika:
1) Tidak adanya atribut multivalue, atribut composite atau kombinasinya.
2) Setiap atribut dalam tabel tersebut harus bernilai atomic (tidak dapat dibagi-bagi
lagi).
3) Tidak ada perulangan grup atribut dalam satu baris.
b. Bentuk Normal Kedua (2NF)
Suatu tabel disebut memenuhi bentuk normal kedua jika:
1) Sudah memenuhi dalam bentuk normal pertama (1NF).
2) Semua atribut bukan kunci utama bergantung secara fungsional terhadap semua
atribut kunci dan bukan hanya sebagian atribut kunci.
3) Jika ada ketergantungan parsial maka atribut tersebut harus dipisah pada tabel
yang lain, dimana perlu ada tabel penghubung ataupun kehadiran foreign key bagi
atribut-atribut yang telah terpisah.
c. Bentuk Normal Ketiga (3NF)
Suatu tabel disebut memenuhi bentuk normal ketiga jika:
1) Sudah memenuhi bentuk normal kedua (2NF).
2) Setiap atribut yang bukan kunci tidak tergantung secara fungsional terhadap
atribut bukan kunci yang lain dalam relasi tersebut (tidak ada ketergantungan
transitif pada atribut bukan kunci).
4. Keuntungan Normalisasi di permasalah yang ada di dunia nyata
Dari permasalahan yang ada di dunia nyata terdapat keuntungan normalisasi di
antaranya sebagai berikut:
a. Dapat meminimalkan ukuran penyimpanan yang diperlukan untuk penyimpanan
data.
b. Meminimalkan resiko kandungan inkonsistensi data pada basis data.
c. Meminimalkan kemungkinan anomali pembaruan.
d. Memaksimalkan stabilitas struktur data.
e. Kinerja penelusuran yang lebih cepat.
f. Meningkatkan integritas data.
1.3 PERMASALAHAN/KASUS
Salah satu toko penyewaan vcd film yang bernama X sedang kesulitan dalam melakukan
pendataan terkait penyewaan vcd. Oleh karena itu dibuatlah suatu sistem informasi yang dapat
mendata penyewaaan vcd. Sistem informasi ini mencatat penyewaan beberapa vcd yang
dilakukan oleh pelanggan yang mempunyai email, usia, telpon, nama, alamat. Vcd yang di sewa
memiliki tarif sewa, jenis, tahun keluar, nama, dan stok. Rekapan penyewaan dapat dicatat
apabila pelanggan telah menyewa vcd dan disini yang bertugas untuk merekap data penyewaan
adalah petugas toko X yang mempunyai telpon, alamat, nama, email. Setelah pelanggan
menyewa vcd maka pelanggan harus mengembalikan vcd sesuai tenggat waktu yang diberikan.
Apabila pelanggan tidak mengembalikkan tepat waktu, maka pelanggan akan dikenakan denda
yang terdiri dari tarif denda yang harus dibayarkan serta jenis Beberapa vcd dapat ditempatkan
pada sebuah tempat atau kotak dimana kotak ini terdapat warna, kapasistas dan nama dari kotak
tersebut agar mudah di klasifikasikan. Sebuah vcd hanya mengandung sebuah genre. Vcd- vcd
ini di supply oleh beberapa supplier. Supplier tersebut memiliki no telpon, email, usia, alamat
dan nama.
1. Melakukan perancangan ER Diagram serta menentukan kamus data yang dimiliki
diagram.
2. Melakukan normalisasi 1NF, 2NF, 3NF dari diagram pada soal nomer 1
1.4 PENYELESAIAN
1.4.1 Perancangan ER Diagram serta menentukan kamus data dari diagram
1. Rancangan ER Diagram

Gambar 1.13 ER Diagram


2. Kamus Data
Pelanggan : {nama,alamat,email,usia,telpon}
Petugas toko : {email,nama,telpon,alamat}
VCD : {stok,nama,jenis,tahun_keluar,tarif_sewa}
Supplier : {no_telp,email,usia,nama,alamat}
Kotak :{warna,kapasitas,nama}
3. Tabel Universal
Tabel 1.1 Tabel Universal
Nama Alamat Email Usia No Telpon Email …
pelanggan pelanggan pelanggan pelanggan pelanggan petugas

Nama No Alamat Nama Stok Jenis …


petugas Telpon petugas VCD VCD VCD
petugas

Genre Tahun Tarif Nama Alamat Usia ...


VCD keluar sewa supplier supplier supplier

Email No Nama Kapasitas Warna Suppy …


supplier Telpon kotak kotak kotak VCD
supplier

Tarif Tarif
hilang terlambat
1.4.2 Normalisasi 1NF,2NF,3NF terhadap diagram yang telah di rancang sebelumnya
1. Tabel 1NF
Tahap normalisasi 1NF kemudian dilakukan untuk menghilangkan atribut
composite yang terdapat pada tabel universal. Hasil dari normalisasi 1NF dapat dilihat pada
Tabel 1.2.
Tabel 1.2 Tabel 1NF

Nama Alamat Email Telpon Alamat Nama …


Pelanggan Pelanggan Pelanggan Pelanggan Pelanggan Petugas

Alamat Email Telpon Nama Alamat Email …


Petugas Petugas Petugas Supplier Supplier Supplier

Telpon Stok VCD Nama Jenis Tahun Tarif …


Supplier VCD VCD Keluar Sewa

Warna Kapasitas Nama Denda Denda Tarif Denda


kotak kotak kotak Terlambat Hilang

Pada normalilsasi 1 NF ini, setiap data pada tabel ini sudah memenuhi persyaratan yang
akan di bentuk menjadi 1NF, pada data di ini sudah mencakup data dari beberapa atribut-atribut
yang menyimpan data yang berfungsi untuk mengelompokan informasi yang dimiliki sesuai
dengan tiap atribut kunci agar dapat dipisahkan dengan atribut kunci lainnya. Pada table ini tipe
data yang digunakan adalah char.

2. Tabel 2NF
Pada normalisasi 2 NF, tabel normal 1 NF dipisah menjadi beberapa tabel karena
adanya atribut yang bergantung kepada sebagian atribut kunci bukan semua atribut kunci atau
adanya ketergantungan parsial pada atribut-atribut yang ada. Atribut yang memiliki
ketergantungan parsial tersebut harus dipisah menjadi beberapa tabel dengan syarat ada tabel
yang menghubungkan tabel-tabel yang telah terpisah.
Tabel 1.3 Tabel Pelanggan
Nama Pelanggan Alamat Email Telpon
Pelanggan Pelanggan Pelanggan

Tabel pelanggan ini di buat sendiri karena “Nama_pelanggan” dan “Alamat_pelanggan”


hanya memiliki ketergantungan pada atribut kunci saja “Email_Pelanggan”, dan tidak
bergantung pada attribut kunci lainnya. Oleh karena itu, tabel ini perlu di buatkan tabel sendiri
untuk menghilangkan ketergantungan tersensitf sehingga memenuhi syrat dari normalisasi 2
NF. Pada table ini juga tipe data yang bisa digunakan adalah berupa data char, karena pada table
diatas data yang di-input¬-kan adalah data karakter. Pada tabel di ini memliki atribut atribut
yang mempunyai fungsi masing masing, “Email_Pelanggan” mempunyai fungsi untuk
menerima masukan data dari pengguna berupa kode untuk Email_Pelanggan,
“Email_Pelanggan” juga berfungsi untuk menjadi atribut kunci untuk mengakses atribut yang
lainnya tersebut.
Tabel l.4Tabel Petugas :
Nama Alamat Email Telpon
Petugas Petugas Petugas Petugas

Tabel Petugas ini di buat sendiri karena “Nama_petugas” dan “Alamat_petugas” hanya
memiliki ketergantungan pada atribut kunci saja “Email_Pelanggan”, dan tidak bergantung pada
attribut kunci lainnya. Oleh karena itu, tabel ini perlu di buatkan tabel sendiri untuk
menghilangkan ketergantungan tersensitf sehingga memenuhi syrat dari normalisasi 2 NF. Pada
table ini juga tipe data yang bisa digunakan adalah berupa data char, karena pada table diatas
data yang di-input¬-kan adalah data karakter. Pada tabel di ini memliki atribut atribut yang
mempunyai fungsi masing masing, “Email_Petugas” mempunyai fungsi untuk menerima
masukan data dari pengguna berupa kode untuk Email_Petugas, “Email_Petugas” juga
berfungsi untuk menjadi atribut kunci untuk mengakses atribut yang lainnya tersebut.
Tabel 1.4 Supplier
Nama Alamat Email Telpon Supplier
Supplier Supplier Supplier

Tabel Supplier ini di buat sendiri karena “Nama_supplier” dan “Alamat_supplier” hanya
memiliki ketergantungan pada atribut kunci saja “Email_supplier”, dan tidak bergantung pada
attribut kunci lainnya. Oleh karena itu, tabel ini perlu di buatkan tabel sendiri untuk
menghilangkan ketergantungan tersensitf sehingga memenuhi syrat dari normalisasi 2 NF. Pada
table ini juga tipe data yang bisa digunakan adalah berupa data char, karena pada table diatas
data yang di-input¬-kan adalah data karakter. Pada tabel di ini memliki atribut atribut yang
mempunyai fungsi masing masing, “Email_supplier” mempunyai fungsi untuk menerima
masukan data dari pengguna berupa kode untuk Email_supplier, “Email_supplier” juga
berfungsi untuk menjadi atribut kunci untuk mengakses atribut yang lainnya tersebut.
Tabel 1.5 Tabel VCD
Nama VCD Jenis VCD Tahun Keluar Tarif Sewa

Tabel VCD ini di buat sendiri karena “Nama_VCD” dan “Jenis_VCD” hanya memiliki
ketergantungan pada atribut kunci saja “Tarif_sewa”, dan tidak bergantung pada attribut kunci
lainnya. Oleh karena itu, tabel ini perlu di buatkan tabel sendiri untuk menghilangkan
ketergantungan tersensitf sehingga memenuhi syrat dari normalisasi 2 NF. Pada table ini juga
tipe data yang bisa digunakan adalah berupa data char, karena pada table diatas data yang di-
input¬-kan adalah data karakter. Pada tabel di ini memliki atribut atribut yang mempunyai
fungsi masing masing, “Tarif_VCD” mempunyai fungsi untuk menerima masukan data dari
pengguna berupa kode untuk tarif VCD, “Tarif VCD” juga berfungsi untuk menjadi atribut
kunci untuk mengakses atribut yang lainnya tersebut.
Tabel 1.6 Tabel Denda :
Denda Terlambat Denda hilang Tarif Denda

Tabel denda ini di buat sendiri karena “Denda_terlambat” dan “Denda_hilang” hanya
memiliki ketergantungan pada atribut kunci saja “Tarif_denda”, dan tidak bergantung pada
attribut kunci lainnya. Oleh karena itu, tabel ini perlu di buatkan tabel sendiri untuk
menghilangkan ketergantungan tersensitf sehingga memenuhi syrat dari normalisasi 2 NF. Pada
table ini juga tipe data yang bisa digunakan adalah berupa data char, karena pada table diatas
data yang di-input¬-kan adalah data karakter. Pada tabel di ini memliki atribut atribut yang
mempunyai fungsi masing masing, “Tarif_denda” mempunyai fungsi untuk menerima masukan
data dari pengguna berupa kode untuk tarif denda, “Tarif_denda” juga berfungsi untuk menjadi
atribut kunci untuk mengakses atribut yang lainnya tersebut.
Tabel 1.7 Tabel Kotak:
Warna kotak Kapasitas kotak Nama kotak

Tabel Kotak ini di buat sendiri karena “Warna_kotak” dan “Kapasitas_kotak” hanya
memiliki ketergantungan pada atribut kunci saja “Nama_kotak”, dan tidak bergantung pada
attribut kunci lainnya. Oleh karena itu, tabel ini perlu di buatkan tabel sendiri untuk
menghilangkan ketergantungan tersensitf sehingga memenuhi syrat dari normalisasi 2 NF. Pada
table ini juga tipe data yang bisa digunakan adalah berupa data char, karena pada table diatas
data yang di-input¬-kan adalah data karakter. Pada tabel di ini memliki atribut atribut yang
mempunyai fungsi masing masing, “Nama_kotak” mempunyai fungsi untuk menerima masukan
data dari pengguna berupa kode untuk tarif denda, “Nama_kotak” juga berfungsi untuk menjadi
atribut kunci untuk mengakses atribut yang lainnya tersebut.
3. Tabel 3NF
Normalisasi 3NF dilakukan dengan menghilangkan ketergantungan transitif pada setiap
tabel. Ketergantugan transitif ini dapat dihilangkan dengan cara memecah tabelnya sehingga
tabel bisa menjadi normal.
Tabel 1.8 Tabel Pelanggan
Nama Pelanggan Alamat Pelanggan Email Pelanggan

Tabel ini sudah memenuhi 3NF karena sudah memenuhi persyaratan 2NF dan tidak
memiliki ketergantungan.
Tabel 1.9 Tabel Petugas
Nama Alamat Petugas Email
Petugas Petugas

Tabel ini sudah memenuhi 3NF karena sudah memenuhi persyaratan 2NF dan tidak
memiliki ketergantungan.
Tabel 1.10 Tabel Supplier
Nama Alamat Email
Supplier Supplier Supplier

Tabel ini sudah memenuhi 3NF karena sudah memenuhi persyaratan 2NF dan tidak
memiliki ketergantungan.
Tabel 1.11 Tabel VCD :
Nama VCD Jenis VCD Tarif Sewa

Tabel ini sudah memenuhi 3NF karena sudah memenuhi persyaratan 2NF dan tidak
memiliki ketergantungan.
Tabel 1.12 Tabel Denda :
Denda Terlambat Denda hilang Tarif Denda

Tabel ini sudah memenuhi 3NF karena sudah memenuhi persyaratan 2NF dan tidak
memiliki ketergantungan
Tabel Kotak:
Warna kotak Kapasitas kotak Nama kotak

Tabel ini sudah memenuhi 3NF karena sudah memenuhi persyaratan 2NF dan tidak
memiliki ketergantungan
1.5 KESIMPULAN
Berdasarkan praktikum yang telah di lakukan,maka dapat di simpulkan yaitu:
1. Pemahaman mengenai elemen-elemen perancangan diagram ER sangat diperlukan
untuk merancang suatu permasalahan dalam bentuk diagram ER serta tabel
implementasinya.
2. Pemahaman mengenai maksud dari permasalahan akan sangat membantu di dalam
menentukan relasi-relasi yang akan menghubungkan antar entitas dan berapa derajat.
3. Entitas-entitas yang terlibat dalam diagram ER di tentukan dengan mengidentifikasi
karakteristik dari objek-objek dalam permasalahan dan menentukan mana objek yang
memiliki keunikan
1.6 DAFTAR REFERENSI
[1] Husodo, Ario Yudo. 2016. Normalisasi Data. Universitas Mataram Fakultas Teknik:
Program Studi Teknik Informatika.
[2] Ir., Fathansyah. 2007. Basis Data. Bandung: Informatika.
[3] Nugroho, Adi. 2004. Konsep Pengembangan Sistem Basis Data. Bandung: Informatika.

Anda mungkin juga menyukai