bab 7 merancang basis data - Sistem Informasi Teknik Elektro

advertisement
BAB 7
MERANCANG BASIS DATA
Tujuan Pembelajaran:
Memahami kaidah Perancangan Basis Data
7.1
Pentingnya Perancangan Basis Data yang Baik
7.2
Macam-macam Relasi Tabel
7.3
Memahami Normalisasi
7.4
Latihan Merancang Basis Data
Bab 7 Merancang Basis Data
VII- 1
7.1. Pentingnya Perancangan Basis Data yang Baik
Dalam sebuah aplikasi berbasis web, keberadaan basis data sangatlah penting.
Sebuah situs web akan lebih informatif dan menarik apabila data yang
ditampilkannya selalu diperbeharui. Situs web yang seperti ini biasa disebut situs
yang dinamis. Untuk situs web yang bersifat dinamis, maka diperlukan tempat
penyimpanan data yang disebut dengan basis data(database). Basis Data akan
menyimpan semua data yang diperlukan dalam web dinamis. Data yang tersimpan
ini dapat bertambah, berubah atau dihapus, sesuai kebutuhan. Situs web yang baik
adalah situs yang terpelihara dan data yang ditampilkan selalu diperbaharui.
Dalam proses memperbaharui data, maka diperlukan sebuah basis data yang
dirancang dengan baik sehingga mampu mengikuti perubahan ragam dan metode
penyimpanan data.
Sebuah basis data yang dirancang dengan baik memberikan Anda akses ke up to
date dan informasi yang akurat. Karena desain yang benar sangat penting untuk
mencapai tujuan Anda dalam bekerja dengan database, investasi waktu untuk
mempelajari prinsip-prinsip desain yang baik yang dibutuhkan adalah hal yang
harus dilakukan. Pada akhirnya, Anda akan jauh lebih nyaman dengan database
yang memenuhi kebutuhan Anda dan dapat dengan mudah mengakomodasi
perubahan yang terjadi.
Artikel ini memberikan pedoman untuk perencanaan database. Anda akan belajar
bagaimana untuk memutuskan informasi apa yang Anda butuhkan, bagaimana
membagi informasi itu ke dalam tabel dan kolom yang tepat, dan bagaimana antar
tabel berhubungan satu sama lain. Anda harus membaca artikel ini sebelum Anda
membuat database pertama Anda.
Ada prinsip-prinsip tertentu yang memandu proses desain database. Prinsip
pertama adalah bahwa duplikat informasi (reduncy) adalah buruk, karena akan
boros dalam ruang media penyimpan dan meningkatkan kemungkinan kesalahan
dan inkonsistensi. Prinsip kedua adalah bahwa kebenaran dan kelengkapan
informasi penting. Jika database Anda berisi informasi yang tidak benar, laporan
VII- 2
Bab 7 Merancang Basis Data
yang berasal dari informasi yang berada pada database juga akan berisi informasi
yang salah. Akibatnya, setiap keputusan yang Anda buat yang didasarkan pada
laporan-laporan yang salah.
Sebuah desain database yang baik, harus memiliki syarat:
1. Membagi informasi Anda ke dalam tabel berbasis subjek untuk mengurangi
data yang berlebihan.
2. Memberikan akses informasi yang diperlukan untuk menggabung informasi
dalam tabel bersama-sama sesuai kebutuhan.
3. Membantu dukungan dan memastikan akurasi dan integritas informasi Anda.
4. Mengakomodasi pengolahan data dan kebutuhan pelaporan.
4.1. Macam-macam Relasi Tabel
Dalam sebuah basis data, di dalamnya terdapat tabel-tabel. Satu tabel dengan tabel
yang lainnya dapat saja saling berelasi/berhubungan. Hal ini dilakukan agar
supaya kita dapat mengelompokkan data sesuai dengan karakteristiknya masingmasing dan ketika tabel-tabel ini saling berelasi, kita dapat menarik informasi dari
masing-masing karakter data pada tabelnya masing-masing sehingga informasi
yang tersaji menjadi utuh, menyeluruh dan lengkap.
Perlu kita ketahui sebelumnya untuk pengertian Relasi itu sendiri yaitu adalah
hubungan antara tabel yang mempresentasikan hubungan antar objek di dunia
nyata. Relasi merupakan hubungan yang terjadi pada suatu tabel dengan lainnya
yang mempresentasikan hubungan antar objek di dunia nyata dan berfungsi untuk
mengatur mengatur operasi suatu database. Hubungan yang dapat dibentuk dapat
mencakup 3 macam hubungan
One to One :
Mempunyai pengertian "Setiap baris data pada tabel pertama dihubungkan hanya
ke satu baris data pada tabel ke dua". Contohnya : relasi antara tabel Siswa dan
tabel orang tua. Satu baris siswa hanya berhubungan dengan satu baris orang tua
begitu juga sebaliknya.
One to Many:
Bab 7 Merancang Basis Data
VII- 3
Mempunyai pengertian "Setiap baris data dari tabel pertama dapat dihubungkan
ke satu baris atau lebih data pada tabel ke dua". Contohnya : relasi perwalian
antara tabel guru dan tabel siswa. Satu baris guru atau satu guru bisa berhubungan
dengan satu baris atau lebih mahasiswa
Many to Many:
Mempunyai pengertian "Satu baris atau lebih data pada tabel pertama bisa
dihubugkan ke satu atau lebih baris data pada tabel ke dua". Artinya ada banyak
baris di tabel satu dan tabel dua yang saling berhubungan satu sama lain.
Contohnya : relasi antar tabel siswa dan tabel mata kuliah. Satu baris siswa bisa
berhubungan dengan banyak baris mata pelajaran begitu juga sebaliknya.
7.3. Memahami Normalisasi
Normalisasi adalah Teknik/pendekatan yang digunakan dalam membangun desain
logika database relasional melalui organisasi himpunan data dengan tingkat
ketergantungan fungsional dan keterkaitan yang tinggi sedemikian sehingga
menghasilkan struktur tabel yang normal. Tujuan normalisasi adalah:
1. Minimalisasi redundansi (pengulangan data)
2. Memudahkan identifikasi entitas
3. Mencegah terjadinya anomaly (Mudah berubahnya bentuk form)
Proses normalisasi dilakukan pada tabel yang belum normal, seperti contoh tabel
berikut,
Salah satu dari ketidaknormalan pada tabel di atas adalah ada beberapa kolom
pada baris tertentu datanya tidak lengkap. Kemudian ada beberapa kolom, atau
VII- 4
Bab 7 Merancang Basis Data
dalam basis data disebut atribut, yang sejenis yang dibuat berulang seperti pada
contoh tabel di atas adalah kolom Kerusakan1 sampai Kerusakan 3.
Normalisasi Pertama (1NF/ First Normal Form)
Karena form tersebut tidak normal, maka kita akan menjadikan database tersebut
menjadi INF (First Normal Form) :
Suatu relasi disebut memenuhi bentuk normal pertama (1NF) jika dan hanya jika
setiap atribut dari relasi tersebut hanya memiliki nilai tunggal dan tidak ada
pengulangan grup atribut dalam baris.
Bentuk 1NF tidak boleh mengandung
grup atribut yang berulang.
•
Setiap data dibentuk dalam flat file, data dibentuk dalam satu record demi
satu record nilai dari field berupa “atomic value”.
•
Tidak ada set attribute/kolom yang berulang atau bernilai ganda.
•
Tiap attribute/kolom hanya memiliki satu pengertian.
Bentuk normal pertama dari tabel di atas adalah
Kolom kerusakan1 sampai 3 diganti dengan satu kolom keterangan.
Normalisasi Ke Dua (2 NF /Second Normal Form)
Bentuk normal kedua mempunyai syarat yaitu bentuk data telah memenuhi
kriteria bentuk normal kesatu. Atribute bukan kunci haruslah bergantung secara
fungsi pada kunci utama/primary key. Sehingga untuk membentuk normal kedua
haruslah sudah ditentukan kunci-kunci field. Kunci field haruslah unik dan dapat
mewakili atribute lain yg menjadi anggotanya.
Dari contoh Table Rekapitulasi GIN pada normalisasi pertama terlihat bahwa
kunci utama/ primary key yaitu NO_GIN, dan yang merupakan kunci tamu/
foreign key yaitu ID_Staff, Kode_Unit, dan Kode_barang. Pada normalisasi kedua
Bab 7 Merancang Basis Data
VII- 5
ini semua foreign key pada Table Rekapitulasi GIN dipecah menjadi beberapa 3
table.
Bentuk Second Normal Form / Normalisasi Kedua:
Normalisasi Ketiga (3rd NF/Normal Form)
Untuk mencapai bentuk normal ketiga syaratnya adalah:
• Sudah berada dalam bentuk normal kedua (2NF)
• Tidak ada ketergantungan transitif (dimana atribut bukan kunci tergantung
pada atribut bukan kunci lainnya).
Untuk kasus di atas, normalisasi sudah selesai sampai tahap normal kedua.
Contoh Tabel berikut memenuhi 2NF, tapi tidak memenuhi 3NF:
Tabel: Mahasiswa
NIM
Nama
alm_jalan
alm_kota
Alm_Provinsi Alm_odepos
karena masih terdapat atribut non primary key (yakni alm_kota dan alm_Provinsi)
yang memiliki ketergantungan terhadap atribut non primary key yang lain (yakni
alm_kodepos): alm_kodepos→ {alm_Provinsi, alm_kota} , sehingga tabel
tersebut perlu didekomposisi menjadi:
•
Mahasiswa (Nrp, nama, alm_jalan, alm_kodepos)
•
Kodepos (alm_kodepos, alm_provinsi, alm_kota)
VII- 6
Bab 7 Merancang Basis Data
7.4 Latihan Merancang Basis Data
Rancanglah tabel yang belum normal berikut menggunakan kaidah normalisasi 1
sampai 3.
No_Mhs
2325
Nama_Mhs
Badrun
Jurusan
TE
Kode_MK
BM3301
BM3002
2326
Burhan
TE
Mobile
Application
Pemrograman
Web
Kode_Dosen
Nama_dosen
Nilai
BM221
Ahmad
A
BM301
Ratna
A-
BM3201
Networking
BM210
Darta
B
TT3201
SKSO
TT301
Wahyu
A
TT331
Renny
B
TT221
Ridwan
C
TT3001
TT3102
Bab 7 Merancang Basis Data
Nama_MK
Jaringan
Broadband
Satelit
VII- 7
VII- 8
Bab 7 Merancang Basis Data
Download