• Tidak ada hasil yang ditemukan

Perancangan Database Bagian I. Ahmad Hanafi

N/A
N/A
Protected

Academic year: 2021

Membagikan "Perancangan Database Bagian I. Ahmad Hanafi"

Copied!
34
0
0

Teks penuh

(1)

Ahmad Hanafi

Perancangan Database

Bagian I

(2)

Model Data Relasional

Data direprentasikan dalam tabel

berdimensi dua

Tiga komponen yang mendasari

model data relasional:

Struktur data Pemanipulasi data Integritas data Nomor_Peg Nama 05001 Karmen 05002 Tigor 05003 Sita Devi

(3)

Model Data Relasional

Istilah relasi (relation) menyatakan

nama tabel Contoh: PEGAWAI(Nomor_Peg, Nama) Nomor_Peg Nama 05001 Karmen 05002 Tigor 05003 Sita Devi

Struktur data

(4)

Relasi

Setiap relasi memiliki kunci primer (primary key)

Kunci primer adalah atribut atau sejumlah atribut yang

menjadi pembeda setiap baris dalam relasi

Kunci primer biasa dinyatakan dengan garis bawah

PEGAWAI(Nomor_Peg, Nama)

(5)

Kunci

Kunci dapat dibedakan menjadi:

1. Kunci sederhana : Terdiri atas sebuah atribut

2. Kunci komposit : Tersusun atas dua atribut atau lebih

Kunci sederhana:

PEGAWAI(Nomor_Peg, Nama)

DEPARTEMEN(Kode_Dep, Nama_Dep) BARANG(Kode_Barang, Nama_Barang)

Kunci komposit:

BARANG DIPESAN(No_Pesanan, Kode_Barang, Jumlah)

(6)

Kunci Tamu

Kunci tamu (foreign key) biasa digunakan sebagai penghubung ke

relasi lain Kd_Kota Nama_Kota 0501 Semarang 0502 Salatiga Kd_Pelanggan Nama A001 Aditya B001 Bakdi B002 Bramanto Kd_Kota 0501 0502 0502 PELANGGAN KOTA

Kunci asing

(7)

Kunci Tamu (Lanjutan…)

Garis bawah terputus-putus biasa dipakai untuk menyatakan

kunci tamu

Contoh:

PELANGGAN(Kd_Pelanggan, Nama, Kd_Kota)

(8)

Sifat Relasi

1. Setiap relasi memiliki nama yang unik

2. Setiap isian pada perpotongan baris dan kolom harus bersifat atomik (bernilai tunggal)

3. Setiap baris bersifat unik

4. Setiap atribut memiliki nama yang unik 5. Urutan kolom tidak penting

(9)

Kekangan Integritas

(Integrity Constraint)

Tujuannya adalah untuk memfasilitasi penjagaan keakurasian

dan integritas data dalam database (supaya tetap konsisten)

Macamnya:

Kekangan domain Integritas entitas

Integritas referensial Kekangan operasional

(10)

Kekangan Domain

Memastikan data dalam domain yang telah ditetapkan

Domain adalah kemungkinan nilai terhadap suatu atribut

Contoh:

A,B,C,D,E untuk nilai

TRUE untuk pria dan FALSE untuk wanita INTEGER untuk menyatakan nilai bulat

Dalam praktek, domain juga mencakup panjang data

Contoh:

CHARACTER, SIZE 35 INTEGER, 3 DIGITS

(11)

Integritas Entitas

Memastikan bahwa data yang terkait dengan kunci primer

tidak terlanggar

Secara khusus, data Null pada kunci primer akan ditolak Null berarti nilai pada atribut tidak pernah diberikan

(12)

Integritas Referensial

Memastikan bahwa konsistensi antara dua buah relasi tetap

terjaga Kd_Kota Nama_Kota 0501 Semarang 0502 Malang Kd_Pelanggan Nama A001 Aditya B001 Bachdim Kd_Kota 0501 0502 Keadaan Awal:

(13)

Efek Tanpa Integritas Referensial

Kd_Kota Nama_Kota 0501 Semarang 0502 Malang 0503 Kendal Kd_Pelanggan Nama A001 Aditya B001 Bachdim B002 Bramanto Kd_Kota 0501 0502 0502

Keadaan Setekah data 0502 pada KOTA dihapus:

Menjadi tidak konsisten

(14)

Efek Integritas Referensial

Kd_Kota Nama_Kota 0501 Semarang 0503 Kendal Kd_Pelanggan Nama A001 Aditya B002 Bramanto Kd_Kota 0501 0503 0502 Malang

Keadaan Setekah data 0502 pada KOTA dihapus:

(15)

Kekangan Operasional

Kekangan yang berhubungan dengan aturan bisnis Misalnya “Saldo tabungan tidak boleh negatif ”

Pada Access, kekangan seperti ini bisa diimplementasikan

pada Validation Rule.

Pada PostgreSQL, hal ini bisa diimplementasikan dalam

(16)

Relasi Berstruktur Baik

Suatu relasi dikatakan berstruktur baik kalau :

Mengandung redundansi sesedikit mungkin dan

Memungkinkan pemakai memasukkan, mengubah, atau

menghapus baris tanpa menimbulkan kesalahan atau tidak konsisten

Kesalahan atau akibat tidak konsisten yang ditimbulkan pada

(17)

Anomali

1. Anomali penyisipan 2. Anomali penghapusan 3. Anomali peremajaan

(18)

Anomali Peremajaan

Terjadi bila terdapat

pengubahan pada sejumlah

data yang redundan, tetapi

tanpa sengaja tidak semua

ikut diubah

PEMASOK KOTA BARANG JUMLAH Kartika Jakarta Monitor GGG 10 Citra Bandung ZIP drive 4 Candra Jakarta Keyboard 5 Citra Bandung Mouse CCP 25

PEMASOK KOTA BARANG JUMLAH Kartika Jakarta Monitor GGG 10

Pemasok Citra pindah ke Bogor dan Pengubahan dilakukan hanya pada

(19)

Anomali Penyisipan

Terjadi bila ada

penambahan data

Perhatikan contoh

disamping

Masalah:

“Bagaimana

caranya menyimpan fakta

bahwa ruang baru bernama

Arjuna ada pada gedung

selatan?”

KULIAH RUA NG 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

(20)

Anomali Penghapusan

Terjadi kiranya sesuatu baris

yang tak terpakai dihapus dan sebagai akibatnya terdapat data lain yang hilang

Perhatikan contoh di samping

Apa yang terjadi seandainya data

bahwa siswa dengan identitas 12

dihapus? Data yang menyatakan

bahwa biaya kursus bahasa Jepang juga akan terhapus

NO_SISWA NAMA_KURSUS BIAYA 10 Bahasa Inggris 120.000 10 Bahasa Prancis 120.000 10 Bahasa Mandarin 180.000 15 Bahasa Inggris 120.000 12 Bahasa Jepang 160.000

(21)

Tranformasi Diagram ER/EER

ke Relasi

Memetakan Entitas Reguler (kuat)

PELANGGAN

No_Pelanggan

Nama_Pelanggan

Alamat_Pelanggan

No_Pelanggan Nama_Pelanggan Alamat_Pelanggan

Tipe entitas PELANGGAN

(22)

Tranformasi Diagram ER

ke Relasi

Memetakan Entitas dengan Atribut Komposit

PELANGGAN No_Pelanggan Nama_Pelanggan Alamat_Pelanggan Tipe entitas PELANGGAN dengan atribut komposit Relasi Jalan Kota Kode_Pos

(23)

Tranformasi Diagram ER

ke Relasi

Memetakan Entitas dengan Atribut Bernilai Ganda

PEGAWAI

No_Pegawai

Nama_Pegawai

Keterampilan

No_Pegawai Nama_Pegawai Alamat_Pegawai

Tipe entitas PEGAWAI dengan atribut bernilai ganda

Relasi PEGAWAI Alamat_Pegawai

(24)

Pemetaan Entitas Lemah

PEGAWAI Memiliki

No_Pegawai Nama_Pegawai Nama_Tanggungan Tanggal_Lahir

TANGGUNGAN

(25)

Pemetaan Hubungan 1 to M

Mengirim

PELANGGAN

No_Pelanggan Nama_Pelanggan Nomor_Pesan Tanggal_Pesan

PESANAN

No_Pelanggan Nama_Pelanggan Relasi PELANGGAN

(26)

Pemetaan Hubungan M to M

Meminta

PESANAN

No_Pesan Tgl_Pesan Kode_Produk Harga_Unit

PRODUK

No_Pesan Tgl_pesan Relasi PESANAN

Relasi BARIS PESANAN Jumlah

(27)

Pemetaan Hubungan 1 to 1

Mengepalai

DOSEN

No_Dosen Nama_Dosen Kode_Prodi Nama_Prodi

PROGRAM STUDI

No_Dosen Nama_Dosen Relasi DOSEN

Relasi PROGRAM STUDI

Tanggal_Penugasan

(28)

Pemetaan Entitas Asosiatif

(Ternary)

PENGIRIMAN

PELANGGAN

No_Pelanggan Nama Kode_Vendor Alamat

VENDOR

No_Pelanggan Nama Relasi PELANGGAN

Relasi

PENGIRIMAN Tanggal

No_Kirim Tanggal Jumlah

No_Kirim

Jumlah

(29)

Pemetaan Unary 1:N

PEGAWAI

No_Pegawai

Nama_Pegawai

No_Pegawai Nama_Pegawai Tgl_lahir Relasi PEGAWAI

Tgl_Lahir

Mengepalai

(30)

Pemetaan Unary M:M

ITEM

No_Item

Nama_Item

No_Item Nama_Item Harga_Unit Relasi ITEM

Harga_Unit

Tersusun_atas

(31)

Pemetaan Hubungan

Supertipe/Subtipe

PEGAWAI

d

PEGAWAI HARIAN PEGAWAI TETAP PEGAWAI KONTRAK

Gaji_Bulanan Nomor_Pegawai

Nama_Pegawai Alamat

Tgl_Mulai_Kerja

Upah_Harian Tunjangan Nomor_Kontrak Lama_Kontrak

Kompensasi Tipe_Pegawai:

“H” “K”

(32)

Pemetaan Hubungan

Supertipe/Subtipe (Lanjutan…)

Model relasional tidak mendukung hubungan

supertipe/subtipe secara langsung

Strategi pemecahan untuk kasus di depan:

1. Buat relasi terpisah untuk masing-masing supertipe dan

subtipe

2. Berikan atribut-atribut yang umum (termasuk kunci

primer) ke supertipe

3. Masukkan pembeda subtipe pada supertipe

(33)

Solusi Pemetaan Hubungan

Supertipe/Subtipe

Nomor_Pegawai Nama_Pegawai Alamat Tgl_Mulai_Kerja PEGAWAI

Nomor_Pegawai Upah_Harian PEGAWAI HARIAN

Nomor_Pegawai Gaji_Bulanan PEGAWAI TETAP

Nomor_Pegawai Nomor_Kontrak

PEGAWAI KONTRAK

Tunjangan

Lama_Kontrak Kompensasi Tipe_Pegawai

(34)

PR

Suatu hasil ujian dinyatakan dengan atribut seperti

berikut:

No_Mhs Nama_Mhs Mataujian No_Dosen_Penguji Nama_Dosen_Penguji

Gambarkan diagram E-R-nya

Referensi

Dokumen terkait

Baku Mutu Limbah (an adalah batas kadar atau cilra mutu yang diperbolehkan bagi /at atau bahan pencemar yang dapat dibuang dari sumber pencemar ke dalam air pada badan air dan alau

Dari tabel kegiatan narapidana anak tersebut dapat dilihat bahwa dalam pelaksanaan pemenuhan hak atas pendidikan terhadap narapidana anak sudah dilakukan semaksimal

Hasil kajian juga mendapati faktor demografi yang berdasarkan diri pelajar, iaitu kaum (india), faktor aliran pendidikan menengah (vokasional), faktor taraf akademik (SPM/SPMV),

Bentuk ekspresi yang dapat dilihat mulai dari menyalahkan kaum reformis karena sebab gerakan merekalah kestabilan pemerintahan orde baru terganggu, menimbulkan ketidakpatian

BADAN PENGKAIIAN KEBIJA}GN IKLIM DAN MUTU INDUSTRI BALAI RISET DAN STANDARDISASI INDUSTRI MEDAN. ftEpiJSLf K ,ltS$krSIA Jl- Sisingamangaraja

View dari lingkungan sekitar ke dalam tapak terlihat bahwa area tapak merupakan view yang memiliki kekayaan visual yang menarik bila ditata sesuai dengan konsep-konsep

Matematika merupakan alat penting dalam berbagai bidang, untuk itu sepatutnya matematika menjadi sesuatu yang digemari, didekati, bukan sebaliknya untuk ditakuti atau