Anda di halaman 1dari 87

PERTEMUAN 11 - ERM

ENTITY RELATIONSHIP DIAGRAM


&
IMPLEMENTASI BASIS DATA
TUJUAN
• Mahasiswa mampu menjelaskan tentang
ERM, karakteristik dan penggunaanya.
• Mahasiswa mampu menggunakan ERM
melalui penggambaran ERD dalam
perancangan konseptual basis data.
DEFINISI
Model yang menyajikan database sebagai satu
kumpulan “relasi” atau tabel

Nama tabel dan nama-nama kolom digunakan


untuk membantu dalam melakukan
interpretasi arti dari nilai-nilai dalam setiap
baris dari tabel
ISTILAH DALAM MODEL BASIS DATA
RELATIONAL
– Record : sebuah baris dalam suatu relasi. Disebut
juga tuple
– Cardinality : banyaknya record dalam sebuah relasi
– Atribut : suatu kolom dalam sebuah relasi
– Domain : batasan nilai dalam atribut dan tipe
datanya
– Derajat / degree : banyaknya kolom dalam relasi
– Candidate Key : atribut atau sekumpulan atribut
yang unik yang dapat digunakan untuk
membedakan suatu record
LANJUTAN….
– Primary Key : salah satu dari CK yang dipilih dan
dipakai untuk membedakan suatu record
– Alternate key : CK yang tidak dipilih menjadi PK
– Unary relation : suatu relasi yang hanya
mempunyai satu kolom
– Binary relation : suatu relasi yang hanya
mempunyai dua kolom
– Ternary relation : suatu relasi yang mempunyai
tiga kolom
KARAKTERISTIK MODEL BASIS DATA
RELASIONAL
• Relasi dalam model basis data relasional memiliki
karakteristik :
– Semua entry / elemen data pada suatu baris dan kolom
tertentu harus mempunyai nilai tunggal (single value), atau
suatu nilai yang tidak dapat dibagi lagi (atomic value),
bukan suatu kelompok pengulangan
– Semua entry / elemen data pada suatu kolom tertentu
dalam relasi yang sama harus mempunyai jenis yang sama
– Masing-masing kolom dalam sutu relasi mempunyai nama
yang unik
– Pada suatu relasi / tabel yang sama tidak ada dua baris
yang identik
Basis data ERD
• ERD digunakan untuk memodelkan
struktur data dan hubungan antar data.
Dengan ERD kita mencoba menjawab
pertanyaan seperti : data apa yang kita
perlukan? Bagaimana data yang satu
berhubungan dengan yang lain.
Entity
• Adalah objek dalam dunia nyata, berupa
- Object fisik : Rumah, manusia, Kendaraan,
Peralatan, dll
- Object Konsep : Pekerjaan, Perusahaan,
Rencana, kasus, dll
• Adalah suatu objek yang dapat dibedakan atau
dapat diidentifikasikan secara unik dengan
objek lainnya, dimana semua informasi yang
berkaitan dengannya dikumpulkan. Kumpulan
dari entity yang sejenis dinamakan Entity Set
Atribut
• Berfungsi untuk mendeskripsikan
karakter entity atau relationship.
Misal entity pegawai memiliki atribut
nik, nama, alamat, nohp,dll
• Entity • Atribut
*noktp
nama
alamat
tgl_lahir
jeniskelamin
status
nohp
foto
Contoh lain

• Atribut
*nomesin
noplat
model
merk
harga
warna
thn_pembuatan
Varian Entitas
• Entitas Lemah (Weak Entity)
Berisi entitas yang kemunculannya
tergantung pada eksistensinya dalam
sebuah relasi.misal entitas Mahasiswa -
orang tua & hobby, pegawai - tanggungan.

• Entitas kuat (Strong Entity)


Entitas yang berdiri sendiri,
keberadaannya tidak tergantung dengan
entitas lain.
Entitas kuat (Strong Entity)

Entitas Lemah (Weak Entity)

NIP Nama nama status

Pegawai miliki Tanggungan


Jenis Atribut
• Atribut Key - atribut yang digunakan untuk
membedakan data secara unik. misal nik, nim,
no_peserta.

• Atribut Simple – atribut bernilai tunggal, misal nama,


harga, status.

• Atribut Multivalue - atribut memiliki sekelompok nilai


yang banyak, misal gelar, hobby.

• Atribut Composite – atribut yang masih dapat


diuraikan lagi, misal alamat, waktu, nama.

• Atribut Derivatif – atribut yang dihasilkan dari turunan


atribut lain, misal umur dari tanggal lahir.
Atribut Key

nama

alamatlengkap Id_pegawai

Tgl_lhr PEGAWAI

idruang kapasitas
nohp
jk RUANG
agama
Gol_drh foto lokasi
Namaruang
Atribut Simple

idbarang

Nama

BARANG

Harga
Kualitas
Atribut Multivalue

agama

Gelar

Tgl_lhr PEGAWAI
Atribut Composite

namatengah
namadepan namabelakang

nama

Tgl_lhr PEGAWAI
Atribut Derivatif

agama

umur

Tgl_lhr PEGAWAI
Simbol-simbol ER diagram
Entity Atribut Multivalue

Relationship

Atribut
Atribut Composite

Weak Entity

Atribut Derivatif
Identifying Relationship

Atribut key
DERAJAT RELATIONSHIP
1. Unary ( Derajat Satu )
Adalah satu buah relationship
menghubungkan satu buah entity.

Contoh : Manusia
Menikah

Keterangan :
Manusia menikah dengan manusia,
relationship menikah hanya menghubungkan
entity manusia.
DERAJAT RELATIONSHIP
2. Binary ( Derajat Dua )
Adalah satu buah relationship
yang menghubungkan dua buah
entity.
Contoh : Pegawai Kendaraan
Memiliki

Keterangan :
Pegawai memiliki kendaraan, sebuah
relationship memiliki mengubungkan entity
Pegawai dan entity Kendaraan.
DERAJAT RELATIONSHIP
3. Ternary ( Derajat Tiga )
Adalah satu buah relationship
menghubungkan tiga buah entity.
Contoh :
Pegawai Bekerja Proyek

Kota
Keterangan :
Pegawai pada kota tertentu mempunyai suatu Proyek.
Entity Bekerja mengubungkan Entity Pegawai, Proyek
dan Kota
Cardinalitas Relasi
• One to One
Hubungan satu ke satu. Contoh seorang
Dosen mengepalai satu jurusan.

NIP Nama Kd_mk jenis


1 1
Pegawai miliki Kendaraan Dinas
• One to Many
Hubungan satu ke banyak. Contoh
seorang Pelanggan membeli beberapa
mobil.

NIP Nama Kd_MK namaMK


1 n
Dosen ajar Matakuliah
• Many to Many
Hubungan banyak ke banyak. Contoh
mahasiswa mengambil matakuliah.

Nim Nama Kd_mk Nm_mk


n m
mahasiswa ambil Matakuliah
Contoh Diagram ER

1 n
Fakultas Daftar Mahasiswa
1 n

miliki ambil

n m

Dosen ajar Mata Kuliah


1 n
Enhanced E-R Features
• Digunakan untuk menangani hubungan
supertipe/subtipe
• Supertipe adalah suatu entitas yang bersifat
umum
• Subtipe adalah suatu entitas yang merupakan
penkhususan dari supertipe
• Contoh:
– MOBIL dapat menjadi supertipe
– SEDAN, BUS, VAN dapat berkedudukan sebagai
subtipe
Hubungan Supertipe/Subtipe
Proses Pembuatan Hubungan
Supertipe/subtipe
• Generalisasi
– Proses perancangan yang bersifat bottom-up
– Pembuatan entitas yang bersifat umum dimulai
dari tipe-tipe entitas yang bersifat khusus
• Spesialisasi
– Proses perancangan yang bersifat top-down
– Pembuatan satu atau beberapa entitas yang
bersifat khusus (subtipe) dilakukan dari entitas
yang bersifat umum terlebih dahulu (supertipe)
Ilustrasi Generalisasi

Jumlah_Penumpang

Kapasitas
Ilustrasi Generalisasi
Ilustrasi Spesialisasi
Ilustrasi Spesialisasi
Agregasi
• Sebuah relasi terbentuk tidak hanya dari
entitas tapi terkadang juga mengandung unsur
dari relasi yang lain.
• Jika terjadi hal demikian dapat diakomodasi
dengan Agregasi yang menggambarkan
sebuah himpunan relasi yang secara
langsung menghubungkan sebuah himpunan
entitas dengan sebuah himpunan
relationship dalam diagram ER
Ilustrasi Agregasi
nama nim Index_nilai

n m
MAHASISWA mempelajari MATA KULIAH

n
Mengikuti

Kd_prak nilai
m
nama PRAKTIKUM Jlh_jam
Batasan Relasi
• Batasan relasi menjelaskan apakah
keberadaan suatu entitas tergantung pada
entitas lain melalui suatu relasi.
• Ada 2 tipe batasan relasi yakni
– Total Participation (partisipasi total)
– Partial Participation (partisipasi sebagian)
Partisipasi Total
• Suatu entitas disebut dengan berpartisipasi total, jika keberadaan
entitas tersebut sangat bergantung pada keberadaan entitas lain.
• Contoh entitas Dosen keberadaan tergantung pada keberadaan
entitas Matakuliah dan sebaliknya artinya, jika ada seorang dosen
maka harus ada matakuliah yang diajarkan, begitu pula sebaliknya
adanya entitas matakuliah harus ada dosen yang mengajar
matakuliah tersebut.

Nm_dos Mt_kuliah
Kd_dos Alamat Kd_mk sks

M N
DOSEN AJAR MATAKULIAH

Kelas SEM
Partisipasi Sebagian
• Suatu entitas dikatakan berpartisipasi
sebagian jika entitas tersebut tidak
bergantung dengan keberadaan entitas lain
tetapi berhubungan satu sama lain.
• Contoh Tidak semua dosen menjadi
koordinator sesama dosen.
Nm_dos Alamat

Kd_dos Kd_pem

M
DOSEN Koordinir

1
LANGKAH – LANGKAH MEMBUAT
ERD
• Mengidentifikasikan dan menetapkan seluruh
himpunan entitas yang akan terlibat.
• Menentukan atribut-atribut key dari masing-
masing himpunan entitas.
• Mengidentifikasikan dan menetapkan seluruh
himpunan relasi diantara himpunan entitas yang
ada beserta foreign key-nya.
• Menentukan derajat dan cardinality rasio relasi
untuk setiap himpunan relasi
• Melengkapi himpunan relasi dengan atribut-
atribut yang bukan kunci (non-key).
• Lihat kembali ERD yang dibuat apakah masih
perlu refinement (penghalusan) dengan
generalisasi-spesialisasi, agregasi, batasan relasi
Konvensi Penamaan
• Pilih nama (untuk entitas, atribut, relasi) yang
menggambarkan maknanya.
• Gunakan nama tunggal untuk entitas.
• Gunakan huruf kapital untuk entitas dan relasi.
• Gunakan huruf kapital di awal kata untuk atribut.
• Nama entitas cenderung menggunakan kata
benda.
• Nama relasi cenderung menggunakan kata kerja.
Alat Bantu Pemodelan Data
• Merupakan sarana membuat dokumentasi
kebutuhan aplikasi.
• Antar mukanya mudah digunakan.
• Contoh:
– Ms. Visio
– ER-Win
– DBDesigner
– S-Designer
– ER-Studio
PENGANTAR ERD
• ERD merupakan notasi grafis dalam
pemodelan data konseptual yang
mendeskripsikan hubungan antara
penyimpanan.
Notasi dan Artinya
• Entiti : adalah suatu objek yang dapat
diidentifikasi dalam lingkungan pemakai, sesuatu
yang penting bagi pemakai dalam konteks sistem
yang akan dibuat.
– Contoh : Seandainya A adalah seorang Mahasisa maka
A adalah isi dari mahasiswa, sedangkan jika B adalah
seorang pelanggan maka B adalah isi dari pelanggan.
– Himpunan entitas : merupakan sekelompok entitas
sejenis dan berada dalam lingkup yang sama. Misalnya
mobil merupakan himpunan entitas sedangkan suzuki,
toyota, honda merupakan entitas
– Entiti digambarkan dalam bentuk persegi panjang

Mahasiswa
• Atribut : Entiti mempunyai elemen yang
disebut atribut, dan berfungsi
mendeskripsikan karakter entiti. Misalnya
atribut nama pekerja dari entiti pekerja.
– Setiap ERD bisa terdapat lebih dari satu atribut
– Atribut digambarkan dalam bentuk elips
No_mhs

nama_mahasiswa
Mahasiswa

alamat_mahasiswa

jenis_kelamin
• Hubungan : menunjukkan adanya hubungan / relasi
diantara sejumlah entitas yang berasal dari himpunan
entitas yang berbeda.
– Sebagaimana halnya entiti maka hubunganpun harus
dibedakan antara hubungan atau bentuk hubungan antar
entiti dengan isi dari hubungan itu sendiri.
– Misalnya dalam kasus hubungan antara entiti mahasiswa dan
entiti mata_kuliah adalah mengikuti, sedangkan isi
hubungannya dapat berupa nilai_ujian.
– Hubungan digambarkan dalam bentuk diamonds / jajaran
genjang

Mahasiswa mengikuti Mata_kuliah

Nama_ Nama_
No_mhs mhs kdMK No_mhs kdMK MK
Notasi simbolik dalam diagram ER
• Persegi panjang → entitas
• Elips → atribut (atribut yang sebagai kunci digaris
bawahi)
• Belah ketupat → relasi
• Garis → penghubung antara himpunan relasi dengan
himpunan entitas dan himpunan entitas dengan
atributnya
• Kardinalitas relasi dinyatakan dengan banyaknya garis
cabang atau dengan pemakaian angka (1 dan 1 untuk
relasi satu-ke-satu, 1 dan M untuk relasi satu-ke-
banyak, M dan M untuk relasi banyak-ke-banyak)
Jenis-jenis hubungan / Derajat Relasi /
Kardinalitas Relasi
• Kardinalitas relasi menunjukkan jumlah
maksimum entitas yang dapat berelasi dengan
entitas pada himpunan entitas lain
• Contoh : entitas-entitas pada himpunan
entitas Mahasiswa dapat berelasi dengan satu
entitas, banyak entitas, atau bahkan tidak
satupun entitas dari himpunan entitas
Mata_Kuliah
Jenis-jenis hubungan
• Satu ke satu (one to one)
– Setiap entitas pada himpunan entitas A
berhubungan dengan paling banyak satu entitas
pada himpunan entitas B, dan begitu sebaliknya
setiap entitas pada himpunan entitas B
berhubungan dengan paling banyak satu entitas
pada himpunan entitas A.
– Contoh :
1 1
sopir menyetir mobil
• Satu ke banyak (one to many)
– Setipa entitas pada himpunan entitas A dapat
berhubungan dengan banyak entitas pada
himpunan entitas B, dan tidak sebaliknya dimana
setiap entitas pada himpunan B berhubungan
dengan paling banyak satu entitas pada himpunan
entitas A.
– Contoh :

1 M
Kelas berisi Siswa
• Banyak ke satu (many to one)
– Setiap entitas pada himpunan entitas A
berhubungan dengan paling banyak satu entitas
pada himpunan entitas B, dan tidak sebaliknya
dimana setiap entitas pada himpunan entitas B
dapat berhubungan dengan banyak entitas pada
himpunan entitas A
– Contoh :

mahasiswa M 1
kuliah jurusan
• Banyak ke banyak (many to many)
– Setiap entitas pada himpunan entitas A dapat
berhubungan dengan banyak entitas pada
himpunan entitas B, dan sebaliknya dimana setiap
entitas pada himpunan entitas B dapat
berhubungan dengan banyak entitas pada
himpunan entitas A.
– Contoh :

M M
mahasiswa mengikuti matakuliah
Contoh kasus pada perkuliahan
• Langkah 1 : mengidentifikasi dan menetapkan
seluruh himpunan entitas yang akan terlibat
mahasiswa kuliah dosen

• Langkah 2 : menentukan atribut-atribut kunci


dari masing-masing himpunan entitas
nomhs kdMK Kode_dosen

mahasiswa kuliah dosen


• Langkah 3 : mengidentifikasi dan menetapkan
seluruh himpunan relasi diantara himpunan
entitas yang ada beserta foreign key-nya
nomhs kdMK kdMK
nomhs

mahasiswa mempelajari matakuliah

Kode_dosen
Kode_dosen kdMK

dosen mengajar
• Langkah 4 : Menentukan derajat relasi
(cardinality) untuk setiap himpunan relasi

nomhs kdMK kdMK


nomhs

mahasiswa M M
mempelajari matakuliah

Kode_dosen M
Kode_dosen kdMK

1
dosen mengajar
• Langkah 5 : Melengkapi himpunan entitas dan
himpunan relasi dengan atribut deskriptif
(yang bukan kunci)
nomhs kdMK kdMK Nama_MK
nomhs

SKS
mahasiswa M M
mempelajari matakuliah

nilai
nama alamat M
Kode_dosen Kode_dosen kdMK

1
dosen mengajar

alamat
jam ruang
Nama_dosen
DIAGRAM ER DENGAN KAMUS DATA
• Pada sistem yang ruang lingkupnya lebar dan
kompleks, penggambaran atribut-atribut
dalam ERD seringkali malah mengganggu
tujuan yang ingin dicapai. Oleh karena itu
dapat dinyatakan dalam Kamus Data.
• Kamus data berisi daftar atribut yang diapit
tanda “{“ dan “}”
– Atribut yang merupakan kunci digarisbawahi
• Contoh :
mahasiswa M mempela M
kuliah M mengajar 1
jari dosen
KAMUS DATA
• Mahasiswa = {nomhs, nama, alamat}
• Matakuliah = {kdMK, nama_mk, sks}
• Dosen = {kode_dosen, nama_dosen, alamat}
• Mempelajari = {nomhs, kdMK, nilai}
• Mengajar = {kdMK, kode_dosen, jam, ruang}
IMPLEMENTASI BASIS DATA
• Tahap implementasi basis data merupakan upaya untuk
membangun basis data fisik yang ditempatkan dalam media
penyimpan (disk) dengan bantuan DBMS,
• Tahap ini diawali dengan melakukan transformasi dari model
data yang telah selesai dibuat struktur basis data sesuai dengan
DBMS yang dipilih.
• Secara umum, sebuah ERD akan diwujudkan menjadi sebuah
basis data secara fisik. Sedangkan komponen-komponen ER yang
berupa himpunan entitas dan himpunan relasi akan diwujudkan
menjadi tabel-tabel. Selanjutnya, atribut-atribut yang melekat
pada masing-masing himpunan entitas dan himpunan relasi
akan dinyatakan sebagai field-field dari tabel yang sesuai.
• Performansi basis data ditentukan oleh :
– Kualitas dan bentuk perancangan basis data
– Kualitas mesin / komputer
– Platform yang dipilih
– Sistem operasi
– DBMS yang digunakan
Pengkodean / Abstraksi Data
• Data yang dilihat oleh pemakai awam (end
user) bisa berbeda dengan bagaimana data /
informasi itu disimpan. Apa yang dilihat oleh
end-user bisa jadi merupakan hasil
pengolahan yang tidak disimpan sama sekali
dalam basis data, atau bisa dinyatakan dalam
bentuk lain.
• Alasan untuk membuat suatu pengkodean
adalan untuk efisiensi ruang penyimpanan
Lanjutan pengkodean….
• Dari pemakainya, ada 2 bentuk pengkodean
– Eksternal (user-defined coding)
• Mewakili pengkodean yang telah digunakan secara
terbuka dan dikenal dengan baik oleh pemakai awam
• Contoh : Nomor mahasiswa dan kode mahasiswa →
sudah dikenal baik oleh pemakai awam
– Internal (system coding)
• Menggambarkan bagaimana data disimpan dalam
kondisi sebenarnya, sehingga lebih berorientasi pada
mesin
Lanjutan pengkodean….
• Ada 3 bentuk pengkodean :
– Sekuensial
• Pengkodean dilakukan dengan mengasosiasikan data dengan
kode yang urut
• Contoh : predikat kelulusan “sangat Memuaskan”, “Cukup
Memuaskan”, “Memuaskan → dikodekan dengan huruf “A”,
“B”, “C”
– Mnemonic
• Pengkodean dilakukan dengan bentuk suatu singkatan dari
data yang hendak dikodekan
• Contoh : “Laki-laki” → dikodekan “L”; “Perempuan” → “P”
– Blok
• Pengkodean dinyatakan dalam format tertentu
• Contoh : Nomor Mahasiswa dengan format XX,YY,ZZZZ →
terdiri atas XX=2 digit tahun masuk, YY= 2 digit kode jurusan,
ZZZZ = 4 digit nomor urut.
Transformasi Model Data ke Basis Data Fisik
• Aturan umum dalam pemetaan model data yang
digambarkan dalam ERD (level konseptual) menjadi
Basis Data Fisik (level fisik) adalah :
a. Setiap himpunan entitas akan diimplementasikan sebagai
sebuah tabel (file data)
Lanjut Transformasi Model Data ke Basis Data Fisik….
b. Relasi dengan derajat relasi satu-ke-satu, yang
menghubungkan 2 buah himpunan entitas
akan direpresentasikan dalam bentuk
penambahan / penyertaan atribut-atribut
relasi ke tabel yang mewakili salah satu dari
kedua himpunan entitas.
Lanjut Transformasi Model Data ke Basis Data Fisik….
c. Relasi dengan derajat relasi satu-ke-banyak, yang
menghubungkan 2 buah himpunan entitas, juga akan
direpresentasikan dalam bentuk pemberian /
pencantuman atribut kunci dari himpunan entitas
pertama (yang berderajat 1) ke tabel yang mewakili
himpunan entitas kedua (yang berderajat M)
Lanjut Transformasi Model Data ke Basis Data Fisik….
d. Relasi dengan derajat relasi banyak-ke-banyak, yang
menghubungkan 2 buah himpunan entitas akan
terwujud dalam bentuk tabel khusus, yang memiliki
field (atau foreign key) yang berasal dari kunci-kunci
dari himpunan entitas yang dihubungkannya.
DBMS dan Struktur Tabel
• Dalam menentukan struktur dari tabel, paling
tidak setiap struktur tabel berisikan nama
field, tipe field dan ukurannya.
• Tatacara penamaan field, pilihan tipe field
serta fasilitas tambahan lainnya untuk struktur
tabel sangat tergantung pada DBMS yang
digunakan.
• Tipe data yang bersifat umum adalah :
– Data Alphanumerik, isinya berupa angka tapi tidak
menunjukkan jumlah, sehingga dianggap sebagai teks,
Misalnya : nomhs, NIP
– Data Numerik, isinya berupa angka yang menunjukkan
jumlah, misalnya : SKS, Gaji Pokok
– Data bilangan bulat (integer), Byte (1 byte), Small-
integer (2 byte), Long integer (4 byte)
– Data bilangan nyata, single (4 byte), double (8 byte).
Tipe data single dapat menampung hingga 7 digit
pecahan, sedangkan double hingga 15 digit pecahan.
• Dalam komputasi, data integer akan membutuhkan waktu
lebih cepat dalam pengolahan data dibandingkan real.
Begitu juga, karena ruang penyimpanan yang dibutuhkan
lebih kecil, maka data single akan lebih cepat dalam
pengolahan dibandingkan double.
– Data uang (currency), pemakaian tipe ini sangat
membantu dalam mengatur tampilan data yang
berkaitan dengan nilai uang. Misalnya dengan adanya
pemisahan ribuan/jutaan dan adanya tanda mata
uang.
– Teks, adanya dua jenis yaitu ukuran tetap (fixed
character) dan ukuran dinamis (variable character).
Misalnya field nomhs lebih tepat bertipe fixed
character karena ukurannya pasti dan pendek.
Sedangkan nama mahasiswa sebaiknya bertipe
variable character karena panjang dan bervariasi
• Pertimbangan dalam menentukkan tipe data bagi
setiap field adalah :
– Kecukupan domain
• Harus dapat menjamin bahwa tipe data yang dipilih pada
tiap field akan dapat menampung semua nilai yang akan
diisikan ke dalam field tersebut.
– Efisiensi ruang penyimpanan
• Apabila pemilihan tipe data tidak tepat (berlebihan),
akibatnya akan memperbesar ukuran tabel secara
keseluruhan
– Kecepatan pengolahan data
• Pada akhirnya, pemilihan tipe yang tidak tepat juga
mengakibatkan pengaksesan data menjadi lebih lambat
Indeks dan Struktur Penyimpanan
• Pada tahapan implementasi, atribut-atribut
entitas / relasi yang ditetapkan sebagai kunci
(key) akan diwujudkan sebagai indeks Primer
(primary index). Dan dapat juga ditambahkan
Secondary index.
• Ada 2 indeks :
– Indeks Primer (Primary Index)
• IP pada setiap tabel hanya ada satu dan hampir selalu
berasal (ditentukan) dari kunci primer yang telah
ditetapkan dalam sebuah entitas / relasi
• IP yang baik terdiri atas field-field dengan kriteria sbb :
– Field yang menjadi komponen IP harus bersifat mandatory
(datanya tidak boleh kosong atau berisi nilai null)
– Keseluruhan nilai IP bersifat unik
– Nilai-nilainya lebih permanen (idealnya tidak pernah berubah)
– Berukuran kecil (pendek) dengan jumlah field minimal
(sedikit)
– Indeks Sekunder (Secondary Index)
• Digunakan untuk mendukung keberadaan IP yang dibuat
untuk suatu tabel dengan alasan untuk mempermudah
berbagai cara pengaksesan ke suatu tabel
• Misalnya : field Nama_mahasiswa → untuk memudahkan
pencarian data berdasar nama_mahasiswa; disamping
pencarian berdasarkan nomhs
• Catatan :
– Jumlah IS dalam sebuah tabel boleh lebih dari satu
– Nilai-nilai field yang menjadi pembentuk IS tidak harus bersifat
unik.
Struktur Penyimpanan
• Ada pilihan struktur penyimpanan dasar yang
dapat diterapkan pada suatu tabel
(bergantung pada DBMS yang dipakai) yaitu :
Pile, Heap, Hash, Sekuensial Berindeks, File
berindeks, Multiring
HEAP
• Merupakan struktur penyimpanan yang paling sederhana
dan paling hemat dalam kebutuhan ruang penyimpanan
• Setiap baris data disusun berdasarkan kronologis
penyimpanannya. Record yang pertama disimpan akan
ditempatkan di posisi awal ruang penyimpanan, dan
begitu seterusnya.
• Pengubahan data tidak akan mengubah urutan record
tersebut. Jika terjadi penghapusan, maka record-record
dibawahnya akan dimampatkan untuk mengisi tempat
yang kosong akibat penghapusan.
• Pencarian data berjalan dengan lambat, karena dilakukan
secara sekuensial baris demi baris.
• Struktur ini cocok untuk tabel berukuran kecil dan jarang
berubah
HASH
• Baris-baris data ditempatkan berdasarkan nilai alamat
fisik yang diperoleh dari hasil perhitungan (fungsi
hashing) terhadap nilai key-nya. Karena itu
penempatan record dalam tabel tidak tersusun
berdasarkan kedatangannya. Bisa jadi record yang
terakhir dimasukkan justru menempati urutan
pertama.
• Memiliki performansi yang paling baik dalam hal
pencarian data tunggal berdasarkan kunci indeks.
• Struktur ini cocok untuk tabel-tabel yang sering
menjadi acuan bagi tabel lain.
• Kelemahannya membutuhkan ruang penyimpanan
awal yang besar, untuk menjamin agar record-record
yang disimpan tidak menempati alamat yang sama →
dibutuhkan alokasi ruang penyimpanan
SEKUENSIAL BERINDEKS
• Menempatkan data dengan urutan tertentu
berdasarkan nilai indeks primernya
• Record yang memiliki nilai IP paling kecil dibandingkan
record yang lain akan ditempatkan di awal ruang
penyimpanan tabel meskipun dimasukkan belakangan
• Performansi turun pada saat terjadi penambahan atau
perubahan data yang menyangkut nilai indeks
primernya, karena perlu dilakukan penataan ulang
• Struktur ini cocok untuk tabel yang bersifat statis, dan
untuk pencarian data kelompok dalam suatu tabel
(lebih baik daripada hash).
FILE BERINDEKS
• Dikembangkan dari struktur heap. Record-record
disusun berdasarkan kronologis penyimpanannya
(seperti heap). Namun disediakan pula file indeks yang
disusun berdasarkan nilai key setiap record yang
berguna untuk membantu proses pencarian data ke
suatu tabel.
• Terdapat 2 komponen yaitu komponen data dan
komponen indeks. Komponen data disusun dengan
struktur heap, sedangkan komponen indeks disusun
dengan struktur sekuensial berindeks.
• Struktur ini cocok untuk tabel yang dinamis dan
berukuran besar
Contoh struktur tabel
Primary Key : nomhs
Foreign key : -

Field Name Type Data Range Data


Nomhs Char/varchar 8
Nama_mhs text 30
alamat text 50
Latihan 1
• Mahasiswa meminjam buku.
• Tentukan entitas dari deskripsi ini.
Latihan 2
• Pada saat mendaftar menjadi anggota
perpustakaan Fakultas, dicatatlah nama, nomor
mahasiswa dan alamat mahasiswa. Setelah itu
mereka baru bisa meminjam buku di
perpustakaan. Buku-buku yang dimiliki
perpustakaan banyak sekali jumlahnya. Tiap buku
memiliki data nomor buku, judul, pengarang,
penerbit, tahun terbit. Satu buku bisa ditulis oleh
beberapa pengarang.
• Tentukan entitas, atribut dan relasi dari deskripsi
di atas, dengan menggambar ERDnya.
Latihan 3
• Seperti deskripsi soal nomor 2, namun ada beberapa
tambahan penjelasan berikut ini. Seorang mahasiswa
boleh meminjam beberapa buku. Satu buku boleh
dipinjam beberapa mahasiswa. Semua mahasiswa
sangat perlu buku sehingga tidak ada yang tidak
pernah meminjam ke perpustakaan. Ada buku yang
sangat laris dipinjam mahasiswa, namun ada pula buku
yang tidak pernah dipinjam sama sekali. Satu buku
dapat memiliki beberapa copy, namun untuk copy yang
sama memiliki satu nomor buku. Setiap peminjaman
akan dicatat tanggal peminjamannya. Semua
mahasiswa disiplin mengembalikan buku tepat satu
minggu setelah peminjaman.
• Gambarkan ERDnya.
Latihan 4
• Seperti soal nomor 3, namun ada beberapa
tambahan penjelasan berikut ini. Mahasiswa
kadang-kadang terlambat mengembalikan
buku, sehingga dikenakan denda. Besarnya
denda adalah Rp 500,- per hari keterlambatan.
Mahasiswa dianggap terlambat jika
mengembalikan buku lebih lama dari 1
minggu.
• Gambarkan ERDnya.
Latihan 5
• Seperti soal nomor 4, namun ada beberapa
tambahan penjelasan berikut ini. Fakultas
memiliki 3 jurusan, dan tiap jurusan memiliki
perpustakaan. Mahasiswa boleh meminjam dari
perpustakaan manapun di jurusan tersebut.
Setiap mahasiswa otomatis menjadi anggota
pada ketiga perpustakaan tersebut. Setiap
perpustakaan memiliki banyak buku. Buku yang
sama hanya ada di satu perpustakaan.
• Gambarkan ERDnya.
Latihan 6
• Seperti soal nomor 5, namun ada beberapa
tambahan penjelasan berikut ini. Fakultas
memiliki 3 jurusan, dan tiap jurusan memiliki
perpustakaan. Setiap mahasiswa baru
otomatis langsung terdaftar di satu
perpustakaan, namun mereka boleh
meminjam dari perpustakaan manapun di
jurusan tersebut.
Latihan 7
• Dari ERD tersebut buatlah Kamus Data, Tabel
beserta Struktur Tabelnya.
SEKIAN

Anda mungkin juga menyukai