Anda di halaman 1dari 77

BASIS DATA

Entity - Relationship Diagram (ERD)


KONSEP MODEL ER
 Model ER = kumpulan konsep dari entitas, atribut,
relationship serta konstrain lainnya yg menggambar
kan struktur basis data dan transaksi pada basis data
 Skema tentang diagram pertama kali diresmikan oleh
Charles Bachman pada tahun 1960-an
 Dikembangkan oleh Chen (1976)

 Entitas = objek dalam bentuk fisik maupun konsep


yang dapat dibedakan dengan objek lainnya.
Contoh : entitas MAHASISWA, entitas BUKU, entitas
MATAKULIAH

3
KONSEP (lanj.)
 Atribut = karakteristik atau properti dari suatu entitas.
Contoh, entitas MAHASISWA mempunyai atribut-atribut
NPM, Nama, Alamat, Kota, Tgl-lhr, Telp.

NPM TELP
MAHASISWA
TGL_LHR
NAMA

ALAMAT KOTA

Diagram ER untuk Entitas MAHASISWA

4
Konsep Dasar Model E-R

 Model E-R terdiri atas 3 konsep dasar :


1. Entitas
2. Hubungan antar entitas / Relasi
3. Atribut
KONSEP (lanj.)
 Relationship = Hubungan yang terjadi antara satu
entitas atau lebih.
Contoh, relationship mengambil yang menggambarkan
mahasiswa yang mengambil matakuliah.

M N
MAHASISWA MENGAMBIL MATAKULIAH

Diagram ER untuk Relationship Mengambil

6
KONSEP (lanj.)
 untuk mencatat semester berapa mahasiswa mengambil
matakuliah, maka pada relationship mengambil
ditambahkan atribut semester.
semester

M N
MAHASISWA MENGAMBIL MATAKULIAH

Diagram ER untuk Relationship Mengambil

7
ENTITAS (lanj.)

Kd_dos Nm_dos Alamat


Nm_anak

1 M
DOSEN Punya ANAK

Diagram ER untuk entitas lemah

8
ATRIBUT
Tipe-tipe atribut yakni =
1. atribut kunci, atribut bernilai tunggal dan unik.
2. atribut bernilai tunggal, atribut yang memiliki hanya
satu nilai
3. atribut bernilai banyak, atribut yang memiliki
sekelompok nilai
4. atribut komposit, atribut yang terdiri atas beberapa
atribut yang lebih kecil
5. atribut derivatif, atribut yang diperoleh dari atribut lain.

9
SIMBOL ATRIBUT

NPM TELP
MAHASISWA
TGL_LHR
NAMA

ALAMAT HOBBY

Atribut kunci atribut bernilai tunggal atribut bernilai banyak

10
SIMBOL ATRIBUT (lanj.)

NAMA_TENGAH MAHASISWA
NAMA_DEPAN NAMA_BLK

TGL_LHR UMUR
NAMA

Atribut komposit Atribut derivatif

11
DERAJAT RELATIONSHIP
Derajat relationship = jumlah entitas yang saling
berhubungan dalam satu relationship.
Ada tiga jenis yakni :
1. Relationship Berderajat Satu (unary)

KD_DOS

DOSEN KOORDINIR

KD_PEM 1

12
DERAJAT RELATIONSHIP (lanj.)
2. Relationship Berderajat Dua (binary)

M N
DOSEN MENGAJAR MATAKULIAH

3. Relationship Berderajat Tiga (ternary)

M N
DOSEN MENGAJAR MATAKULIAH

RUANG

13
Cardinality
 Derajat Relasi (Kardinalitas) adalah jumlah maksimum entitas
yang dapat berelasi dengan entitas pada himpunan entitas
lain.
 Kardinalitas Relasi antar dua himpunan entitas (misal A dan B)
dapat berupa :
 Satu ke Satu (One to One)
 Satu ke Banyak (One to Many)
 Banyak ke Satu (Many to One)
 Banyak ke Banyak (Many to Many)
KARDINALITAS RELATIONSHIP
Kardinalitas relationship = sejumlah kemungkinan
entitas A berpartisipasi dengan entitas B dalam satu
relationship.
Ada tiga jenis yakni :
1. Satu ke Satu, notasi 1 : 1

NIP No_cab

1 1
PEGAWAI MEMIMPIN KANTOR_CABANG

15
KARDINALITAS RELATIONSHIP (lanj.)
2. Satu ke Banyak, notasi 1 : M
Kd_dos Kd_mk

1 M
DOSEN Koorninir MATAKULIAH

3. Banyak ke Banyak, notasi M : N

Kd_dos SEM Kd_mk

M N
DOSEN AJAR MATAKULIAH

16
PARTISIPASI ENTITAS
Partisipasi suatu entitas terdapat dua tipe yakni
1. partisipasi total, dimana keberadaan entitas
tersebut bergantung pada hubungannya dengan
entitas lain.

Nm_dos Mt_kuliah
Kd_dos Alamat Kd_mk sks

M N
DOSEN AJAR MATAKULIAH

Kelas SEM

17
PARTISIPASI ENTITAS (Lanj.)
2. partisipasi parsial, dimana entitas tersebut tidak
bergantung dengan keberadaan hubungan
entitas tersebut dengan entitas lain.

Nm_dos Alamat

Kd_dos Kd_pem

M
DOSEN Koordinir

18
Optionality
 Mandatory
 Memiliki paling sedikit satu pasangan pada relasi lawannya
 Optional
 Dimungkinkan untuk tidak memiliki pasangan pada relasi
lawannya
Notasi ERD

COMPONENT REPRESENTATION

ENTITY OR OBJECT
PURCHASE ORDER
TYPE

RELATIONSHIP

CARDINALITY

OPTIONALITY

ATRIBUT
Wild card
 Cari sebuah studi kasus.
 Dari studi kasus tersbut gambarkan ERD
 Dari hasi ERD tersebut buatlah Data Dictionary
 Implementasikan data dictionary kedalam database
 Inputkan data ke masing-masing table minimal 10 row
 Lakukan select, select inner join, left join, right join pada dua table dan tiga table
 Lakukan update dan juga delete
 Buat minimal 5 view dari select yang dilakukan
 Buat minimal 2 trigger
 Buat minimal 2 store procedure
ERD
Peter Chen dan James Martin
Entity Relationship Diagram (ERD)

 Ada beberapa model ERD yang di kemukakan oleh beberapa


ahli, dan yang akan dibahas adalah model ERD menurut versi
Peter Chen dan James Martin.

 Perbedaannya terletak pada relation / hubungannya. Tetapi yang


lebih umum digunakan adalah ERD versi Chen.
ERD VERSI CHEN
 Pada dasarnya ERD versi Chen sama seperti gambar komponen-komponen
yang telah disebutkan.

- Relationship digambarkan dgn diamond


- Kotak menggambarkan entity
- Oval menggambarkan atribut
- Jenis relation ditulis pada garis dengan menambahkan tulisan yang
menggambarkan connectivity dan cardinality (1,N,M)
ERD VERSI CHEN
 Perbedaan antara ERD versi Chen dan ERD versi Martin terletak
pada hubungan antar entity atau Relationship-nya.

 Hubungan yang terdapat pada ERD Chen:


- One-to-one
- One-to-many
- Many-to-many
ERD VERSI CHEN
 Gambar simbol-simbol ERD Chen:

Karyawan Entity

Bekerja Relationship

Atribut (Identifier)
Id-kary

1 : 1
1 : N Kardinalitas
N : M
ERD VERSI CHEN
Contoh 1 :

1 1
A B

Gambar diatas menunjukkan bahwa satu record pada entitas A


hanya berhubungan terhadap satu record pada entitas B
ERD VERSI CHEN
Contoh 2 :

1 N
A B

Gambar diatas menunjukkan bahwa satu record pada entitas A


berhubungan terhadap lebih dari satu record pada entitas B
ERD VERSI CHEN
Contoh 3 :

M N
A B

Gambar diatas menunjukkan bahwa lebih dari satu record pada


entitas A berhubungan terhadap lebih dari satu record pada
entitas B
ERD VERSI MARTIN
 Pada ERD Martin :

- Relationship digambarkan dengan garis, dengan menambahkan


connectivity-nya (0,1,*)

- Hubungan antar entity digambarkan dengan , , dan

- Simbol:

Entitas

-Atribut
ERD VERSI MARTIN
 Gambar simbol-simbol relationship pada
ERD Martin:
Exactly one

Zero or one

More than one

Zero, one or more

One or more
ERD VERSI MARTIN
 Contoh 1:

A B

 Satu record pada entitas A hanya berhubungan


pada satu record pada entitas B
ERD VERSI MARTIN

REKTOR UNIVERSITAS
NO- NAMA ALAMAT KD- NAMA ALAMAT NO-

INDUK UNI UNIV. INDUK

018987 Hamid Jl. Joko 12 S012 Guna Nusa Jl. Rinai 9 019779

019779 Umar Jl. Nanas 8 S110 Budi Darma Jl. Kebun 8 018987

012345 Sofyan Jl. Bulak 3 U345 Bina Luhur Jl. Getuk 12 012345
ERD VERSI MARTIN
 Contoh 2:

A B

 Satu record pada entitas A berhubungan terhadap satu atau


lebih dari satu record pada entitas B atau dapat Tidak
Berhubungan
ERD VERSI MARTIN
ERD VERSI MARTIN
 Contoh 3:

A B

 Satu record pada entitas A pasti berhubungan terhadap satu


atau lebih dari satu record pada entitas B
ERD VERSI MARTIN
ERD VERSI MARTIN
 Contoh 4:

A B

 Satu record pada entitas A berhubungan terhadap satu record


pada entitas B atau Tidak Berhubungan
ERD VERSI MARTIN
Contoh Kasus
 Sebuah puskesmas mempunyai beberapa dokter, baik dokter umum maupun
spesialis. Masing-masing dokter menangani banyak pasien.
 Sebelum diperiksa oleh dokter, pasien harus mendaftar ke bagian administrasi
untuk menyerahkan data diri, mendapatkan nomer antrean dan membayar biaya
pendaftaran.
 Data pasien yang didapat di bagian administrasi akan diberikan ke dokter yang
bertugas. Setelah nomor antrean dipanggil, pasien akan diperiksa oleh dokter.
 Satu pasien dapat diperiksa oleh beberapa dokter sesuai situasi dan kondisi pasien
yang bersangkutan. Setelah pasien selesai diperiksa, dokter akan membuat resep
obat yang akan diserahkan ke apotek.
 Kemudian pasien tinggal mengambil obat dan membayarnya ke apotek.
Contoh Kasus
 LANGKAH 1 : Menentukan Entitas
 Pasien : No_Pendaftaran, Nama_Pasien, Umur_Pasien, Jenis_Kelamin, Alamat, Telpon,
Penyakit
 Administrator : Kode_Petugas, Nama_Petugas, Jam_Jaga
 Apotek : Kode_Obat, Nama_Obat, Harga
 Dokter : ID_Dokter, Nama_Dokter, Spesialis, Jadwal_Kerja
Pasien Administrator Dokter Apotek

Pasien Mendaftar Diperiksa Mengambil

Administrator Melayani Menyerahkan data

Dokter Memeriksa Menyimpan data Memberi resep

Apotek Memberi Menggunakan resep


Data Dictionary
Data Dictionary
 Ketika suatu model relasional dibuat, kamus data
mendefinisikan format penting untuk memasukkan data ke
dalam basis data.
 Kamus data menyediakan informasi dari setiap atribut,
seperti nama atribut, apakah suatu atribut merupakan kunci
atau bukan, tipe data (alphanumeric, numeric, tanggal, dan
lainnya), serta nilai yang bersesuaian.
Data Dictionary
Contoh Kamus Data :
Nama Database : akademik
Nama Tabel : mahasiswa
Fungsi : menyimpan data mahasiswa
Constraints
 Constraint umumnya dikelompokan menjadi dua bagian,
yaitu:
 Domain Constraint
 Key Constraint
Domain Constraint
 Constraint ini digunakan untuk melakukan pengecekan terhadap sebuah kolom atau
tipe data, contoh:
 NULL: digunakan untuk membiarkan field kolom dalam keadaan kosong (NULL).
 NOT NULL: field harus diisi (tidak boleh kosong)
 DEFAULT: jika sebuah field kolom kosong, maka kolom tersebut akan secara otomatis
terisi nilai DEFAULT
 CHECK: memaksa sistem untuk memilih range dari sebuah nilai yang ditentukan
Key Constraint
 Constraint ini digunakan untuk membuat relasi antar table
 Super key
 Primary Key
 Foreign key
Relational Key
 Super Key
Satu atribut/kumpulan atribut yang secara unik
mengidentifikasi relasi (satu atau lebih field yang
dapat dipilih untuk membedakan antara 1 record
dengan record lainnya).
Contoh: Untuk tabel MHS di atas, super key-nya:
 NPM
 NAMA (dengan syarat tidak ada nama yang
sama)
 NPM + NAMA
 NPM + ALAMAT
 NAMA + ALAMAT
 NPM + NAMA + ALAMAT
Primary key (Kunci utama) : Kunci utama merupakan sebuah
kunci yang dipilih sebagai atribut yang paling utama yang
dapat mengidentifikasikan secara unik suatu kejadian
spesifik, tetapi juga dapat mewakili setiap kejadian dari
suatu entity

 Foreign key : Kunci tamu adalah satu atribut atau satu set
minimal atribut yang melengkapi satu hubungan yang
menunjukkan ke induknya. kunci tamu ditempatkan
pada entity anak dan sama dengan kunci primer induk
yang direlasikan. Hubungan antara entity induk dengan
anak adalah hubungan satu lawan banyak (one to
many relationship)
Aturan Keintegritasan
Untuk menjamin keakuratan data, ditetapkan
beberapa aturan keintegritasan data, yakni:
 Entity integrity
 Referential integrity
Entity integrity
 Kunci utama tidak boleh bernilai null.
 Null artinya kosong, tidak ada nilai atau nilai tidak sesuai
dengan domain atributnya.

Contohnya:
Atribut NIP# sebagai kunci utama pada relasi tidak boleh
kosong, karena akan menyebabkan masalah keintegritasan
data.
Referential integrity
 Kunci asing harus mempunyai nilai data yang sesuai atau
cocok dengan nilai pada referensinya.

Contohnya:
Nilai atribut KodeDiv sebagai kunci asing pada relasi
PEGAWAI harus mempunyai nilai dan tidak boleh null sesuai
dengan referensinya yakni atribut KodeDiv pada relasi DIVISI.
Membentuk Basis Data Relasional
 Contoh data yang akan digunakan.
 Karakteristik masing-masing tabel data.
 Struktur masing-masing tabel.
 Didalam penerapan basis data, penetapan struktur tersebut
harus dilakukan sebelum penyimpanan datanya dilakukan.
Nama field tipe panjang keterangan
Nidn varchar 20 Primary key
Nama varchar 50
alamat text

Nama field tipe panjang keterangan


Kode_prodi varchar 20 Primary key
Nama prodi varchar 50
Kepala text
program
studi
nidn varchar 20 Foreign key
Nama field tipe panjang keterangan
Nidn varchar 20 Primary key
Nama varchar 50
alamat text

Nama field tipe panjang keterangan


nim varchar 20 Primary key
nama varchar 50
Alamat text
nidn varchar 20 Foreign key
Nama field tipe panjang keterangan
Kode mk varchar 20 Primary key
Nama mk varchar 50
sks varchar 2

Nama field tipe panjang keterangan


Kode mk varchar 20 Foreign key
nim varchar 20 Foreign key
nilai int 2
jam datetime

Nama field tipe panjang keterangan


nim varchar 20 Primary key
nama varchar 50
Alamat text
Penerapan dalam DBMS

tblDosen

tblMahasiswa

tblMataKuliah
Data Nilai
Kd_kul NIM Indeks Nilai
Kd_kul Matakuliah SKS Semester IF-110 980001 A
IF-110 Struktur Data 3 I IF-110 980004 B
IF-310 Basis Data 4 III IF-310 980001 A
Bahasa IF-310 980002 B
KU-234 2 II
Indonesia IF-310 980004 C
MA-115 Matematika 1 3 I KU-234 980001 B
MA-115 980002 C

NIM Nama Mahasiswa Alamat Mahasiswa Tgl Lahir


980001 Ali Akbar Jl. Merdeka No. 10 Jakarta 40121 11/12/1975
980002 Budi Haryanto Jl. Gajah Mada No. 2 Jakarta 45123 10/6/1978
980003 Iman Faisal Komp Griya Asri Asri D2 Depok 40151 5/13/1978
980004 Indah Susanti Jl. Adil No. 123 Bogor 43212 1/21/1978
TERIMAKASIH
Data Definition Language
DDL (Data Definition Language)
 Pengertian lebih lengkap dari DDL adalah salah satu bentuk
perintah SQL yang bisa digunakan untuk menciptakan atau
membuat database, tabel, struktur tabel, merubah struktur
database, menghapus tabel, menghapus database serta
membuat relasi antar tabel.
 Oleh sebab itu, DDL ini mempunyai sejumlah perintah dasar
yang terdiri atas Create, Alter serta Drop.
CREATE
Ini adalah perintah SQL yang digunakan saat membuat objek.
Dalam perintah ini ada beberapa poin sebagai berikut:

• Create database untuk membuat database yang baru


• Create table untuk membuat tabel yang baru
• Create Procedure untuk membuat prosedur yang baru
• Create index untuk membuat index yang baru
• Create function untuk membuat fungsi yang baru
• Create trigger untuk membuat reaksi tertentu atau trigger
pada database saat Anda memasukkan perintah lain
ALTER
 Ini adalah perintah SQL yang digunakan manakala hendak
merubah struktur suatu tabel atau memodifikasi bentuk
kolom, mengganti ataupun sekedar menambah tabel yang
sebelumnya sudah ada.
DROP
 Ini adalah perintah SQL yang digunakan untuk penghapusan
objek. Di sini ada 2 macam yakni drop database serta drop
table.
 Drop database untuk menghapus database sementara drop
table untuk menghapus tabel.
Data Manipulation Language
DML (Data Manipulation Language )
 DML atau Data Manipulation Language merupakan perintah SQL yang
berhubungan dengan manipulasi atau pengolahan data dalam table.
Yang menggunakan DML :
JOIN TABLE
Inner Join
 The INNER JOIN keyword selects records that have matching values in
both tables.
Left Join
 The LEFT JOIN keyword returns all records from the left table (table1),
and the matching records from the right table (table2). The result is 0
records from the right side, if there is no match.
Right Join
 The RIGHT JOIN keyword returns all records from the right table (table2),
and the matching records from the left table (table1). The result is 0
records from the left side, if there is no match.

Anda mungkin juga menyukai