Anda di halaman 1dari 91

Hand ut

Sistem Basis Data

Nia Kurniati, S.Kom


Jurusan Teknik Informatika
Fakultas Ilmu Komputer
Universitas Muslim Indonesia Makassar

1
PENILAIAN
Akhlak : 0 %
Kehadiran : 15 %
Tugas : 20 %
Quiz : 15 %
Mid Test : 25%
Nilai A : 80 – 100
Final Test : 25%
Nilai B : 70 – 79
Nilai C : 60 – 69
Nilai D : 50 – 59
Nilai E : 0 – 49

2
Tujuan Perkuliahan
 Tujuan Umum
Membentuk dan menumbuhkan :
1. pengetahuan mengenai konsep basis data, perancangan
Model E-R dan Model Relasional, serta implementasinya.
2. kemampuan menangani operasi pada basis data operasional.

 Tujuan Khusus
1. Mahasiswa memahami konsep yang melatarbelakangi
perancangan basis data dengan Model E-R dan Model Relasional.
2. Mahasiswa mampu melakukan perancangan dan implementasi
basis data dengan model E-R dan relasional.
3. Melakukan penanganan operasi terhadap basis data operasional.

3
Silabus
 Pengenalan Basis Data
 Sistem Basis Data
 Model Data
 Model Entity – Relationship (E-R)
 Model Relasional
 Normalisasi Data
 Denormalisasi Basis Data
 SQL (Structured Query Language)
 Aplikasi Basis Data

4
Pengenalan Basis Data
 Definisi Basis Data
 Basis Data (DATABASE):
- Basis  markas, gudang, tempat berkumpul
- Data  representasi fakta dunia nyata yang mewakili suatu objek
(manusia,barang,hewan,peristiwa,konsep,keadaan,dll),
direkam dalam bentuk ANGKA , HURUF, TEKS, SIMBOL,
GAMBAR, dll.
 Definisi Basis Data :
“ Himpunan kelompok data (arsip/file/tabel) yang saling berhubungan,
dan diorganisir/diatur/dikelompokkan sedemikian rupa, tanpa
pengulangan (redudansi) yang tidak perlu, sehingga dapat
dimanfaatkan kembali dengan MUDAH dan CEPAT”.
 Jadi basis data bukan sekedar penyimpanan data secara elektronis.

5
Pengenalan Basis Data (2)
 Operasi Dasar Basis Data
 Dalam sebuah disk /media penyimpanan,
dapat terdiri dari > 1 basis data, dan dalam sebuah basis data,
dapat ditempatkan 1 atau lebih file/tabel, yang menjadi tempat
sesungguhnya data disimpan.

 Operasi-operasi dasar yg dapat dilakukan pd suatu basis data :


1. CREATE dan DROP Basis Data
2. CREATE dan DROP Tabel
3. INSERT, SELECT (Search), UPDATE, dan DELETE
record / tabel.

6
Pengenalan Basis Data (3)

 Tujuan Basis Data

1. SPEED : Kecepatan dan Kemudahan


2. SPACE : Efisiensi Ruang Penyimpanan
3. ACCURACY : Keakuratan
4. AVAILABILITY : Ketersediaan
5. COMPLETENESS : Kelengkapan
6. SECURITY : Keamanan
7. SHAREABILITY :Kebersamaan Pemakaian .

7
Pengenalan Basis Data (4)
 Penerapan Basis Data
 Hampir di semua aspek pemanfaatan perangkat komputer dalam
suatu organisasi/ perusahaan, berhubungan dengan basis data,
yang biasanya berupa fungsi Pengelolaan Sistem Informasi.
 Basis data merupakan komponen utama setiap sistem informasi.
 Contoh bidang fungsional yang telah umum memanfaatkan
basis data demi efisiensi, akurasi, dan kecepatan operasi :
- Kepegawaian  berbagai perusahaan dengan banyak pegawai.
- Pergudangan (inventory)  pabrik, grosir, apotik, dll.
- Akuntansi  untuk berbagai perusahaan
- Reservasi  hotel, pesawat, kereta api, dll.
- Layanan Pelanggan (Customer Care)  bank, telekomunikasi,dll.

8
Sistem Basis Data
Sistem :
Sebuah tatanan (keterpaduan) yg terdiri atas sejumlah komponen
fungsional yang saling berhubungan dan secara bersama-sama
bertujuan untuk memenuhi suatu proses pekerjaan tertentu.
 Komponen Sistem Basis Data :
1. Hardware (Perangkat Keras) 
komputer (stand alone /multiuser), harddisk ,
tape / removable disk, perangkat komunikasi jaringan.
2. Operating System (Sistem Operasi) 
mengendalikan resource dalam komputer dan melakukan
operasi- operasi dasar pd komputer (operasi I/O,pengelolaan file,dll).
Contoh : MS-Windows 95/XP/NT/Vista, Novel Netware, Unix, Linux.

9
Sistem Basis Data (2)
3. Database (Basis Data) 
 Sebuah sistem basis data dapat memiliki beberapa basis data,
dan sebuah basis data dapat memiliki sejumlah objek basis data
(file/tabel/indeks).
 Selain menyimpan data, setiap basis data juga menyimpan definisi
struktur basis data dan objek-objeknya secara detail.
4. DBMS / Database Management System (Sistem Pengelola Basis Data)
 Mengelola basis data secara fisik :
mengorganisir, menyimpan (insert), mengubah (update) , dan
mengambil kembali (retrieve/search) data.
 Menerapkan mekanisme pengamanan data, pemakaian data secara
bersama, pemaksaan keakuratan/konsistensi data, dsbnya.
 Contoh : dBase, Ms-Acces  untuk kelas sederhana
SQL Server,MySQL,CA-Open Ingres,Oracle kls kompleks

10
Sistem Basis Data (3)
5. User (Pengguna)
Tipe-tipe user berdasarkan cara berinteraksi terhadap sistem :
a. Programmer Aplikasi : berinteraksi dengan DML + embeded
program(C, C++, Pascal).
b. User Mahir (Casual User) : dengan query
c. User Umum (End User / Naive User) : dengan executable program
d. User Khusus (Specialized User) : dengan aplikasi basis data khusus
non konvensional, seperti untuk
aplikasi AI, Pakar, Citra, dll.

6. Aplikasi (Perangkat Lunak) lain  opsional


 Sudah disediakan bersama DBMS atau dibuat khusus.

11
Sistem Basis Data (4)

DBMS
Basis Data
File 2
File 1
File 3

12
Sistem Basis Data (5)
 Abstraksi Data

Ada 3 level abstraksi data :


1. Physical Level (level fisik)
 Level terendah dalam abstraksi data, yang menunjukkan
bagaimana sesungguhnya (representasi fisik) suatu data disimpan.
 Pada level ini, user melihat data sbg teks/angka/himpunan bit data.

2. Conceptual Level (level konseptual / lojik)


 Pada level ini, user melihat data yg sebenarnya (secara fungsional)
direpresentasikan dalam bentuk file / tabel.

13
Sistem Basis Data (6)
3. View Level
 Leveltertinggi abstraksi data, hanya menunjukkan sebagian dari
basis data.
 Pada level ini, user hanya melihat data yang dibutuhkannya saja,
yang diatur oleh aplikasi end user.

View 1  View 2  View 3 

Level Konseptual

Level Fisik

14
Sistem Basis Data (7)

 Bahasa Basis Data (Database Language)


 Bahasa basis data adalah bahasa khusus untuk komunikasi user
dengan basis data, diatur oleh DBMS.

 Bahasa basis data terdiri atas sejumlah perintah (statement )


yang diformulasikan dan dapat diberikan user dan dikenali /
diproses oleh DBMS dengan melakukan suatu aksi/pekerjaan
tertentu.

Contoh Bahasa Basis data : dBase, QUEL, SQL, dll.

15
Sistem Basis Data (8)
 Bahasa basis data biasanya dikelompokkan jadi 2 bentuk :
1. Data Definition Language (DDL)
2. Data Manipulation Language (DML) .

 Data Definition Language (DDL)


- Untuk menspesifikasikan struktur/skema basis data yang
menggambarkan / mewakili desain basis data secara keseluruhan.
- Dengan DDL, dapat dibuat tabel baru, indeks baru, ubah tabel, dll.
- Hasil kompilasi perintah DDL adalah kumpulan tabel yang
disimpan dlm file khusus yg disebut Kamus Data (Data Dictionary).
- Kamus Data merupakan suatu metadata (superdata), yaitu data
yang mendeskripsikan data sesungguhnya.
- Kamus data akan selalu diakses dalam suatu operasi basis data,
sebelum suatu file data sesungguhnya diakses.
16
Sistem Basis Data (9)
 Data Manipulation Language (DML)
- Untuk manipulasi (insert, update, delete) dan pengambilan data
pada suatu basis data.
- Merupakan bahasa yang bertujuan memudahkan pemakai untuk
mengakses data sebagaimana direpresentasikan oleh model data.
- Ada 2 Jenis DML :
1. Prosedural  dengan query.
User menentukan data apa yang diinginkan dengan
menyebutkan bagaimana cara mendapatkannya.
2. Non Prosedural  dengan aplikasi.
 Pemakai dapat menentukan data apa yang diinginkan tanpa
menyebutkan bagaimana cara mendapatkannya.

17
Sistem Basis Data (10)
 Struktur Sistem Basis Data
Naive Programmer Casual Database
User Aplikasi User Administrator
(DBA)

Program System Skema


Query
Aplikasi Calls Basis Data

DML Query DDL


Precompiler Processor Compiler

Kode Objek Database


Program Aplikasi Manager
DBMS

File
Manager

File Data

Kamus Data
DISK

18
Sistem Basis Data (11)
1. File Manager : mengelola alokasi ruang dalam disk dan
struktur data yang dipakai, untuk efisiensi dan
efektifitas penyimpanan.
2. Database Manager : menyediakan interface antara data low level
yang ada di basis data, dengan program
aplikasi dan query yang diberikan sistem.
3. Query Processor : menerjemahkan perintah query ke perintah low
level, dan mentransformasikan permintaan user
menjadi lebih efisien, shg query lebih efektif.
4. DML Compiler : mengkonversi perintah DML 
berinteraksi dengan query processor.
5. DDL Compiler : mengkonversi perintah-perintah DDL ke dalam
sekumpulan tabel yang mengandung metadata,
yang kemudian disimpan dalam kamus data.
19
Sistem Basis Data (12)
 Interaksi Sistem Basis Data

Aplikasi (SIM)

End-user

Bhs program
Query (SQL)

Aplikasi
Basis Data
User mahir Programmer

DBMS

Basis
Data

20
Sistem Basis Data (13)
 Aplikasi dan DBMS

1. Aplikasi Basis Data yg Terpisah dari DBMS


Aplikasi A DBMS

Aplikasi B
Basis Data

2. Aplikasi Basis Data yg jadi Sub-Ordinate DBMS


DBMS
Aplikasi A
Basis Data
Aplikasi B

21
Syukran

22
Model Data
 Definisi Model Data
sekumpulan perangkat konseptual untuk mendeskripsikan data,
relasi / hubungan antardata, semantik (makna) data, dan
konsistensi batasan (constraint) data.

 Karena menyatakan makna dari data dan keterhubungannya


dengan data lain, maka model data lebih tepat disebut Model
Data Lojik (Logical Model).

23
Model Data (2)
 Kategorisasi Model Data :
1. Object-Based Logical Models :
a. Model E-R (Entity-Relationship) Model Keterhubungan Entitas
b. Object Oriented Models  Model Berorientasi Objek
 Setiap objek berisi :
- Nilai yang disimpan dalam variabel instant
(yang “melekat” dengan objek itu sendiri)
- Metode operasi yang berlaku
- Class : objek-objek dengan tipe nilai dan metode yang sama
- Sending a message  sebuah objek dapat mengakses data
objek lain hanya dgn memanggil
metode dari objek tersebut.
c. Semantic Data Model  Model Data Semantik.
d. Functional Data Model  Model Data Fungsional.

24
Model Data (3)
2. Record-Based Logical Models :
a. Model Relasional
Menggunakan kumpulan tabel-tabel untuk merepresentasikan
data dan relasi antar data tersebut.
b. Model Hirarki
Berbentuk struktur tree, memiliki simpul & cabang (hub. antar-simpul)
c. Model Jaringan
Direpresentasikan dgn sekumpulan record & link (relasi antar-data)

Model Jaringan

Model Hirarki
25
Model Entity-Relationship (E-R)
 Definisi Model E-R
 Model E-R didasarkan atas persepsi terhadap dunia nyata,
yang terdiri dari sekumpulan objek / entitas dan
hubungan/relasi antar-entitas tersebut.
 Entitas :
- Entitas adalah objek di dunia, yang bersifat unik (dapat
dibedakan dengan yang lain).
- Sekelompok entitas yang sejenis dan berada dlm satu lingkup,
disebut Himpunan Entitas (Entity Sets).
contoh : semua mahasiswa, dgn entitas : Ali, Budi, Iman, dstnya.
- Setiap entitas mempunyai atribut yg membedakannya dengan
entitas lain.

26
Model E-R (2)
 Relasi
- Relasi menunjukkan adanya hubungan di antara
sejumlah entitas yang berasal dari himpunan entitas
berbeda.
- Kumpulan relasi membentuk Himpunan Relasi
(Relationship Sets).

Contoh :
Seorang mahasiswa mengikuti sebuah kuliah, artinya :
entitas Mahasiswa memiliki relasi dengan entitas Kuliah.

27
Model E-R (3)
 Atribut
sebagai pembentuk karakteristik / sifat yang melekat pada
sebuah entitas.
Contoh :
Mahasiswa memiliki atribut : nim,nama_mhs,alamat_mhs, tgl_lahir.
 Key dan Atribut Deskriptif
 Key  satu atau gabungan beberapa atribut yang dapat
membedakan data secara unik.
Artinya :
jika suatu atribut dijadikan sebagai key, maka tidak boleh ada 2
atau lebih data dengan nilai yang sama untuk atribut tsb.
Ada 3 macam key :
1. Superkey
2. Candidate-Key
3. Primary-Key (PK).
28
Model E-R (4)
1. Superkey  satu atribut (kumpulan atribut)
yang dapat
membedakan setiap data secara unik.

Contoh :
Pada Mahasiswa, yang dapat menjadi superkey adalah :
- (nim, nama_mhs, alamat_mhs, tgl_lhr)
- (nim, nama_mhs, alamat_mhs)
- (nim, nama_mhs)
- (nama_mhs)  jika dapat dijamin tidak ada nilai yang sama
untuk atribut ini.
- (nim)

29
Model E-R (5)
2. Candidate-Key  kumpulan atribut minimal yang dapat
membedakan setiap data secara unik.
- Sebuah candidate-key tidak boleh berisi atribut atau
kumpulan atribut yang telah menjadi superkey yang lain.
- Sebuah candidate-key pasti superkey, tapi belum tentu
sebaliknya.

Contoh :
Pada Mahasiswa, yang dapat menjadi Candidate-Key adalah :
(nama_mhs)  jika dapat dijamin tidak ada nilai yang sama
untuk atribut ini.
(nim)

30
Model E-R (6)
3. Primary Key
- Salah satu dari Candidate-Key, dapat dijadikan Primary Key.
- Pemilihan Primary Key dari sejumlah candidate-key umumnya
berdasarkan:
1. Key tersebut lebih sering (lebih natural) utk dijadikan acuan
2. Key tersebut lebih ringkas
3. Jaminan keunikan Key tersebut lebih baik.

Contoh :
Dari candidate-key Mahasiswa : (nama_mhs) dan (nim),
dan yg lebih cocok dipilih sebagai Primary Key adalah (nim).

31
Model E-R (7)

 Atribut Deskriptif 
atribut-atribut yang tidak menjadi anggota dari Primary Key
(atribut selain dari Primary Key).

Contoh :
Pada tabel Mahasiswa, setelah pemilihan primary key,
maka yang menjadi Atribut Deskriptif adalah :
nama_mhs, alamat-mhs, dan tgl_lhr.

32
Model E-R (8)
 Atribut Sederhana dan Atribut Komposit
 Atribut Sederhana : atribut atomik yang tidak dapat dipilah lagi.

 Atribut Komposit : atribut yang masih dapat diuraikan lagi menjadi


sub-sub atribut yang masing-masing memiliki makna.
Contoh :
Pada tabel Mahasiswa 
nama_mhs merupakan atribut sederhana
alamat_mhs merupakan atribut komposit, karena dapat diuraikan lagi
menjadi beberapa sub atribut,seperti alamat, nama_kota, kode_pos.

 Atribut Komposit dapat di dekomposisi menjadi atribut-atribut sederhana,


jika ada kebutuhan untuk melakukan pengolahan data terhadap sub-sub
atribut secara khusus.

33
Model E-R (9)
 Atribut Bernilai Tunggal (Single-Valued Attribute) dan
Atribut Bernilai Banyak (Multivalued Attribute)

 Atribut Bernilai Tunggal : max satu nilai untuk setiap baris data.
Contoh : semua atribut pada tabel Mahasiswa.

 Atribut Bernilai Banyak : dapat diisi dengan lebih satu nilai,


tapi jenisnya sama.

Contoh :
atribut hobi dapat ditambahkan pada Mahasiswa, dimana seorang
mahasiswa, ada yang sama sekali tidak punya hobi, tapi ada yang
punya banyak hobi.

34
Model E-R (10)
 Atribut Mandatory dan Nilai Null

 Atribut Mandatori : atribut yg harus berisi data (tidak boleh kosong).

 Nilai Null : menyatakan suatu atribut boleh dikosongkan datanya


(Non Mandatory Attribute), karena datanya belum ada.

Contoh :
Pada tabel Mahasiswa, atribut nim dan nama_mhs dapat digolongkan
sebagai atribut mandatori, karena setiap mahasiswa yang ingin
disimpan datanya ke tabel tersebut, paling tidak harus diketahui nim
dan namanya. Sedangkan atribut alamat_mhs dan tgl_lhr dapat
bernilai Null, jika datanya belum ada.

35
Model E-R (11)
 Atribut Turunan (Derived Attribute)
 Atribut Turunan : atribut yang nilainya diperoleh dari
pengolahan (dpt diturunkan dari) atribut tabel lain
yang berhubungan.

 Atribut turunan dapat ditiadakan dari sebuah tabel, karena nilai –


nilainya bergantung pada nilai yang ada di atribut lainnya.
Contoh : pada tabel Mahasiswa
Penambahan atribut angkatan  diturunkan / diketahui dari atribut
nim.

36
Model E-R (12)
 Kardinalitas Pemetaan (Relasi)
 Kardinalitas(Derajat/Rasio) Relasi 
menunjukkan jumlah maksimum entitas yang dapat berelasi dgn
entitas pada himpunan entitas lain dalam suatu relationship sets.

 Kardinalitas Relasi antara 2 himpunan entitas (misalkan A dan B) :

1. Satu ke Satu (One to One)  1 - 1


2. Satu ke Banyak (One to Many)  1- N
3. Banyak Ke Satu (Many to One)  N – 1
4. Banyak ke Banyak (Many to Many)  N – N.

37
Model E-R (13)

1. Satu ke Satu (One to One)  1 - 1


setiap entitas pada A dihubungkan ke maksimum 1 entitas pada B.
2. Satu ke Banyak (One to Many)  1- N
setiap entitas pada A dapat dihubungkan ke banyak entitas pd B, tapi
setiap entitas pd B hanya dapat berhubungan max ke 1 entitas pd A).
3. Banyak Ke Satu (Many to One)  N - 1
setiap entitas pd A dapat berhubungan maksimum ke 1 entitas pd B,
tapi setiap entitas pd B dapat berhubungan ke banyak entitas pd A.
4. Banyak ke Banyak (Many to Many)  N - N
setiap entitas pd A dapat berhubungan ke banyak entitas pd B, dan
demikian juga sebaliknya.

38
Model E-R (14)
 Diagram Entity-Relationship (ERD)
 Model E-R digambarkan dengan menggunakan Diagram E-R.
 Notasi simbolik di dalam diagram E-R :
1. menyatakan Himpunan entitas (entity sets) 
sering disebut juga sebagai Entity.

2. menyatakan Himpunan Relasi (Relationship Sets).

3. menyatakan Atribut.

4. menyatakan Link sebagai penghubung antara himpunan


entitas dengan atributnya, dan dengan himpunan relasi.

39
Model E-R (15)

 Primary Key (PK) : satu atau sekumpulan atribut yang menjadi


kunci utama suatu relasi.

 Foreign Key (FK) : satu atau sekumpulan atribut dalam suatu relasi,
yang menjadi kunci (key) relasi lain.

 Komposit Key : PK dengan lebih dari 1 atribut.

40
Model E-R (16)
 Tahap Pembuatan ERD Awal
 Ada 2 tahap pembuatan ERD :
1. Tahap Pembuatan Diagram E-R Awal (Preliminary Design) 
untuk mendapatkan sebuah rancangan basis data minimal yang
dpt mengakomodasi kebutuhan penyimpanan data suatu sistem,
dengan mengabaikan anomali yang ada.
2. Tahap Optimasi Diagram E-R (Final Design) 
koreksi terhadap hasil tahap pertama, dengan mempertimbangkan
anomali, aspek efisiensi, perfomansi, dan fleksibilitas.
Bentuk-bentuk koreksi :
- pendekomposisian / pemecahan himpunan entitas
- penggabungan himpunan entitas
- pengubahan kardinalitas/derajat relasi
- penambahan relasi baru
- perubahan (penambahan/pengurangan) atribut entitas & relasi.

41
Model E-R (17)

1. Langkah-langkah Tahap Pembuatan ERD awal :


a. Mengidentifikasi & menetapkan seluruh himpunan
entitas yang terlibat.
Contoh :
himpunan entitas yang terlibat : Mahasiswa, Dosen, Kuliah.

b. Menentukan atribut-atribut setiap himpunan entitas.


Contoh :
Atribut Mahasiswa (nim, nama_mhs, alamat_mhs, tgl_lhr)
Atribut Dosen (kode_dos, nama_dos, alamat_dos)
Atribut Kuliah (kode_mk, nama_mk, sks, semester).

42
Model E-R (18)
c. Menentukan PK setiap himpunan entitas yang ada.
Contoh : PK dari Mahasiswa : nim
PK dari Dosen : kode_dos
PK dari Kuliah : kode_mk.

d. Mengidentifikasi dan menetapkan seluruh himpunan relasi di antara


himpunan entitas – himpunan entitas yang ada, berikut FK nya.
kode_mk kode_dos
nim kode_mk

kode_dos nama_dos
nim nama_mhs kode_mk nama_mk

Mahasiswa mengikuti Kuliah diajar Dosen

alamat_mhs tgl_lhr indeks_nilai sks semester waktu tempat alamat_dos

43
Model E-R (19)
5. Menentukan derajat/kardinalitas relasi utk setiap himpunan relasi.

kode_mk kode_mk kode_dos


nim

kode_dos nama_dos
nim nama_mhs kode_mk nama_mk

N
N N 1
Mahasiswa mengikut Kuliah diajar Dosen
i

alamat_mhs tgl_lhr indeks_nilai sks semester waktu tempat alamat_dos

 Jika atribut deskriptif (selain PK dan FK) terlalu banyak, tidak perlu
dicantumkan, karena cenderung akan mengganggu.

44
Model E-R (20)

 Diagram E-R (ERD) dengan Kamus Data

 Tujuan utama pembuatan ERD adalah untuk menunjukkan objek-objek


(himpunan entitas) apa saja yg ingin dilibatkan dlm sebuah basis data,
dan bagaimana hubungan/relasi yang terjadi di antara objek-objek tsb.

 Jika atribut terlalu banyak, sehingga tidak semua dicantumkan di ERD,


maka pendeklarasian atribut ini dpt dinyatakan dlm sebuah Kamus Data.

 Kamus Data berisi daftar atribut, yang diapit tanda ‘{‘ dan ‘}’, dan
atribut key diberi garis bawah, untuk membedakan dengan atribut yg
non key.

45
Model E-R (21)
 ERD dapat digambarkan sebagai berikut, dengan tambahan
Kamus Data.

N N N 11
Mahasiswa mengikuti Kuliah diajar Dosen

Kamus Data :
Mahasiswa = { nim, nama_mhs, Alamat_mhs, tgl_lhr }
Kuliah = { kode_mk, nama_mk, sks, semester }
Dosen = {kode_dos, nama_dos }
mengikuti = { nim, kode_mk, indeks nilai }
diajar = { kode_mk, kode_dos, waktu, tempat }

46
Model E-R (22)
 Derajat Relasi Minimum 
hubungan minimum yang boleh terjadi dalam sebuah relasi antar
himpunan entitas.
Contoh :
- Dari ERD diketahui Relasi antara Mahasiswa & Kuliah : N–N
Diketahui dari fakta : bahwa seorang mahasiswa boleh tidak mengambil
mata kuliah satu pun (cuti) & sebuah mata kuliah bisa tidak diikuti oleh
seorang mahasiswa pun.
Dengan demikian, derajat relasi minimum-nya sama-sama 0 (nol).
- Sedangkan relasi antara Kuliah dan Dosen : N -1 (banyak ke satu).
Fakta : seorang dosen mungkin tidak mengajar satu pun mata kuliah
(karena cuti, sakit, dll), maka derajat relasi minimum-nya = 0 (nol).
Sedangkan dari fakta bahwa setiap mata kuliah sudah harus ditentukan
dosennya, maka derajat relasi minimumnya = 1.

47
Model E-R (23)

Dari hasil penentuan Derajat Relasi Minimum tadi, maka ERD nya
digambarkan sbb :

(0,N) (0,N) (0,N) (1,1)


Kuliah
Mahasiswa mengikuti diajar Dosen

48
Model E-R (24)
 Tahap Lanjut ERD
 Varian Entitas
a. Entitas kuat (Strong Entity) 
(himp) entitas ideal dalam suatu ERD, karena keberadaannya tidak
bergantung pada dan bukan sub/bagian dari (himp) entitas lain.
Contoh : pada ERD sebelumnya  Mahasiswa, Dosen, Kuliah.

b. Entitas Lemah (Weak Entity) 


(himp) entitas yang kemunculannya tergantung eksistensi relasi
terhadap entitas kuat, dan biasanya tidak memiliki atribut yang
menjamin keunikannya (key).

49
Model E-R (25)
Contoh :
Dari ERD  Orangtua dan Hobbi adalah entitas lemah dengan
Mahasiswa sebagai entitas kuatnya.

nim nama_ortu nama_ortu

memiliki
1
nim 1 Orangtua

nama_mhs alamat_ortu
Mahasiswa
nim hobi
alamat_mhs
1 N
tgl_lhr menyenangi
Hobbi hobi

Misalkan ada nama_mhs= ‘Budi Haryanto’, nama_ortu=‘Siswono’,


hobi=‘berenang’. Jika data mahasiswa ‘Budi Haryanto’ tersebut dihapus,
maka orangtua ‘Siswono’ & hobi ‘berenang’ juga ditiadakan.

50
Model E-R (26)

c. Sub Entitas (Subtype Entity) 


(himp) entitas yang merupakan bagian dari (himp) entitas yang
lebih superior/utama.

 Merupakan hasil dekomposisi (spesialisasi) entitas berdasarkan


pengelompokan tertentu, dan seperti hal nya entitas lemah,sub
entitas tidak memiliki key yang menjamin keunikan entitas di
dalamnya.

51
Model E-R (27)
Contoh :
Dosen tetap & Dosen Tidak Tetap merupakan Sub Entitas dari Dosen.
Relasinya berbentuk segitiga terbalik, dan dinamakan IS A .
Dari atas ke bawah dinamakan spesialisasi <> dinamakan generalisasi
kode_dos

nama_dos Dosen alamat_dos

IS A
nik nama_kantor
pangkat

tgl_masuk Dosen Tetap Dosen Tidak Tetap


alamat_kantor

52
Model E-R (28)
 Varian Relasi
a. Relasi Biner (Binary Relation) 
Relasi antara 2 (himp) entitas, merupakan relasi paling umum digunakan.
Contoh: relasi antara Mahasiswa - Kuliah,dan antara Kuliah – Dosen.
b. Relasi Tunggal (Unary Relation) 
relasi yang terjadi pada (himp) entitas yang sama.
Contoh :
N

kode_mk
kode_mk Kuliah Kuliah prasyarat

53
Model E-R (29)
c. Relasi Multi Entitas (N-ary Relation) 
relasi dari 3 atau lebih (himp) entitas.
 Relasi seperti ini sedapat mungkin dihindari,karena tidak dapat
ditentukan Derajat Relasi-nyasulit untuk implementasi ERD.
Contoh : Relasi ‘pengajaran’ merupakan Relasi Multi Entitas
antara Kuliah, Dosen, dan Ruang.

kode_mk kode_dos

kode_mk Kuliah pengajaran Dosen kode_dos

kode_ruang waktu

kode_ruang Ruang kapasitas

nama_ruang

54
Model E-R (30)
 Spesialisasi dan Generalisasi
 Spesialisasi  membagi entitas menjadi sub-sub entitas
 Generalisasi  menyatukan beberapa entitas.

Contoh :

Dosen
Mahasiswa
Top-Down Bottom-Up

IS A IS A

Dosen Dosen Mahasiswa


Tetap Tidak Tetap Mahasiswa S1
D3

Spesialisasi Generalisasi

55
Model E-R (31)
 Agregasi 
terbentuknya relasi dengan entitas yang berasal dari hasil relasi lain.
Contoh :
Agregasi antara Praktikum yang berelasi dengan hasil relasi Mahasiswa
dan Kuliah.

N N
Mahasiswa mempelajari Kuliah

nim kode_mk

mengikuti
kode_prak nilai
N

kode_prak Praktikum jumlah_jam

nama_prak

56
Model E-R (32)
 Implementasi ERD

 Tahap implementasi merupakan upaya membangun basis data fisik


yang ditempatkan di memori sekunder.
 Langkah-langkah implementasi ERD adalah sbb :
1. Transformasi umum / dasar, dari model E-R yang telah dibuat ke
skema basis data sesuai dengan DBMS yang dipilih.
2. Diagram ER menjadi basis data
3. Entity  tabel-tabel / file-file data
4. Atribut  field / kolom tabel.

57
Model E-R (33)
 Transformasi Umum / Dasar :
1. Setiap himpunan entitas akan diimplementasikan menjadi
sebuah tabel.
Contoh :
nama_mk semester

kode_mk Kuliah sks

Tabel Kuliah

kode_mk nama_mk sks semester

58
Model E-R (34)
2. Implementasi Relasi derajat 1 – 1 yang menghubungkan
2 himpunan entitas, akan direpresentasikan dlm bentuk penambahan
atribut-atribut relasi ke salah satu tabel yg mewakili kedua himpunan
entitas.
kode_dos
Contoh :
nama_dos Dosen alamat_dos

1
kode_dos mengepalai kode_jur
1
kode_jur Jurusan nama_jur

Tabel Dosen Tabel Jurusan


Field yang
kode_dos nama_dos alamat_dos kode_jur nama_jur kode_dos ditambahkan dari
relasi mengepalai,
tapi hanya sbg
field deskriptif
(non key)
Model E-R (35)
3. Implementasi Relasi derajat 1 – N 
dipresentasikan dalam bentuk pemberian atribut key dari himpunan
entitas berderajat 1 ke himpunan entitas berderajat N.
Contoh : kode_mk sks

nama_mk Kuliah semester


N
tempat kode_mk
diajar
waktu kode_dos Field-field yang ditambahkan
1 dari relasi diajar.
Tabel Kuliah ini berbeda
kode_dos Dosen nama_dos strukturnya dengan yang
dihasilkan pada contoh 1
transformasi dasar himpunan
alamat_dos
entitas Kuliah tidak memenuhi
1NF  perlu Normalisasi.

Tabel Dosen Tabel Kuliah


kode_dos nama_dos alamat_dos kode_mk nama_mk sks semeste kode_dos tempat waktu
r

60
Model E-R (36)
4. Implementasi Relasi dengan derajat N – N 
akan diwujudkan dalam bentuk tabel khusus, yang memiliki FK
berasal dari PK kedua himpunan entitas yang dihubungkan.
Tujuan ada kardinalitas adalah untuk menentukan tabel/mana menjadi tabel
Contoh : Tabel Mahasiswa
nim nama_mhs alamat_mhs tgl_lhr
nim nama_mhs

alamat_mhs tgl_lhr
Mahasiswa
Tabel Mempelajari / Tabel Nilai
N kode_mk
nim nim kode_mk indeks_nilai
mempelajari
indeks_nilai
N
kode_mk Kuliah nama_mk
Tabel Kuliah

sks semester kode_mk nama_mk sks semester


Model E-R (37)
5. Implementasi Relasi Tunggal (Unary Relation)
a. Derajat 1 – N  penggunaan field key 2x pada satu tabel,
tapi dengan nama dan fungsi berbeda.
Contoh :
1

kode_dos mendampingi kode_dos


Dosen
N

Tabel Dosen
kode_dos nama_dos alamat_dos kode_dos_
pendamping

62
Model E-R (38)
b. Derajat N – N  dibentuk tabel baru yang mendapatkan field dari
semua atribut relasi (jika ada), yang ditambahkan
dengan atribut key dari himpunan entitasnya.
Contoh :
Tabel Kuliah

kode_mk nama_mk sks semester

N
kode_mk

kode_mk Kuliah
Kuliah
Prasyarat
Tabel Kuliah Prasyarat
N
kode_mk kode_mk_prasyarat

63
Model E-R (39)
6. Implementasi Relasi Multi Entitas (N-ary Relation) 
selain himpunan entitas yg masing-masing menjadi tabel tersendiri,
maka Relasi menjadi tabel khusus (dianggap derajat relasinya N-N),
kecuali jika dipastikan bahwa derajat relasinya 1 – N, maka relasi tidak
menjadi tabel.

7. Implementasi Entitas Lemah 


masing-masing diimplementasikan dalam bentuk tabel, seperti
entitas kuat, tapi dgn menyertakan atribut key yg ada pd entitas kuat.

8. Implementasi Relasi Ganda 


implementasinya ditinjau pd masing-masing relasi tanpa terikat satu
sama lain, berdasarkan Derajat Relasi di masing-masing relasi tsb.
Model E-R (40)
9. Implementasi Spesialisasi dan Generalisasi 

 Spesialisasi terhadap sebuah himpunan entitas akan menghasilkan


sejumlah tabel dari himpunan entitas baru, dengan satu tabel untuk
himpunan entitas kuat yang menjadi acuan, dan lainnya merupakan
tabel dari sub entitas, yang memiliki FK dari tabel entitas kuat.

 Generalisasi : dilakukan dengan ‘mengabaikan’ perbedaan beberapa


himpunan entitas yang memang memiliki banyak kesamaan.
- Berbeda dengan Spesialisasi, Generalisasi justru akan menyusutkan
jumlah himpunan entitas, sehingga hanya menjadi satu tabel saja.
Model E-R (41)
- Untuk tetap mengakomodir perbedaan yang telah ada sebelumnya,
maka di tabel tersebut ditambahkan sebuah atribut yang nantinya
akan diisi dengan kode khusus yang menyatakan perbedaan tsb.
Contoh : Tabel Mahasiswa

Generalisasi
Mahasiswa

IS A

Mahasiswa D3 Mahasiswa S1

nim nama_mhs alamat_mhs tgl_lhr prog_studi

66
Model E-R (42)
10. Implementasi Agregasi 
 Agregasi dapat dipandang sebagaimana relasi pada umumnya
(yang menghubungkan 2 himpunan entitas).
 Karena relasi ini dibentuk dari relasi lain (relasi prasyarat),
maka relasi prasyarat tersebut harus lebih dahulu
diimplementasikan.
Model E-R (43)
 Tipe Data dan Domain
 Tipe Data : mengacu pada kemampuan penyimpanan data yang
mungkin bagi suatu atribut secara fisik, tanpa melihat
layak/tidaknya data tersebut bila dilihat dari kenyataan
pemakainya.
Contoh :
- Data Angka (Numerik atau Alfanumerik/Teks)
- Data Numerik
a. Bilangan Bulat (integer): Byte (1 byte), Small-Integer (2 byte),
Long-Integer (4 byte)
b. Bilangan Nyata (Real Integer) :
Single (4 byte) atau Double (8 byte)
- Data Uang : bertipe Money atau Currency
- Data Teks : Ukuran Tetap (Fixed-Character) atau
Ukuran Dinamis (Variable-Character).

68
Model E-R (44)

 Domain : lebih ditekankan pada batas-batas nilai yang


diperbolehkan bagi suatu atribut, dilihat dari kenyataan
yang ada.
Contoh :
Pada tabel Kuliah  tipe data untuk atribut sks adalah integer,
sehingga secara fisik dapat
saja menyimpan nilai -1, 0, atau 100 untuk atribut sks itu.
Tapi kenyataannya, nilai yang layak untuk sks adalah 1,2,3, atau 4.
Jadi dapat dikatakan bahwa domain nilai untuk atribut sks adalah
1,2,3 dan 4.
Thank
You
Model Relasional
 Definisi Model Relasional
 Model Relasional disebut juga Basis Data Relasional.

 Diperkenalkan pertama kali oleh E.F.Codd.

 Merupakan model basis data yang paling populer, karena


kemudahan dalam penerapan dan kemampuannya dalam
mengakomodasi berbagai kebutuhan pengelolaan basis data yang
ada di dunia nyata (real world).

 PadaModel Relasional, basis data dikelompokkan ke dalam


berbagai tabel 2 dimensi, yaitu Baris Data (row/record) pada lajur
mendatar, dan Kolom (column/field) pada lajur vertikal.

71
Model Relasional (2)
 Untuk menerapkan sebuah basis data (terdiri atas sejumlah
tabel yang saling berhubungan), dibutuhkan software
khusus yang disebut Sistem Pengelola Basis Data
(Database Management System  DBMS).

 Contoh DBMS untuk basis data relasional :


dBase III+, MS-Access, Borland-Paradox,
MS-SQL Server, MySQL, Oracle.
Model Relasional (3)
 Penerapan Model Relasional

 Untuk mengilustrasikan lebih nyata Model Data Relasional,


dapat diambil contoh basis data sederhana yang berkaitan
dengan sistem akademik perguruan tinggi.
 Basis data ini terdiri dari 3 buah tabel, yaitu tabel :
Mahasiswa, Dosen dan Kuliah .
 Sebelum penerapan basis data dilakukan (dengan
menggunakan salah satu software DBMS yang ada), terlebih
dahulu harus diketahui contoh data yang akan digunakan.

73
Model Relasional (4)
 Contoh data harus dianalisis utk mengetahui karakteristik
masing-masing tabel data, yang kemudian akan menjadi
dasar untuk penetapan struktur masing-masing tabel.

 Dalam basis data, penetapan struktur harus dilakukan


sebelum penyimpanan datanya dapat dilakukan.
Model Relasional (5)
Contoh kasus :
1. Data Mahasiswa, Dosen dan Kuliah
a. Data Mahasiswa  pada tabel Mahasiswa
NIM Nama Mahasiswa Alamat Mahasiswa Tgl Lahir
2006001 Ali Akbar Jl.Merdeka 10, Jakarta 40121 02 Jan 1987

2006002 Budi Haryanto Jl. Gajah Mada 2, Jakarta 45123 06 Okt 1988

2006003 Imam Faisal Komp. Griya Asri D-2, Depok 40151 13 Mei 1988

2006004 Indah Susanti Jl. Adil No.123, Bogor 43212 21 Juni


1987

b. Data Dosen  pada tabel Dosen

Kode Dosen Nama Dosen Alamat Dosen

DSU Dewi Sudari,MA Jl. Selamat No. 14, Jakarta 40212

TIS Ir.Taufik Ismail Perum Dosen Griya Indah C-5, Bogor 43111

UHA Dr.Umar Hakim Jl. Garuda No.1, Depok 43212

75
Model Relasional (6)
c. Data Kuliah  pada tabel Kuliah

Kode MK Mata Kuliah SKS Semester

IF-110 Struktur Data 3 02 Jan 1987

IF-310 Basis Data 3 06 Okt 1988

KU-234 Bahasa Indonesia 2 13 Mei 1988

MA-115 Matematika I 3 21 Juni 1987


Model Relasional (7)
2. Dari contoh data tabel tersebut, diperoleh definisi struktur
tabel sbb :
a. Struktur dari tabel Mahasiswa :
Nama Kolom Tipe Lebar Untuk Menampung Data

nim character / text 7 nomor induk mahasiswa

nama_mhs character / text 30 nama setiap mahasiswa

alamat_mhs character / text 60 alamat setiap mahasiswa

tgl_lahir character / text 8 tanggal lahir setiap


mahasiswa

b. Struktur dari tabel Dosen :


Nama Kolom Tipe Lebar Untuk Menampung Data
kode_dos character / text 3 kode setiap dosen
nama_dos character / text 35 nama setiap dosen
alamat_dos character / text 60 alamat setiap dosen

77
Model Relasional (8)

c. Struktur dari tabel Kuliah :


Nama Kolom Tipe Lebar Untuk Menampung Data

kode_mk character / text 6 kode mata kuliah

nama_mk character / text 30 nama mata kuliah

sks integer / number 1 jumlah bobot satuan kredit semester

semester integer / number 1 semester diselanggarakannya perkuliahan


Model Relasional (9)
3. Lakukan penerapan struktur tabel tersebut, dengan meng-
create tabel dengan menggunakan salah satu software,
misalkan MS-Access.
a. Create Tabel Mahasiswa

79
Model Relasional (10)
b. Create Tabel Dosen
.

80
Model Relasional (11)
c. Create Tabel Kuliah
Model Relasional (12)
4. Setelah tabel didefinisikan dan di-create,lakukan pengisian
(insert data) ke tabel.

82
Model Relasional (13)
Model Relasional (14)
 Operasi dan Bahasa Basis Data
 Setelahtabel diisi, dapat dilakukan operasi-operasi pd basis data :
1. Menampilkan data (Query)
2. Pengubahan data (Update)
3. Penghapusan data (Delete)
 Cara/ teknis penerapan operasi-operasi basis data tersebut
sangat tergantung dari DBMS yang digunakan.
 Secara umum, ada 2 macam cara menjalankan operasi basis data :
1. Menjalankan program khusus untuk melakukan operasi basis
data secara intensif  menyediakan program khusus
2. Menggunakan bahasa basis data (Data Manipulation Language)
 user harus menuliskan perintah khusus, spt bahasa SQL.

84
Model Relasional (15)

 Contoh operasi basis data dengan menggunakan bahasa SQL :

1. Query (menampilkan data)


Select * from kuliah  menampilkan seluruh data pd tabel
Kuliah.

2. Update (pengubahan data)


Update kuliah set sks=4 where kode_mk=‘IF-310’

3. Delete (penghapusan data)


Delete from kuliah where kode_mk=‘IF-110’
Model Relasional (16)
 Relasi Antar Tabel

 Basis data terdiri atas tabel-tabel yang saling berhubungan.


 Secara intuitif, tabel MDK terasa berhubungan, tetapi struktur
dan data yang terdapat pada ketiga tabel tersebut,tidak terlihat
relasi (keterhubungan) fisik.
 Karena itu, tabel-tabel MDK dilengkapi dgn tabel Nilai & Jadual
 Tabel Nilai menunjukkan relasi antara tabel Mahasiswa dan
tabel Kuliah.

86
Model Relasional (17)
Struktur tabel Nilai :
Nama Kolom Tipe Lebar Untuk Menampung Data

nama_mk character 30 nama setiap mata kuliah

nim character 6 nomor induk mahasiswa

nama_mhs character 30 nama setiap mahasiswa

indeks_nilai character 1 indeks mata kuliah yang diambil

 Tabel Jadual menunjukkan relasi antara tabel Kuliah & tabel Dosen.
Struktur tabel Jadual :
Nama Kolom Tipe Lebar Untuk Menampung Data

nama_mk character 30 nama setiap mata kuliah

waktu character 60 waktu penyelenggaraan kuliah

tempat character 10 tempat penyelenggaraan kuliah

nama_dos character 35 nama setiap dosen


Model Relasional (18)
 Basis Data yang Baik
Basis data yang baik, harus mempertimbangkan aspek-aspek :
- efisiensi tempat penyimpanan data
- integritas data (redudansi data yang minimal)
- kecepatan pemrosesan
- kemudahan operasi basis data, dll.

 Untuk mendapatkan basis data yang baik, akan lebih mudah


jika dilakukan perancangan basis data terlebih dahulu 
tujuan utama kuliah basis data.

88
Model Relasional (19)
 Pembentukan basis data yang baik (efisien)  hasil
perancangan yang matang, akan memberikan sejumlah
karekateristik dan keuntungan seperti :
- struktur basis data (tabel-tabel dan relasi antar tabel) yang
lebih kompak.
- struktur setiap tabel yang lebih efisien dan sistematis.
- kebutuhan ruang penyimpanan data (memori sekunder) yang
lebih efisien.
- makin kecil (efisiensi) ukuran tabel, makin cepat operasi
basis data dilakukan.
- efisiensi ditandai dengan redudansi data yang optimal (dalam
basis data relasional, redudansi tidak mungkin dihindari),
sehingga meningkatkan integritas data.
- tidak ada ambiguitas data disemua tabel dlm basis data, dll.
Model Relasional (20)
 Beberapa inefisiensi pada basis data MDK, Nilai dan Kuliah :
1. Penyertaan data nama mahasiswa pada tabel Nilai menjadi tidak
efisien (redudansi data yang tidak perlu), karena nama
mahasiswa dapat diketahui melalui nim.
2. Jika dilakukan pengubahan data terhadap nama mata kuliah,
maka perubahan ini harus diikuti juga dgn perubahan tabel lain.
Jika tidak, konsistensi data antar tabel akan terganggu.
Tetapi akan menjadi tidak praktis/efisien jika perubahan sering
dilakukan.
3. Pada tabel Jadual, harus ada alternatif lain untuk menyatakan
struktur waktu perkuliahan, untuk antisipasi jika ada sebuah
mata kuliah yang waktunya 2 kali seminggu di tempat yang
berbeda, sehingga tabel jadual menjadi lebih efisien.

90
Thank
You

Anda mungkin juga menyukai