Staffsite STMIK PPKIA Pradnya Paramita

USER
EXTERNAL
LEVEL

CONCEPTUAL
LEVEL

INTERNAL
LEVEL

External View

External View

Pandangan Konseptual/Logika

Pemetaan Secara Internal/ Phisik

DATABASE

External Level / Tingkat Pengguna/Pandangan

Pada peringkat ini meyederhanakan interaksi pengguna dengan
sistem berupa antarmuka pengguna grafis (GUI-Graphical User
Interface) pada perangkat lunak aplikasi sistem basis data.
Conceptual Level / Tingkat Konsep
Abstraksi yang mendiskripsikan secara menyeluruh tampilan
komunitas dari basis data meliputi entity, atribut dan bagaimana
hubungan relasi antar data/table yang terjadi.
Internal Level / Tingkat Fisik
Abstraksi yang mendiskripsikan struktur penyimpanan basis data
secara fisik pada system komputer dan organisasi file yang
digunakan dalam menyimpan dan mengakses basis data .


◦ !



"

!

!





#
!
$

%





&

!
!


'

"
(

!
◦ !

)
(*

◦ !
(*

(

+
(
+

+
,+

*

+
*


+

"
'

)




&


*





*
*
*
*

*
◦ *
◦ *

#
-

-


#- *
.

0

*

/

*

&
0

.

#- 1*2

/


*
(
&

4

(

3

3

R1

R2

R5
R3


R4

Menu I Back

&
+
!

&

&

(
3

-5 -6 -' ((((

&
(


!

(
(
-

-

-

(

-

A

C

B


E

D

F

G

H

I

DEPARTEMEN
DNAME

DNUMBER

MGRNAME

MGRSTARDATE


EMPLOYE
NAME

SSN

BDATE

PROJECT
ADRESS

DEPENDENT
DEPNAME

SEX

PNUMM

PNAME

PLOCATION

SUVERVISE
BRITHDATE

NAME

WORKER
SSN

NAME

SSN

HOURS

#

*

#

&#

Nim

Nama

Mahasiswa

Atribute
Entity/Entitas

-

(

Nilai

No_Mk

Matakuliah

Mengambil

Relasi

Nama_MK

*

&
(
&

#
*

-

&

(.

##-

#

Contoh Model Relasional
Tabel Mahasiswa

Tabel Matakuliah

Nim

Nama

No_Mk

Nama_MK

SKS

0001.52.2007

Paijoe

111

Basis Data

3

0002.51.2007

Bedjoe

222

Delphi

2

Tabel Nilai
NIM

No_MK

Nilai

0001.52.2007

111

A

0001.52.2007

222

B

0002.51.2007

111

A

*

(

-

&
+

◦ *

(

7

◦ *
-

8
+-9

◦ *

*

2

.

*
*

"

-

*

*

"
-

*

7

4
%

4

+
%

+
+

-

" +

+
+
+

1

+

*
+

(
!
2




*

2
2

*2

+
(
0

2
%






*

-

(

!
*

-

* (

Basis Data Relasional

-

*
3
#
!
$

Basis Data Relasional

#
-

*
(

4. .2
;

:
2
-

;2
* (
Basis Data Relasional

!
(

Basis Data Relasional

$
(
&
(

Basis Data Relasional

(

Basis Data Relasional

*

&
(

Basis Data Relasional

*

&

*

(

-

'
3


&
◦ *
◦ $

;2

Basis Data Relasional

(
(
&
(

Basis Data Relasional

(4
<

3
3

=

3

(
3
(
=

(
(

Basis Data Relasional

&

&
(
&

&

(

Basis Data Relasional

*
:

+

(

Basis Data Relasional

-

3
(

3
!

Basis Data Relasional

!

"

/

4
/

Basis Data Relasional

Basis Data Relasional

Super key
Satu atribut/kumpulan atribut yang secara unik mengidentifikasi
sebuah tupel di dalam relasi (satu atau lebih field yang dapat dipilih
untuk membedakan antara 1 record dengan record lainnya).
Contoh: Untuk tabel MHS, super key-nya:
◦ NPM
◦ NAMA (dengan syarat tidak ada nama yang sama)
◦ ALAMAT (dengan syarat tidak ada alamat yang sama)
◦ NPM + NAMA
◦ NPM + ALAMAT
◦ NAMA + ALAMAT
◦ NPM + NAMA + ALAMAT

Basis Data Relasional

4

*

&
2 *

8 * 8 *
5

Basis Data Relasional

4

*

8 *
8 *

(

Basis Data Relasional

4
*

&

8 *

Basis Data Relasional

2 *

%

Basis Data Relasional

Basis Data Relasional

5( 8
8

6( #

$

Basis Data Relasional

'( -

$

Basis Data Relasional

Nama tabel SISWA
Primary key NOMHS
Foreign key KODE_WALI

Hubungan

Contoh Sederhana Basis Data Relasional

Basis Data Relasional

*

:

6

3

Basis Data Relasional

:
&
4

3
!

Basis Data Relasional

;

(

Basis Data Relasional

;1#2
; #
;2

Basis Data Relasional

-

&

(

Basis Data Relasional

Operator Basis Data Relasional
Derajat kesempurnaan relasi dapat diukur
seberapa luas dukungan aljabar relasionalnya.

dengan

Aljabar relasional mendefinisikan secara teoritis cara
memanipulasi isi tabel dengan menggunakan delapan
fungsi relasional: SELECT, PROJECT, JOIN, INTERSECT,
UNION, DIFFERENCE, PRODUCT dan DIVIDE.

Operator Basis Data Relasional
UNION menggabungkan semua baris dari dua buah tabel
dan kedua tabel tersebut harus sesuai.

NIP
090710100
090710103
090710109
090710112

UNION

NIP
090710120
090710123

Hasil

NIP
090710100
090710103
090710109
090710112
090710120
090710123

Operator Basis Data Relasional
INTERSECT menghasilkan sebuah daftar yang berisi
hanya record-record yang ter-dapat pada kedua tabel dan
kedua tabel tersebut harus sesuai.

Nama
Nico
Sandy
Surya
Heni

INTERSECT

Nama
Sandy
Rudi
Heni
Santi

Hasil

Nama
Sandy
Heni

Operator Basis Data Relasional
DIFFERENCE menghasilkan semua record yang terdapat
pada satu tabel tetapi tidak terdapat pada tabel lainnya
dan kedua tabel tersebut harus sesuai.

Nama
Nico
Sandy
Surya
Heni

DIFFERENCE

Nama
Sandy
Heni

Hasil

Nama
Nico
Surya

Operator Basis Data Relasional
PRODUCT menghasilkan sebuah daftar semua pasangan
record dua buah tabel.

Wali

PRODUCT

Mhs

SKS IPK

Winata

Susi

Adelia

Hasil

Wali

Mhs

SKS

IPK

18 2.03

Winata

Susi

18

2.03

Toni

20 3.42

Winata

Toni

20

3.42

Wandi

21 2.75

Winata Wandi

21

2.75

Adelia

Susi

18

2.03

Adelia

Toni

20

3.42

21

2.75

Adelia Wandi

Operator Basis Data Relasional
SELECT menghasilkan nilai untuk semua atribut yang
ditemukan dalam tabel.
Mhs

SKS

IPK

Mhs

SKS

IPK

Susi
Toni
Wandi

18
20
21

2.03
3.42
2.75

Susi
Toni
Wandi

18
20
21

2.03
3.42
2.75

Mhs

SKS

IPK

Toni
Wandi

20
21

3.42
2.75

SELECT ALL Hasilnya
SELECT SKS ≥ 20 Hasilnya

Operator Basis Data Relasional
PROJECT menghasilkan daftar semua nilai untuk atribut
yang dipilih.
Mhs

SKS

IPK

Mhs

Susi
Toni
W andi

18
20
21

2.03
3.42
2.75

Susi
Toni
W andi

PROJECT MHS Hasilnya

PROJECT MHS and IPK Hasilnya

Mhs

IPK

Susi
Toni
W andi

2.03
3.42
2.75

Operator Basis Data Relasional
JOIN memungkinkan kita untuk mengkom- binasikan
informasi dari dua tabel atau lebih. JOIN memiliki
kemampuan nyata untuk mendukung basis data
relasional, memungkinkan penggunaan tabel inde-penden
yang dihubungkan melalui atribut yang sama.

Operator Basis Data Relasional
♦ Natural JOIN menghubungkan tabel dengan memilih
hanya record dengan nilai yang digunakan bersama-sama
pada atribut yang sama. Operator ini akan menghasilkan
tiga tahapan proses:

• PRODUCT
• SELECT
• PROJECT

Operator Basis Data Relasional
Contoh dua tabel yang akan digunakan untuk ilustrasi
JOIN:
Nama Tabel : SISWA
Mhs SKS IPK Kode_Wali
Wandi 21 2.75
1
Toni
20 3.42
1
Rudi
18 2.45
2
Susi
18 2.03
2
Tatik
22 3.68
3

Nama Tabel : WALI
Kode_Wali
1
2
3

Wali
Suminto
Farid
Ganjar

Natural JOIN, Tahap 1: PRODUCT
Mhs SKS IPK
Wandi 21 2.75
Toni
20 3.42
Rudi
18 2.45
Susi
18 2.03
Tatik
22 3.68
Wandi 21 2.75
Toni
20 3.42
Rudi
18 2.45
Susi
18 2.03
Tatik
22 3.68
Wandi 21 2.75
Toni
20 3.42
Rudi
18 2.45
Susi
18 2.03
Tatik
22 3.68

Kode_Wali Kode_Wali
1
1
1
1
2
1
2
1
3
1
1
2
1
2
2
2
2
2
3
2
1
3
1
3
2
3
2
3
3
3

Wali
Suminto
Suminto
Suminto
Suminto
Suminto
Farid
Farid
Farid
Farid
Farid
Ganjar
Ganjar
Ganjar
Ganjar
Ganjar

Natural JOIN, Tahap 2: SELECT
Mhs
W andi
Toni
Rudi
Susi

SKS
21
20
18
18

IPK
2.75
3.42
2.45
2.03

Kode_W ali Kode_W ali
1
1
1
1
2
2
2
2

W ali
Suminto
Suminto
Farid
Farid

Natural JOIN, Tahap 3: PROJECT

Mhs
Wandi
Toni
Rudi
Susi

SKS
21
20
18
18

IPK
2.75
3.42
2.45
2.03

Kode_Wali
1
1
2
2

Wali
Suminto
Suminto
Farid
Farid

Gambar 2.14. Natural join, tahap 3: Project

Operator Basis Data Relasional
DIVIDE memerlukan dua buah tabel yang masing-masing
terdiri dari satu dan dua kolom. Perhatikan ilustrasi
berikut ini:
Tabel 1
Kode Lok
A
5
B
5
C
6
D
7
D
8
E
8
A
9
A
4
B
3

DEVIDE

Tabel 2
Kode
A
B

Hasil

Tabel 3
Lok
5

Kamus Data dan Katalog Sistem
Kamus data berisi metadata untuk menjelas kan secara detail
catatan semua tabel di dalam suatu basis data.
Katalog sistem adalah kamus data sistem yang sangat detail
yang menggambarkan semua objek di dalam suatu basis data.
♦ Basis

data yang dibentuk sistem dimana tabeltabelnya menyimpan isi dan sifat-sifat basis data.

♦ Tabel-tabelnya

dapat

diproses

seperti

tabel-tabel

lainnya.
♦ Secara otomatis menghasilkan dokumentasi basis

data

Tabel 2.4. Contoh Kamus Data

Nama
Tabel

Nama
Atribut

Siswa Nomhs
Nama
SKS
IPK
Kd_Wali
Wali

Kd_Wali
NIP
Nama
Jbt_Fng

Uraian

Tipe

Format

Nomor mhs
Nama mhs
Jumlah SKS
IP.Kumulatif
Kode wali

Char(9)
Varchar(18)
Byte
Number(4,2)
Number(2)

999999999
Xxxxxxxxx
99
9.99
99

Kode wali
No. Pegawai
Nama wali
Fungsional

Number(2)
Char(9)
Varchar(18)
Varchar(15)

99
999999999
Xxxxxxxxx
Xxxxxxxxx

Range PK/
Tabel
FK Referensi
PK
2-24
0.00-4.00
1-99

FK

1-99

PK

Wali

Relasi pada Basis Data Relasional
E-R Diagram (ERD)

♦ Bentuk persegi panjang mewakili entitas.
♦ Nama entitas berupa kata benda dan huruf besar.
♦ Bentuk berlian digunakan untuk mewakili relasi antar
entitas.
♦ Angka 1 digunakan untuk mewakili “1” (satu) data pada
relasi.
♦ Huruf M digunakan untuk mewakili “many” (banyak) data
dari relasi.

Relasi Antara Wali dan Mahasiswa
1

WALI

Membimbing

M

MAHASISWA

Cara Lain Untuk Menyatakan
Relasi Antara Wali dan Mahasiswa

1

WALI

M

Membimbing

MAHASISWA

Relasi 1: M : Basis Data Perwalian
Tabel : WALI
PK : KODE_WALI
FK : -

Hubungan
Tabel : SISWA
PK : NOMHS
FK : KODE_WALI

Gambar 2.19. Relasi 1: M untuk basis data perwalian

Relasi 1:M Antara Kursus dan Kelas

1

KURSUS

M

Memiliki

KELAS

Relasi M:N Antara Mahasiswa dan MKA

M

SISWA

N

Mengambil

MKA

Tabel 2.5. Contoh Data Pengambilan MKA

M

N

MAHASISWA

1

MAHASISWA

MKA

Mengambil

M

M

PESERTA

1

MKA

Relasi “Many to Many” Antara Mahasiswa dan MKA

Tabel MAHASISWA

Basis Data KRS

Tabel MKA

Konversi Relasi M:N Menjadi Dua Relasi 1:M
Tabel MAHASISWA
Primary key NOMHS

Tabel KULIAH
Primary key KODE_MKA+NOMHS
Foreign key KODE_MKA,NOMHS

Tabel MKA
Primary key KODE_MKA

Perubahan Relasi M:N Menjadi Dua Relasi 1:M

M

N

MAHASISWA

MKA

Mengambil

Revisi E-R Diagram : Dua set relasi 1:M

1

MAHASISWA

M

M

KULIAH

1

MKA

Skema Basis Data Relasional : KULIAH

Atas Perhatiaan dan
kerjasamanya, saya Ucapkan
TERIMA KASIH