BAB I

1.1 Hirarki Pembentukan Basis Data




1.2 Definisi
a.
Character adalah huruf, angka,
atau symbol
b.
Field adalah kumpulan dari
beberapa character (biasanya disebut item data)
c.
Data Value adalah data aktual yang
tersimpan pada setiap elemen data atau field
d.
Record adalah kumpulan dari
beberapa field yang menyatakan satu kesatuan arti dari entitas tertentu
e.
File adalah kumpulan dari beberapa
record yang menyatakan sekumpulan field yang terorganisasi untuk maksud
tertentu. File disimpan pada media penyimpanan sekunder. File mempunyai nama
dan struktur yang dikenal oleh system operasi sehingga dapat diakses oleh
program.
f.
Database (Basis Data) adalah
kumpulan dari beberapa file yang saling berelasi yang membentuk suatu bangunan
data yang mengiformasikan suatu instansi tertentu dalam batasan tertentu.

Gambar 1.1 : Basis Data
1.3 Komponen Basis Data
Komponen-komponen utama basis data empat, yaitu:
a.
Perangkat Keras (Hardware)/
Komputer
Berupa komputer dan bagian-bagian didalamnya,
seperti Prosesor, Memori, Hard disk, dan
perangkat pendukung lainnya.
b.
Data
Yaitu data actual yang tersimpan di dalam basis
data
c.
Perangkat Lunak (Software)/
Program
Adalah perangkat lunak yang digunakan untuk
mengakses basis data, beserta denan sistem operasinya.
d.
Pengguna (Brain ware)
Adalah orang yang terlibat di dalam pengolahan
basis data
1.4
Operasi Dasar Basis Data
Operasi-operasi dasar dalam basis data, antara lain:
a.
Pembuatan basis data baru
b.
Penghapusan basis data
c.
Pembuatan tabel baru
d.
Penghapusan tabel
e.
Memasukkan data dalam tabel
f.
Memperbaiki/ memperbaharui data
yang tersimpan di tabel
g.
Pengambilan data tertentu/
keseluruhan dalam tabel
h.
Menghapus data yang tersimpan
dalam tabel.
1.5
Kegunaan Basis Data
Penyusunan basis data bertujuan
untuk mengatasi masalah-masalah yang muncul pada pengolahan data berbasis
kertas, yaitu antara lain:
a.
Redundansi (Duplikasi data yang
tidak perlu) dan Inkonsistensi Data
Yaitu munculnya data yang sama secara
berulang-ulang pada basis data. Sebagai contoh: Nama, Alamat, dan Nomor Telepon
dari seorang Nasabah Bank tercatat pada file Deposito, Rekening Koran, dan juga
pada File Nasabah.
Penyimpanan
data yang sama secara berulang-ulang dibeberapa file dapat mengakibatkan
terjadinya inkonsistensi (tidak konsisten). Sebagai contoh: jika Nasabah
tersebut pindah alamat dan berupah nomor teleponnya, maka perubahan harus
dilakukan pada ketiga file yang
bersangkutan. Jika tidak, maka akan terjadi perbedaan data yang dapat
mengakibatkan kesalahan pada transaksi berikutnya.
b.
Kesulitan dalam pengaksesan data
Adakalanya kita membutuhkan informasi tertentu pada
bagian tertentu, sebagai contoh kita membutuhkan data Pegawai Golongan I dan
beralamat di Pringsewu. Sebuah Basis Data yang baik harus mampu menjawab semua
kebutuhan akan data.
c.
Isolasi data untuk standarisasi
Tersebarnya data pada berbagai file dengan format yang berbeda akan
mempersulit kita jika akan menggabungkan data tersebut. Sebagai contoh data Nama dan Alamat dari
seorang nasabah tersebar di beberapa file dengan format yang berbeda (file
Nasabah ada di Word, file Rekening Koran dan Deposito ada di Excell) maka
ketika data akan dijadikan satu akan mengalami kesulitan sebab format datanya
berbeda.
Untuk itu Basis Data memberikan solusi dengan terlebih dahulu mengisolasi
data dengan menentukan terlebih dahulu format datanya, yang kemudian data yang
sudah diisolasi tersebut dijadikan format standar.
d.
Banyak Pemakai
Hal ini terutama pada basis data yang berbasis jaringan
yang dewasa ini sedang marak.
e.
Keamanan
Keamanan data diperlukan
untuk melindungi data dari orang-orang yang tidak bertanggung jawab, bencana
alam, dan lain sebagainya.
f.
Kesatuan data
Walaupun data tersebar di beberapa file tetapi pada
hakikatnya merupakan satu kesatuan yang dibungkus dalam satu basis data.
1.6 Abstraksi Data
Abstaraksi data merupakan pandangan abstrak terhadap basis
data bagi pengguna yang disediakan oleh DBMS, hal ini bertujuan untuk
mempermudah pemakai untuk memahami data. Abstraksi data dalam DBMS di bagi
menjadi 3, yaitu:
a.
Level fisik, merupakan level
terendah dalam abstraksi data. Level ini menjelaskan bagaimana data disimpan,
diorganisasikan, dan struktur datanya dijabarkan secara terperinci.
b.
Level Konseptual, berada pada
tingkat yang lebih tinggi dari level fisik. Level ini menjabarkan data apa saja
yang sesungguhnya disimpan dalam basis data, juga menjabarkan hubungan antar
data.
c.
Level Pandangan, merupakan level
paling tinggi dibanding dengan 2 level sebelumnya. Pada level ini pengguna
hanya mengenal struktur data yang sederhana, dan berorientasi pada pengguna.
Data yang dibutuhkan oleh pengguna bisa berbeda-beda atau sama, bahkan mungkin
hanya sebagian dari data tersebut.

Gambar
1.2 : Level Abstraksi Data
1.7
Model Basis Data
Model basis data
menyatakan relasi antar data yang tersimpan. Model dasar basis data ada 3
yaitu:
a.
Model Hirarki
b.
Model Jaringan
c.
Model Relasional
a.
Model Hirarki
Model hirarki merupakan diagram pohon terbalik.
Model ini menggunakan pola hubungan orang tua dan anak. Setiap simpul (biasanya
dinyatakan dalam bentuk kotak atau lingkaran) menyatakan sekumpulan data.
Sebagai contoh berikut digambarkan hirarki hubungan antara Dosen Mata
Kuliah dan Mahasiswa pada sebuah Perguruan Tinggi.
![]() |
Gambar 1.3 : Hirarki Perkuliahan
Dari gambar diatas dapat
dijelaskan bahwa yang bertindak sebagai akar adalah dosen, yang mana dosen
membawahi Mata Kuliah dan Mata Kuliah membawahi Mahasiswa.
b.
Model Jaringan
Model yang kedua ini hampir menyerupai model hirarki, namun pada model
ini satu simpul anak bisa memiliki lebih dari satu anak. Sebagai ilustrasi
perhatikan gambar dibawah ini

Gambar
1.4 : Jaringan Perkuliahan
c.
Model Relasional
Model Relasional adalah model basis data yang paling
sederhana dan yang paling sering dipakai dalam penerapan basis data.
Pada model ini data digambarkan dalam bentuk tabel dua dimensi yang
terdiri dari baris dan kolom.
Untuk lebih jelasnya coba anda perhatikan tabel dibawah ini:
NIP
|
Dosen
|
Kode
|
Kuliah
|
NPM
|
Nama_Mhs
|
111401211
|
Irwansyah
|
MKK-21421
|
Basis Data
|
05231101
|
Rani
|
111401211
|
Irwansyah
|
MKK-21421
|
Basis Data
|
05231120
|
Imam
|
111401211
|
Irwansyah
|
MKK-21215
|
Flowchart
|
05231120
|
Imam
|
111401211
|
Irwansyah
|
MKK-21215
|
Flowchart
|
05231122
|
Rahmad
|
111401211
|
Irwansyah
|
MKK-21215
|
Flowchart
|
05231127
|
Rena
|
111401231
|
Aca
|
MKK-21217
|
Matematika
|
05231122
|
Rahmad
|
111401231
|
Aca
|
MKK-21217
|
Matematika
|
05231127
|
Rena
|
111401231
|
Aca
|
MKK-21217
|
Matematika
|
05231150
|
Santi
|
Tabel 1.1 : Tabel Perkuliahan
BAB II
KONSEP DASAR
PERANCANGAN BASIS DATA

Pada bab ini
kita akan membahas konsep dasar perancangan basis data pada model basis data
relasional (tabel relasi).
2.1
Atribut Kunci (Key
Field)
Pada dasarnya,
key adalah satu atau gabungan dari beberapa atribut yang dapat membedakan semua
baris data dalam tabel secara unik. Artinya, jika suatu atribut dijadikan
sebagai key, maka tidak boleh ada dua atau lebih baris data dengan nilai yang
sama untuk atribut tersebut.
Ada minimal 3
key yang dikenal dalam perancangan basis data, yaitu:
a.
Kunci Primer (Primary Key)
b.
Kunci Alternatif (Alternative
Key)
c.
Kunci Tamu (Foreign Key)
a.
Kunci Primer
Kunci primer adalah satu atribut atau lebih yang dapat mengidentifikasi
suatu baris data secara unik dan dapat mewakili setiap akses data dari suatu
tabel. Kunci primer untuk suatu tabel diambil dari atribut yang paling unik.
Fungsi dari kunci primer:
1)
Sebagai Identitas
2)
Pengurutan Data
3)
Pencarian Data
4)
Sebagai tamu jika terjadi relasi
antar tabel
Contoh:
·
Tabel Karyawan
NIK berfungsi sebagai
Kunci Primer, sebab dalam suatu perusahaan tidak mungkin ada pegawai yang
mempunyai NIK yang sama, jika terjadi NIKnya kembar maka telah terjadi
kesalahan dalam pengurutan data NIK.
·
Tabel Barang
Kode Barang merupakan
kunci primer, karena Kode Barang adalah atribut yang paling unik.
b.
Kunci Alternatif
Kunci alternatif adalah satu atau lebih atribut yang dapat digunakan
sebagai kunci kedua yang digunakan untuk mewakili suatu akses data pada tabel.
Kunci alternatif untuk suatu tabel diambil dari atribut yang tingkat
keunikannya satu tingkat dibawah kunci primer.
Fungsi kunci alternatif:
1)
Pengurutan Data
2)
Pencarian Data
Contoh
·
Pada Tabel Karyawan
Nama Karyawan dapat dijadikan sebagai kunci alternatif jika karyawan
tersebut tidak diketahui NIKnya untuk keperluan akses data.
·
Pada Tabel Barang
Nama Barang dapat dijadikan kunci alternatif karena untuk keperluan akses
data bisa dipakai jika kode barangnya tidak diketahui.
c.
Kunci Tamu
Kunci tamu merupakan kunci primer tabel satu yang diletakkan pada tabel
dua yang bertindak sebagai kunci relasi. Kegunaan dari kunci tamu adalah untuk
melengkapi relasi antar tabel pada suatu basis data.
Contoh:
Terdapat dua tabel yaitu tabel pegawai dan tabel bagian. Tabel pegawai
mempunyai kunci primer yaitu NIP dan tabel bagian mempunyai kunci primer yaitu
kode bagian. Untuk keperluan relasi maka
kode bagian diletakkan pada tabel pegawai, dalam hal ini kode bagian merupakan
tamu bagi tabel pegawai. Untuk lebih jelasnya perhatikan tabel dibawah ini.
Tabel Pegawai
![]() |
Nama
|
Alamat
|
TTL
|
Kd_Bag
|
111401121
|
Budiman
|
Jl.
Pagar Ayu No. 5 Balik Papan
|
Tenggarong,
20-3-1980
|
ADM
|
111401122
|
Rahman
|
Jl.
Cengkeh No. 5 Balik Papan
|
Minahasa,
3-4-1975
|
PRS
|
111401123
|
Yanti
|
Jl.
Mawar No. 75 Balik Papan
|
Ambon,
9-9-1975
|
ADM
|
Tabel Bagian
Kd_Bag
|
Nm_Bag
|
ADM
|
Administrasi
|
PRS
|
Personalia
|
KEU
|
Keuangan
|
Tabel 2.1 : Kunci Tamu
2.2 Kardinalitas/ Derajat relasi
Relasi yang terjadi dalam dua
tabel (himpunan entitas) dapat dikategorikan menjadi 3 macam, yaitu:
a.
Relasi 1:1
Setiap entitas pada himpunan entitas A berhubungan dengan paling banyak
dengan satu entitas pada himpunan entitas B, dan begitu juga sebaliknya.
A B
![]() |
Gambar 2.1 : Relasi 1:1
b.
Relasi 1:N/ N:1
Setiap entitas pada himpunan entitas A dapat
berhubungan dengan banyak entitas pada himpunan entitas B, tetapi tidak
sebaliknya.
Setiap entitas pada himpunan entitas B dapat berhubungan dengan banyak
entitas pada himpunan entitas A, tetapi tidak sebaliknya.
B A

Gambar 2.2 : Relasi 1:N/ N:1
c.
Relasi N:N
Setiap entitas pada himpunan entitas A dapat
berhubungan dengan banyak entitas pada himpunan entitas B, dan sebaliknya.
A B

Gambar 2.3 : Relasi N:N
2.3
Aturan Pemasangan Kunci
Relasi
Dalam
perancangan basis data kita harus memperhatikan aturan penenpatan kunci relasi.
Pemasangan kunci relasi ditentukan berdasarkan derajat relasi yang terjadi
antar tabel tersebut.
Adapun aturan
pemasangan kuncinya adalah sebagai berikut:
a.
Jika relasi yang terjadi adalah
1:1 maka kunci primer dari kedua tabel yang berelasi diletakkan pada tabel
pasangannya masing-masing, atau kedua tabel tersebut dijadikan satu tabel.
Contoh :
·
Terdapat dua tabel yaitu
Kelas dan Wali kelas yang mana relasinya adalah 1:1 (satu kelas hanya mempunyai
satu wali kelas dan satu wali kelas hanya mengepalai satu kelas saja).
![]() |
Gambar 2.4 : Tabel Kelas dan Wali Kelas
Untuk merelasikan tabel diatas maka kita dapat menggabungkan kedua tabel
tersebut seperti pada gambar 2.5 berikut
![]() |
Gambar 2.5 : Gabungan tabel Kelas dan Wali Kelas
b.
Jika relasinya 1:N/ N:1 maka kunci
primer dari tabel yang derajat relasinya satu diletakkan pada tabel yang
derajat relasinya banyak.
Contoh
·
Terdapat dua tabel yang
saling berelasi yaitu Bagian dan Karyawan dengan masing – masing atribut:
Bagian : Kd_Bag, Nm_Bag
Karyawan : NIK, Na_Kar,
Alamat, Status
Relasi yang terjadi adalah 1:N (dalam satu bagian terdapat banyak
karyawan sedang satu orang karyawan hanya menempati satu bagian).
Dari relasi tersebut maka penyelesaiannya adalah sebagai berikut:
![]() |
Gambar
2.6 : Tabel Relasi 1:N
c.
Jika relasinya N:N maka akan
terbentuk tabel baru sebagai konektor antar kedua tabel tersebut. Isi dari
tabel baru tersebut adalah kunci primer dari kedua tabel ditambah dengan
atribut lain yang terbentuk akibat relasi. Adapun relasi baru yang terbentuk
antara tabel induk dan konektor adalah relasi 1:N.
Contoh:
·
Terdapat dua tabel yang
saling berelasi yaitu Mahasiswa dan Mata Kuliah dengan atribut masing-masing
sebagai berikut:
Mahasiswa : NPM, Nama, Alamat
Mata Kuliah : Kd_Kul, Nm_Kul, Sks
Relasi yang terjadi adalah N:N (satu orang mahasiswa menempuh banyak mata
kuliah dan satu mata kuliah tempuh oleh banyak mahasiswa).
Dari contoh diatas penyelesaianya adalah sebagai berikut:

Gambar
2.7 : Tabel relasi N:N
BAB III
PERANCANGAN BASIS
DATA
![]() |
Dalam perancangan basis data kita
mengenal ada beberapa teknik perancangan namun untuk memfokuskan pembahasan
kita hanya membahas dua teknik yang paling sering digunakan yaitu teknik Entity
Relationship Diagram (ERD) dan teknik Normalisasi.
3.1
Entity Relationship Diagram
Entity
Relationship Diagram adalah model data konseptual tingkat tinggi untuk
perancangan basis data. Model data konseptual adalah himpunan konsep yang
mendeskripsikan struktur basis data, transaksi pengambilan dan pembaharuan
basis data.
Entity
Relationship Diagram pertama kali dikemukakan oleh Chen (1976) yang mana model
ini merupakan persepsi dunia nyata yang terdiri dari objek-objek dasar yang
disebut entitas dan keterhubungan (relationship) antar entitis-entitas itu.
Komponen-komponen
pokok Entity Relationship Diagram adalah sebagai berikut:
a.
Entitas yang dilambangkan dengan
persegi panjang yang merepresentasikan Orang (Pegawai, Dosen, Mahasiswa, dll),
Barang, Konsep, dll.
b.
Relationship yang dilambangkan dengan Belah Ketupat yang merepresentasi-kan hubungan antar
entitas.
c.
Atribut/ Properti dilambangkan
dengan Elips/ Lingkaran Lonjong merepsentasikan Atribut yang terdapat dalam
entitas dan relationship.
d.
Penghubung yang dilambangkan
dengan garis merepresentasikan penghubung antara entitas dengan atribut dan
entitas dengan Relationship.
e.
Derajat relasi yang dapat
dinyatakan dengan angka 1 (One) dan huruf
N (Many).
![]() |
Gambar 3.1 : Simbol Entity Relationship Diagram
Langkah-langkah
teknis yang dilakukan untuk menghasilkan Entity Relationship Diagram adalah
sebagai berikut:
a.
Mengidentifikasi dan menetapkan
seluruh file/ entitas yang akan terlibat
b.
Menentukan Primary Key untuk
setiap entitas.
c.
Melengkapi atribut bukan kunci
sesuai dengan ketergantungan fungsional pada entitas masing-masing.
d.
Menentukan derajat relasi antar
entitas.
e.
Pemasangan kunci relasi
f.
Melengkapi entitas/ relasi dengan
atribut sisa (jika ada).
Contoh
Dengan teknik
Entity Relationship Diagram buatlah rancangan basis data “Perkuliahan” dari
kumpulan atribut berikut:
Field
|
Keterangan
|
Kd_Jur
Nm_Jur
Prog_Studi
NPM
Nm_Mhs
Al_Mhs
Jk_Mhs
T_Lahir
Tgl_Lahir
Kd_Mk
Nm_Mk
SKS
Nilai
NID
Nm_Ds
Al_Ds
No_Telp
|
Kode Jurusan
Nama Jurusan
Program Studi
Nomor Pokok Mahasiswa
Nama Mahasiswa
Alamat Mahasiswa
Jenis Kelamin
Tempat Lahir
Tanggal Lahir
Kode Mata Kuliah
Nama Mata Kuliah
Beban SKS
Nilai yg di dapat oleh mahasiswa dlm menempuh mata
kuliah.
Nomor Induk Dosen
Nama Dosen
Alamat Dosen
Nomor Telepon/ HP
|
Ketentuan
Relasi:
1.
Satu orang mahasiswa mempunyai
satu jurusan dan dalam satu Jurusan terdapat banyak mahasiswa
2.
Satu orang mahasiswa mempelajari
banyak mata kuliah dan satu mata kuliah dipelajari oleh banyak mahasiswa
3.
Satu Orang dosen dapat mengajar
lebih dari satu mata kuliah dan satu mata kuliah hanya diajarkan oleh satu
dosen
Berdasarkan data
diatas rancanglah basis data dengan teknik Entity Relationship Diagram!
Penyelesaian:
a.
Berdasarkan data diatas dapat
diidentifikasikan bahwa entitas yang terlibat adalah Jurusan, Mahasiswa, Mata
Kuliah, Dosen. Untuk itu kita bisa menggambarkan entitas tersebut seperti pada
gambar berikut:
![]() |
Gambar 3.2 :
Entitas
b.
Setelah
entitasnya terbentuk langkah kedua adalah menentukan kunci primer, dalam hal
ini kita bisa melihat pada gambar dibawah ini:

Gambar
3.3 : Pemasangan Kunci Primer
c.
Langkah berikutnya adalah kita
melengkapi atribut bukan kunci berdasarkan ketergantungan fungsi dari masing
masing entitas, perhatikan gambar berikut ini:
![]() ![]() |
|||||||
![]() |
|||||||
![]() |
|||||||
![]() |
|||||||
Gambar 3.4 : Pemasangan atribut lain yang terlibat
Catatan: Nilai tidak diikut sertakan disini karena
nilai ketergantungan fungsi kepada NPM, Kd_Mk (Mahasiswa mempelajari mata
kuliah baru mendapatkan nilai).
d.
Selanjutnya kita menentukan
derajat relasi dari masing-masing entitas, untuk jelasnya kita lihat pada
gambar berikut:


Gambar
3.5 : Pemasangan Relasi dan Derajat Relasi
e.
Berikutnya adalah pemasangan kunci
relasi, untuk lebih jelasnya perhatikan gambar berikut


Gambar
3.6 : Pesangan Kunci Relasi
f.

Langkah
terakhir adalah menambahkan atribut yang belum terpasang sebalumnya (jika ada),
dalam hal ini masih terdapat satu atribut yang belum terpasang yaitu nilai,
yang mana nilai ditentuka berdasarkan NPM yang berelasi dengan Kd_Mk. Untuk
lebih jelasnya perhatikan gambar dibawah ini.


Gambar
3.7 : Melengkapi Atribut yang belum terpasang
Latihan
Buatlah ERD dari data dibawah ini
1.
Rumah Sakit
Field
|
Keterangan
|
No_Pas
Nm_Dokter
Kd_Dokter
Kamar
Nm_Pas
No_Kamar
Biaya
Penyakit
|
Nomor Pasien
Nama Dokter
Kode Dokter
Nama Kamar
Nama Pasien
Nomor Kamar
Biaya Inap Perhari
Nama Penyakit
|
2.
Sekolah
Field
|
Keterangan
|
Kelas
Wali_Kelas
Nama
Alamat
NISN
Nomor_Kwi
Pembayaran
Total
|
Kelas
Nama Wali Kelas
Nama Siswa
Alamat Siswa
Nomor Induk Siswa Nasional
Nomor Kwitansi Pembayaran
Jenis Pembayaran
Total Pembayaran
|
3.
Pembelian Motor
Field
|
Keterangan
|
No_Pel
Merek
Type
Harga
Nama
Alamat
Pekerjaan
Tgl_Beli
Bonus
Kd_Motor
|
Nomor Pelanggan
Merek Motor
Type Motor
Harga Cash
Nama Pelanggan
Alamat Pelanggan
Pekerjaan
Tanggal Pembelian
Bonus setiap pembelian motor
Kode Motor
|
4.
Buku
Field
|
Keterangan
|
ID_Pengarang
Judul
Jlh_Hal
Kd_Buku
Nm_Pengarang
Kd_Penerbit
Penerbit
No_Lemari
Kategori
|
ID Pengarang
Judul Buku
Jumlah Halaman
Kode Buku
Nama Pengarang
Kode Penerbit
Penerbit
Nomor Lemari
Kategori untuk setiap lemari
|
5.
Pegawai
Field
|
Keterangan
|
NIP
Golongan
Pangkat
Gaji_Pokok
Tunjangan
Nama
Alamat
TMT
|
Nomor Induk Pegawai
Golongan
Pangkat
Gaji Pokok
Tunjangan
Nama Pegawai
Alamat
Terhitung Mulai Terangkat
|
6.
Ujian
Field
|
Keterangan
|
Nama
No_Tes
Ruang
Hari
Penguji
ID_Penguji
|
Nama Peserta
Nomor Tes
Ruangan
Hari
Penguji
ID Penguji
|
3.2
Normalisasi
Salah satu teknik yang paling
sering digunakan dalam perancangan basis data adalah teknik normalisasi.
Normalisasi adalah suatu proses pemisahan tabel yang bermasalah (Anomali)
menjadi dua atau lebih tabel yang tidak mengalami masalah tersebut.
a.
Anomali Insert
Anomali insert/penyisipan terjadi jika pada saat penambahan hendak
dilakukan ternyata ada elemen data yang masih kosong dan elemen data tersebut
justru menjadi kunci. Sebagai contoh terdapat tabel yang berisi tiga buah
atribut.
Kuliah
|
Ruang
|
Tempat
|
Jaringan Komputer
|
Merapi
|
Gedung Utara
|
Pengantar Basis Data
|
Merbabu
|
Gedung Utara
|
Matematika I
|
Rama
|
Gedung Selatan
|
Sistem Pakar
|
Sinta
|
Gedung Selatan
|
Kecerdasan Buatan
|
Merapi
|
Gedung Utara
|
Tabel 1.1 : Relasi Kuliah, Ruang dan Tempat
Relasi diatas menyatakan bahwa:
-
Kuliah menggunakan ruang tertentu
(misalnya Jaringan Komputer menggunakan ruang Merapi), dan
-
Suatu ruang berada pada tempat
tertentu (misalnya ruang Merapi terdapat pada Gedung Utara).
Misalnya, bagaimana caranya menyimpan fakta bahwa
ruang baru bernama Arjuna terdapat pada Gedung Selatan? Penyisipan tidak dapat
dilakukan mengingat tak ada informasi kuliah yang menggunakan ruang tersebut.
b.
Anomali Update
Anomali update/ peremajaan terjadi bila ada pengubahan pada sejumlah
data, tetapi tidak seluruhnya diubah. Sebagai contoh, terdapat relasi Pesanan
Beli yang mengandung data Peemasok dan Kota
yang menyatakan lokasi pemasok, barang dan Jumlah yang menyatakan nama barang
dan jumlah barang yang dipesan.
Pemasok
|
|
Barang
|
Jumlah
|
Kartika
|
|
Monitor GGG
|
10
|
Citra
|
|
ZIP-Drive
|
4
|
Candra
|
|
Keyboard
|
5
|
Citra
|
|
Mouse CCP
|
25
|
Tabel 3.2 : Relasi Pesan Beli
Seandainya pemasok Citra pindah
alamat Bogor ,
dan pengubahan hanya dilakukan pada data pertama, maka hasilnya adalah sebagai
berikut:
Pemasok
|
|
Barang
|
Jumlah
|
Kartika
|
|
Monitor GGG
|
10
|
Citra
|
|
ZIP-Drive
|
4
|
Candra
|
|
Keyboard
|
5
|
Citra
|
|
Mouse CCP
|
25
|
Tabel 3.3 : Relasi Pesan Beli setelah adanya perubahan
Pada tabel diatas terdapat data yang tidak konsisten, yaitu fakta pertama
menyatakan pemasok Citra berlokasi di Bogor ,
tetapi fakta kedua menyatakan bahwa pemasok Citra beralamat di Bandung .
c.
Anomali Delete
Anomali delete/ penghapusan terjadi jika sekiranya
sesuatu baris (Tupel) yang tak terpakai dihapus dan sebagai akibatnya terdapat
data lain yang hilang.
No_Siswa
|
Nama_Kursus
|
Biaya
|
10
|
Bahasa Inggris
|
60.000
|
10
|
Bahasa Prancis
|
80.000
|
10
|
Bahasa Mandarin
|
60.000
|
15
|
Bahasa Inggris
|
60.000
|
20
|
Bahasa Jepang
|
65.000
|
Tabel 3.4 : Relasi Siswa, Kursus dan Biaya
Pada
contoh diatas apa yang terjadi seandainya data bahwa siswa dengan identitas 20
yang mengambil kursus Bahasa Jepang di hapus? Data yang menyatakan bahwa biaya kursus Bahasa Jepang sebesar
65.000 juga akan terhapus!.
No_Siswa
|
Nama_Kursus
|
Biaya
|
10
|
Bahasa Inggris
|
60.000
|
10
|
Bahasa Prancis
|
80.000
|
10
|
Bahasa Mandarin
|
60.000
|
15
|
Bahasa Inggris
|
60.000
|
Tabel 3.5 : Relasi Siswa, Kursus dan Biaya setelah dilakukan
penghapusan
Tahap-tahap Normalisasi
a.
Tahap Normal Pertama
Bentuk normal
pertama biasanya dikenakan pada tabel yang belum ternormalisasi. Tabel yang
belum ternormalisasi adalah tabel yang memiliki atribut yang berulang. Sebagai
contoh, berikut adalah data dalam keadaan belum ternormalisasi.
NIP
|
Nama
|
Jabatan
|
Keahlian
|
Lama
|
107
|
Ilham
|
Analis
Senior
|
VB
|
6
1
|
109
|
Rian
|
Analis
Senior
|
Foxpro
|
2
2
|
112
|
Fika
|
Programmer
|
Foxpro
Web Program
|
1
1
1
|
Tabel 3.6 : Relasi Umum
Bentuk tabel
diatas disebut dengan Relasi Umum yang mana dalam satu baris terdapat dua
nilai.
Suatu relasi dikatakan dalam
bentuk normal pertama jika dan hanya jika setiap atribut bernilai tunggal untuk
setiap baris.
Dari data pada
tabel diatas perlu diubah menjadi relasi sebagaiman terlihat pada tabel dibawah
ini:
NIP
|
Nama
|
Jabatan
|
Keahlian
|
Lama
|
107
|
Ilham
|
Analis
Senior
|
|
6
|
107
|
Ilham
|
Analis
Senior
|
VB
|
1
|
109
|
Rian
|
Analis
Senior
|
|
2
|
109
|
Rian
|
Analis
Senior
|
Foxpro
|
2
|
112
|
Fika
|
Programmer
|
|
1
|
112
|
Fika
|
Programmer
|
Foxpro
|
1
|
112
|
Fika
|
Programmer
|
Web Program
|
1
|
Tabel 3.7 : Relasi yang berada pada Normal Pertama
b.
Tahap Normal Kedua
Suatu relasi
berada dalam bentuk normal kedua jika dan hanya jika:
-
berada pada bentuk normal pertama
-
semua atribut bukan kunci memiliki
depedensi sepenuhnya terhadap kunci primer.
Pada tabel
normal pertama diatas tidak tergolong sebagai bentuk normal kedua, meskipun
memenuhi persyaratan bentuk normal pertama. Perhatikan Nama dan Jabatan
mempunyai depedensi sepenuhnya kepada NIP, namun tidak demikian dengan Keahlian
dan Pengalaman.
Berdasarkan
kenyataan diatas maka untuk merubah dari bentuk normal pertama ke normal kedua
kita harus melakukan dekomposisi (pemisahan) tabel seperti pada tabel dibawah
ini:
|
NIP
|
Nama
|
Jabatan
|
107
|
Ilham
|
Analis
Senior
|
109
|
Rian
|
Analis
Senior
|
112
|
Fika
|
Programmer
|
Tabel 3.8 : Relasi pada Normal Kedua
c.
Tahap Normal Ketiga
Suatu relasi
dikatakan dalam bentuk normal ketiga jika:
-
Berada dalam bentuk normal kedua
-
Setiap atribut bukan kunci tidak
memiliki dependensi transitif terhadap kunci primer
Contoh suatu
relasi yang memenuhi bentuk normal kedua tetapi tidak memenuhi bentuk normal
ketiga
No. Pesanan
|
No. Urut
|
Kode Item
|
Nama Item
|
50001
|
0001
|
P1
|
Pensil
|
50001
|
0002
|
P2
|
Buku Tulis
|
50001
|
0003
|
P3
|
Penggaris
|
50001
|
0004
|
P4
|
Penghapus
|
50002
|
0001
|
P3
|
Penggaris
|
50002
|
0002
|
P5
|
Pulpen
|
50002
|
0003
|
P6
|
Spidol
|
50003
|
0001
|
P1
|
Pensil
|
50003
|
0002
|
P2
|
Buku Tulis
|
Tabel 3.9 : Relasi yang belum Normal Ketiga
Berdasarkan
tabel diatas maka kita dapat melakukan dekomposisi terhadap tabel tersebut
sehingga menjadi dua tabel berikut ini:
|
Kode Item
|
Nama Item
|
P1
|
Pensil
|
P2
|
Buku Tulis
|
P3
|
Penggaris
|
P4
|
Penghapus
|
P5
|
Pulpen
|
P6
|
Spidol
|
Tabel
3.10 : Relasi dekomposisi sehingga memenuhi Normal Ketiga
Pada beberapa literatur terdapat
tahap Normal Keempat dan Kelima serta BCNF, tetapi pada modul ini kita tidak
membahasnya karena jika tabel sudah pada tingkat Normal Ketiga sebuah tabel
sudah dikatakan baik.
Contoh:
Dengan Normalisasi buatlah
rancangan basis data “Perkuliahan” dari kumpulan atribut berikut:
Field |
Keterangan
|
Kd_Jur
Nm_Jur
Prog_Studi
NPM
Nm_Mhs
Al_Mhs
Jk_Mhs
T_Lahir
Tgl_Lahir
Kd_Mk
Nm_Mk
SKS
Nilai
NID
Nm_Ds
Al_Ds
No_Telp
|
Kode Jurusan
Nama Jurusan
Program Studi
Nomor Pokok Mahasiswa
Nama Mahasiswa
Alamat Mahasiswa
Jenis Kelamin
Tempat Lahir
Tanggal Lahir
Kode Mata Kuliah
Nama Mata Kuliah
Beban SKS
Nilai yg di dapat oleh mahasiswa dlm menempuh mata
kuliah.
Nomor Induk Dosen
Nama Dosen
Alamat Dosen
Nomor Telepon/ HP
|
Ketentuan Relasi:
1.
Satu orang mahasiswa mempunyai
satu jurusan dan dalam satu Jurusan terdapat banyak mahasiswa
2.
Satu orang mahasiswa mempelajari
banyak mata kuliah dan satu mata kuliah dipelajari oleh banyak mahasiswa
3.
Satu Orang dosen dapat mengajar
lebih dari satu mata kuliah dan satu mata kuliah hanya diajarkan oleh satu
dosen
Jawab:
- Tahap Normal Pertama
Pada
data diatas sudah memenuhi tahap Normal Pertama karena tidak ada lagi baris ataupun kolom yang bernilai
banyak.
- Tahap Normal Kedua
-
Kunci Primer:
Kd_Jur,
NPM, Kd_Mk, NID
-
Ketergantungan terhadap kunci
Primer




Berdasarkan
ketergantungan terhadap kunci primer tersebut maka terjadi dekomposisi tabel
sehingga membentuk tabel berikut:
![]() |
![]() |
![]() |
![]() |
||||
Tabel 3.11 : Relasi Perkuliahan ditingkat Normal Kedua
- Tahap Normal Ketiga

![]() |
Tabel 3.12 : Relasi Mahasiswa Nilai di tingkat Normal Ketiga
Setelah
selesai langkah terakhir dari perancangan basis data dengan teknik normalisasi
adalah kita menentukan relasi dan memasangkan kunci relasi berdasarkan relasi
yang terjadi.

Tabel 3.13 : Derajat Relasi dan Pemasangan Kunci Relasi
Soal :
1.
Basis Data “Pembelian Barang”
Field |
Keterangan
|
No_Fak
Tgl_Order
Tgl_Kirim
Tgl_Terima
Kd_Brg
Nm_Brg
Harga
Qty
Jumlah
Total
No_Supp
Nm_Supp
Al_Supp
Telp.
|
Nomor Faktur
Tanggal Order Barang
Tanggal Kirim Barang
Tanggal Terima
Kode Barang
Nama Barang
Harga Satuan
Quantity
Jumlah Harga
Total Transaksi
Nomor Supplier
Nama Supplier
Alamat Supplier
Nomor Telephon Supplier
|
Ketentuan
Relasi:
- Dalam Satu Faktur terdapat banyak barang yang diorder dan satu Barang bisa diorder dalam beberapa faktur.
- Satu Supplier Mengirimkan banyak Faktur sedangkan satu Faktur hanya berasal dari Satu Supplier.
Latihan
Buatlah ERD dari data dibawah ini
1.
Kedit Motor
Field
|
Keterangan
|
No_Pel
Merek
Type
Harga
Nama
Alamat
Pekerjaan
Bonus
Kd_Motor
Kd_kredit
Lama
DP
AngsPerbulan
|
Nomor Pelanggan
Merek Motor
Type Motor
Harga Cash
Nama Pelanggan
Alamat Pelanggan
Pekerjaan
Bonus setiap kode kredit motor
Kode Motor
Kode Kredit
Lama Kredit
Uang Muka
Angsuran Perbulan
|
2.
Rumah Sakit
Field
|
Keterangan
|
No_Pas
Nm_Dokter
Kd_Dokter
Kamar
Nm_Pas
No_Kamar
Biaya
Penyakit
|
Nomor Pasien
Nama Dokter
Kode Dokter
Nama Kamar
Nama Pasien
Nomor Kamar
Biaya Inap Perhari
Nama Penyakit
|
3.
Buku
Field
|
Keterangan
|
ID_Pengarang
Judul
Jlh_Hal
Kd_Buku
Nm_Pengarang
Kd_Penerbit
Penerbit
|
ID Pengarang
Judul Buku
Jumlah Halaman
Kode Buku
Nama Pengarang
Kode Penerbit
Penerbit
|
4.
Sekolah
Field
|
Keterangan
|
Kelas
Wali_Kelas
Nama
Alamat
NISN
Nomor_Kwi
Pembayaran
Total
|
Kelas
Nama Wali Kelas
Nama Siswa
Alamat Siswa
Nomor Induk Siswa Nasional
Nomor Kwitansi Pembayaran
Jenis Pembayaran
Total Pembayaran
|
5.
Pegawai
Field
|
Keterangan
|
NIP
Golongan
Pangkat
Gaji_Pokok
Tunjangan
Nama
Alamat
TMT
|
Nomor Induk Pegawai
Golongan
Pangkat
Gaji Pokok
Tunjangan
Nama Pegawai
Alamat
Terhitung Mulai Terangkat
|
6.
Ujian
Field
|
Keterangan
|
Nama
No_Tes
Ruang
Hari
Penguji
ID_Penguji
|
Nama Peserta
Nomor Tes
Ruangan
Hari
Penguji
ID Penguji
|
BAB IV
KAMUS DATA
![]() |
Kamus
data merupakan struktur basis data yang berisi informasi mengenai nama basis
data, nama tabel/ file, atribut kunci dan atribut lainnya yang terlibat dalam
sebuah basis data. Dan juga terdapat informasi mengenai struktur dari
atribut-atribut yang digunakan seperti tipe data, lebar karakter (jumlah
digit), dan keterangan dari nama atribut yang digunakan.
Contoh:
Diketahui
rancangan basis data “Perkuliah” sebagai berikut:
![]() |
Tabel 3.1 : Basis data “Perkuliahan”
Basis
data “Perkuliahan” tersebut harus dilengkapi dengan struktur basis data sebagai
berikut.
a.
Kamus Data Jurusan
Nama Basis Data : Perkuliahan
Nama File : Jurusan
Primary Key : Kd_Jur
Foreign Key : -
No
|
Nama Field
|
Data Type
|
Width
|
Decimal
|
Keterangan
|
1
|
Kd_Jur
|
String
|
2
|
-
|
Kode Jurusan
|
2
|
Nm_Jur
|
String
|
20
|
-
|
Nama Jurusan
|
3
|
Prog_Studi
|
String
|
20
|
-
|
Program Studi
|
Tabel
3.2 : Kamus data Jurusan
b.
Kamus Data Mahasiswa
Nama Basis Data : Perkuliahan
Nama File : Mahasiswa
Primary Key : NPM
Foreign Key : Kd_Jur
No
|
Nama Field
|
Data Type
|
Width
|
Decimal
|
Keterangan
|
1
|
NPM
|
String
|
8
|
-
|
Nomor Pokok Mahasiswa
|
2
|
Nm_Mhs
|
String
|
15
|
-
|
Nama Mahasiswa
|
3
|
Al_Mhs
|
String
|
20
|
-
|
Alamat Mahasiswa
|
4
|
Jk_Mhs
|
String
|
9
|
-
|
Jenis Kelamin
|
5
|
T_Lahir
|
String
|
15
|
-
|
Tempat Lahir
|
6
|
Tgl_Lahir
|
Date
|
8
|
-
|
Tanggal Lahir
|
7
|
Kd_Jur
|
String
|
2
|
-
|
Kode Jurusan
|
Tabel 3.3 : Kamus Data Mahasiswa
c.
Kamus Data Mata Kuliah
Nama Basis Data : Perkuliahan
Nama File : Mata Kuliah
Primary Key : Kd_Mk
Foreign Key : NID
No
|
Nama Field
|
Data Type
|
Width
|
Decimal
|
Keterangan
|
1
|
Kd_Mk
|
String
|
8
|
-
|
Kode
Mata Kuliah
|
2
|
Nm_Mk
|
Stirng
|
15
|
-
|
Nama
Mata Kuliah
|
3
|
SKS
|
Numeric
|
1
|
0
|
Beban
SKS
|
4
|
NID
|
String
|
8
|
-
|
Nomor
Induk Dosen
|
Tabel 3.4 : Kamus Data Mata Kuliah
d.
Kamus Data Nilai
Nama Basis Data : Perkuliahan
Nama File : Nilai
Primary Key : -
Foreign Key : NPM, Kd_Mk
No
|
Nama Field
|
Data Type
|
Width
|
Decimal
|
Keterangan
|
1
|
NPM
|
String
|
8
|
-
|
Nomor
Pokok Mahasiswa
|
2
|
Kd_Mk
|
String
|
8
|
-
|
Kode
Mata Kuliah
|
3
|
Nilai
|
Numeric
|
2
|
2
|
Nilai
Mahasiswa untuk satu Mata Kuliah
|
Tabel 3.5 : Kamus Data Nilai
e.
Kamus Data Dosen
Nama Basis Data : Perkuliahan
Nama File : Dosen
Primary Key : NID
Foreign Key : -
No
|
Nama Field
|
Data Type
|
Width
|
Decimal
|
Keterangan
|
1
|
NID
|
String
|
8
|
-
|
Nomor Induk Dosen
|
2
|
Nm_Ds
|
String
|
15
|
-
|
Nama Dosen
|
3
|
Al_Ds
|
String
|
20
|
-
|
Alamat Dosen
|
4
|
No_Telp
|
String
|
12
|
-
|
Nomor Telephon/ HP.
|
Tabel 3.6 : Kamus Data Dosen