Modul Basis Data I 5 Aljabar Relasional

BASIS DATA
Aljabar Relasional
Teknik Informatika, Fakultas Teknik,
Universitas Brawijaya, Email : dl@ub.ac.id




MODUL

Pendahuluan

5

Pemrosesan terhadap query di dalam suatu system basis data dilakukan dengan

menggunakan query language. Bahasa formal untuk query basis data relasional
adalah bahasa yang digunakan untuk meminta informasi yang diinginkan dari
basis data. Sebelum adanya basis data relasional, query terhadap basis data

sangat sulit untuk dilakukan karena pemrogram harus berurusan dengan skema

fisik internal basis data. Bahasa query ini terbagi menjadi 2, yaitu:


Bahasa Komersial

Bahasa Komersial adalah bahasa query yang dirancang menjadi program


aplikasi agar pengguna mudah dalam memakainya.
Bahasa Formal

Bahasa Formal adalah bahasa query yang diterjemahkan dengan


SQL (Sructured Query Language) adalah salah satu contoh bahasa query
komersial. SQL ini sangat berbeda dengan bahasa pemrograman konvensional.

Di SQL, properti-properti informasi yang diinginkan dapat dispesifikasikan
tanpa melibatkan rincian algoritmanya. SQL tergolong bahasa deklaratif yang


artinya dalam pengopersiannya query yang inginkan dideklarasikan bukan cara
komputasi untuk memperoleh suatu hasil.

Tujuan



Mahasiswa mampu memahami konsep aljabar relasional

Mahasiswa mampu memahami operasi-operasi dasar dan operasi tambahan
aljabar relasional






ALJABAR RELASIONAL

menggunakan simbol-simbol matematis.


Basis Data / Aljabar Relational

Brawijaya University

2011



Bahasa Formal adalah bahasa query yang diterjemahkan dengan menggunakan simbol-simbol matematis.
Bahasa formal ini terbagi dalam dua kelompok besar, yaitu prosedural dan non prosedural. Bahasa query

prosedural adalah bahasa yang mengharuskan penggunanya menspesifikasikan data apa yang dibutuhkan dan
bagaimana untuk mendapatkannya. Bahasa query non prosedural adalah bahasa yang mengharuskan
penggunanya menspesifikasikan data apa yang dibutuhkan tanpa menspesifikasikan bagaimana utntuk
mendapatkannya.


Pada suatu aplikasi database query yang digunakan sangat kompleks, sehingga diperlukan pengetahuan yang
mendalam mengenai bahasa dan semantiknya. Bahasa formal ini digunakan untuk memperoleh query paling

efisien. Terdapat dua jenis bahasa formal, yaitu:
1. Aljabar relasional.



2. Kalkulus relasional.

Operasi dasar pada relational model adalah Relational Algebra atau aljabar relasional. Aljabar relasional

merupakan kumpulan operasi terhadap relasi dan setiap operasi menggunakan satu atau lebih relasi untuk
menghasilkan satu relasi yang baru. Aljabar relasional ini berfungsi untuk:






Aljabar relasional memberikan fondasi formal untuk operasi model rasional.

Aljabar relasional digunakan sebagai basis untuk implementasi dan optimasi query pada RDMSs

(Relational Database Management Systems).

Aljabar relasional digunakan bersama dengan SQL untuk RDMSs.

Aljabar relasional merupakan kunci pemahaman kerja internal RDBMs yang digunakan untuk mengolah query

SQL secara lebih efisien. Pemrogram menggunakan query SQL, sedangkan DBMS menggunakan aljabar

relasional sebagai bahasa perantara unutk menspesifikasikan algoritma query. Langkah-langkah dalam DBMS
untuk pengolahan query adalah:

1. DBMS melakukan parsing terhadap string dari query SQL dan menerjemahkannya menjadi ekspresi
aljabar relasional.

2. Ekspresi aljabar relasional ini akan dikonversi oleh query optimizer menjadi ekspresi lain yang ekivalen
nemun lebih efisien untuk dieksekusi.

3. Berdasarkan ekpresi aljabar relasional yang telah dioptimasi ini, query execution plan disiapkan oleh
query optimizer yang kemudian akan ditransformasikan menjadi kode yang dapat dieksekusi


pembangkit kode di DBMS. Karena ekspresi aljabar mempunyai semantik matematika yang presisi
maka system dapat memverifikasi ekivalensi ekspresi yang dioptimasi.


Page 2 of 11

Basis Data / Aljabar Relational

Brawijaya University



2011



Aljabar relasional tergolong kategori procedural yang menyediakan seperangkat operator untuk memanipulasi
data. Terdapat tiga kelompok operasi dasar dalam aljabar relasional, yaitu:





Unary relational operations
 Selection
 Projection
Set theory operations










Union
Intersection
Minus
Cartesian product


Binary relational operations
 Natural join
 Theta join
 Division

Semua operasi tersebut menghasilkan relasi baru. Bahasa formal ini disebut sebagai aljabar relasional karena

bahasa ini berdasar pada sejumlah operator yang beroperasi pada relasi-relasi (table-tabel). Masing-masing

operator beroperasi pada satu relasi atau lebih atau menghasilkan relasi-relasi lain sebagai hasil. Query adalah

ekspresi yang melibatkan operator-operator itu. Hasil ekspresi adalah relasi yang merupakan jawaban
terhadap query.


Unary Relational Operational

Selection (δ)


Operasi ini bertujuan untuk memilih tuple-tuple yang sesuai dengan kondisi atau predikat P tertentu yang

diinginkan pada suatu relasi R. Kondisi atau predikat P pada operasi selection ini adalah ekspresi logika yang
terdiri dari :






Operand



: konstanta/atribut/relasi

Operator logika




: and(Λ), or (V) dan not(~)

Operator aritmatika

: , ≥, ≠, ≤







Page 3 of 11

Basis Data / Aljabar Relational

Brawijaya University




2011



Contoh sintaks pada operasi selection ini adalah:
Bila diketahui R1 :

A

B

C

d

e

f

a



e

b

b

Maka σB=’b’(R1) =

A

B

C

e

b

f

a

c

f

b

c

Contoh Query:

Skema relasi MAHASISWA (nim, nama, tgl_lhr, alamat, email, telpon)

Dicari informasi mengenai mahasiswa yang mempunyai nim = ‘0641345’

δ nim=’0641345’ (MAHASISWA)
Projection (π)

Operasi ini bertujuan untuk memilih atribut-atribut yang sesuai dengan kondisi atau predikat P tertentu yang
diinginkan pada suatu relasi R. Contoh sintaks pada operasi projection ini adalah:
Bila diketahui R1 :

A

B

C

d

e

f

a






g

b

h



Maka ΠA,C (R1) =

c

A

C

d

f

a

i



Page 4 of 11

g

c

i

Basis Data / Aljabar Relational


Brawijaya University





2011

Contoh Query :

Skema relasi MAHASISWA (nim, nama, tgl_lhr, alamat, kota, email, telpon)
Dicari informasi mengenai nama dan kota mahasiswa

Π nama,kota (MAHASISWA)


Set Teori Operational
Union (∪)
Operasi union ini bertujuan untuk membentuk suatu relasi yang terdiri dari tupel – tupel yang berada pada
salah satu relasi atau pada kedua relasi, dengan syarat :




Memiliki aritas yang sama

Memiliki domain atribut yang sama

Contoh sintaks pada operasi union ini adalah:



Bila diketahui R1 dan R2:

A

B

d

e

a

R1

C

b




c



f

R2


A

B

C



a

b

c



c

f

Maka R1 ∪ R2 =

a

A

B

C

d

e

f

a

c

Contoh Query:

Skema relasi MAHASISWA (nim, nama, tgl_lahir, alamat, email, telpon)
Skema relasi MATAKULIAH (kode_mk, nama_mk, sks)

Gabungan data dari relasi MAHASISWA dengan data dari relasi MATAKULIAH


Page 5 of 11

b

f

c

a

Basis Data / Aljabar Relational

Brawijaya University

MAHASISWA ∪ MATAKULIAH

2011

Intersection (∩)
Operasi union ini bertujuan untuk membentuk suatu relasi yang terdiri atas tupel –tupel yang sama dari dua
relasi, dengan syarat :





Memiliki aritas yang sama

Memiliki domain atribut yang sama

Contoh sintaks pada operasi intersection ini adalah:
Bila diketahui R1 dan R2:

A

R1

a



d

R2

B

C

e

f

b

c



A

B

C



a

b

c



c

f

Maka R1  R2


a



A
a

B
b

C
c





Contoh Query :

Skema relasi MATAKULIAH ( kode_mk, nama_mk, sks )
Skema relasi NILAI( nim, kode_mk, n_uts, n_uas )

Dicari kode matakuliah yang mempunyai sks = 2 yang ambil oleh mahasiswa dengan NIM “0641345”



Π kode_mk ( δ sks = 2 (MTKULIAH) ) ∩ Π kode_mk ( δ nim = ‘0641345’ (NILAI) )

Cartesian Product (x)
Operasi cartesian product ini bertujuan untuk membentuk suatu relasi dari dua relasi yang terdiri dari

kombinasi tupel-tupel yang mungkin Jika aritas R1 adalah k1 dan aritas R2 adalah k2 maka R1xR2 adalah

kumpulan kombinasi semua tuple-tuple dengan aritas (k1+k2) dimana komponen k1 pertama ádalah tupletuple dari R1 dan komponen berikutnya dari R2.



Page

6 of 11

Basis Data / Aljabar Relational

Bila diketahui R1 dan R2:

A

R1

1
3
4



B
d
c



b



C
f

g

a

R2








Brawijaya University
Maka R1 x R2

E
n

m


A

F

15

25


B

1

d

4

3





E

F

f

n

15

b

a

n

15

c

g

m

25

c

1

d

4

b

3

C

g

2011

n

f

m

a

m

15

25

25

Contoh Query :

Skema relasi MAHASISWA (nim, nama, tgl_lahir, alamat, email, telpon)
Skema relasi MATAKULIAH (kode_mk, nama_mk, sks)
MAHASISWA X MATAKULIAH


Set Difference (-)
Operasi set difference ini bertujuan untuk membentuk suatu relasi yang terdiri dari tupel-tupel yang berada
pada relasi pertama dan tidak berada pada relasi kedua atau kedua-duanya.


Contoh sintaks pada operasi set diference ini adalah:






Page

7 of 11

Basis Data / Aljabar Relational

Brawijaya University




Bila diketahui R1 dan R2:
A
a

d
c

R1

B

R2

b
e

b





Maka R1 - R2 =

C



A

B

C

f



a

b

c

c

g





c

a

2011

f

d



a

e

A

B

C

c

b

g

d



e

f



Contoh Query :

Skema relasi MATAKULIAH (kode_mk, nama_mk, sks)
Skema relasi NILAI (nim, kode_mk, n_uts, n_uas)

Dicari kode mata kuliah yang bersks 3 dan nilai uts untuk kode mata kuliah tersebut dibawah 50
Π kode_mk (δ sks = 3 (MATAKULIAH)) - Π kode_mk (δ n_uts > 50(NILAI))



Binary Relational Operational
Natural Join (  )
Operasi natural join ini bertujuan untuk membentuk suatu relasi dari dua relasi yang terdiri dari kombinasi
yang mungkin dari relasi – relasi dengan syarat bahwa operasi ini dilakukan jika kedua relasi memiliki satu
atau lebih atribut yang sama.


Contoh Query:

Skema relasi MAHASISWA (nim, nama, tgl_lahir, alamat, email, telpon)
Skema relasi NILAI ( nim, kode_mk, n_uts, n_uas )


Page

8 of 11

Basis Data / Aljabar Relational

Brawijaya University



2011



Dicari nama mahasiswa yang mengambil matakuliah dengan kode matakuliah “TIF123”

Π nama ( δ kode_mk = ‘TIF123’ (MAHASISWA X NILAI) )



Maka R1  R2 =

Bila diketahui R1 dan R2:

A

B

C

d

b

d

b

a

c



R1 R2

b



B

C

D

A

B

C

D

c



b

c

z

a

b

c

z

h





c

e







f



b

b

c

d


d

a

x

b

d



c

b

d

c

b

c

d

d
z

Theta Join ( )
Operasi theta join ini bertujuan untuk membentuk suatu relasi dari dua relasi yang terdiri dari kombinasi yang
mungkin dari relasi – relasi dengan kondisi tertentu. Contoh sintaks pada operasi theta join ini adalah:


Bila diketahui R1 dan R2:

A

B

4

7

1

8


3

2

R1

C
a

b
c











R2



D

E

5

2

3



Maka R1  R2, dengan A k2 dan k2 ≠ 0.
Contoh sintaks pada operasi division adalah:
Bila diketahui R1 dan R2:
R1
A

B

z

y

x

f







d





y



m



s





R2 R1/R2
B



A



z

y







s





x

d


Page

10 of 11

Basis Data / Aljabar Relational

Brawijaya University



DAFTAR PUSTAKA
 Rames Elmasri. Fundamentals of Database System. Department of Computer
Science and Engineering. University of Texas at Arlington. Pearson –







Addison Weasley 2003.

Raghu Ramakrishnan. Database Management System. University of

Wincousin. Madison, Winscousin USA. McGraw-Hill Higher Education 2003

Page 11 of 11

2011