Anda di halaman 1dari 22

BASIS DATA I/2009-GENAP

ALJABAR RELASIONAL

Oleh
Satrio Agung Wicaksono, S.Kom., M.Kom

06 November 2017 BASIS DATA I/2009-GENAP 1


Aljabar Relational

Yaitu sekumpulan operasi yang digunakan


untuk melakukan proses manipulasi data dalam
rangka untuk mendapatkan informasi yang
diperlukan dari database

06 November 2017 BASIS DATA I/2009-GENAP 2


Aljabar Relational, Contd
Secara umum dibagi menjadi 2:
operasi himpunan (UNION, INTERSECTION,
DIFFERENCE, dan CARTESIAN PRODUCT)
operasi yang dikembangkan secara khusus
untuk database relational. (SELECT,
PROJECT dan JOIN)

Istilah Relasi, dalam bahasan ini dipergunakan untuk


penamaan tabel beserta datanya baik yang murni
maupun yang sudah dilakukan modifikasi dengan
operasi-operasi aljabar relasional.

06 November 2017 BASIS DATA I/2009-GENAP 3


Contoh Database

06 November 2017 BASIS DATA I/2009-GENAP 4


Operasi SELECT

Untuk memilih baris tertentu dari


sebuah himpunan baris data
(record) yang memenuhi kondisi
dan membuang baris yang lain.
Notasi :
<kondisi pilihan> (<nama relasi>)

06 November 2017 BASIS DATA I/2009-GENAP 5


Operasi SELECT, Contd

CONTOH :
dep_nomor=4(PEGAWAI)
untuk memilih sub himpunan pegawai
yang bekerja departemen nomor 4
gaji>30000 AND dep_nomor=3 (PEGAWAI)
untuk memilih sub himpunan pegawai
yang memiliki gaji lebih dari 30000 yang
bekerja di departemen 3

06 November 2017 BASIS DATA I/2009-GENAP 6


Operasi PROJECT

Untuk memilih attribut (kolom)


tertentu dari himpunan /
subhimpunan dan membuang yang
lain
Notasi :
<daftar attribut> (<nama relasi>)

06 November 2017 BASIS DATA I/2009-GENAP 7


Operasi PROJECT,Contd

Jika <daftar attribut> tidak menyertakan primary


key, maka dimungkinkan akan terjadi duplikasi.
Duplikasi ini akan dihilangkan sehingga hanya
sekali yang muncul.
Contoh :
Untuk memilih atribut JenisKel dan Gaji dari tabel
Pegawai:
JenisKel, Gaji (Pegawai)

06 November 2017 BASIS DATA I/2009-GENAP 8


Urutan Operasi

Sebuah operasi bisa dituliskan dalam bentuk


beberapa ekspresi aljabar relasional dengan
mengelompokkan untuk tiap-tiap operasi dan
memberi nama
Contoh :
nmDepan, nmBlk, gaji (dep_nomor=5(PEGAWAI))
Mengambil informasi nama depan, nama
belakang dan gaji dari pegawai-pegawai yang
bekerja di departemen nomor 5
06 November 2017 BASIS DATA I/2009-GENAP 9
Urutan Operasi, Contd

bisa ditulis dalam bentuk:


PEG_DEP5 dep_nomor=5 (PEGAWAI)

(tabel pegawai dipilah dulu hanya dengan


mengambil yg memenuhi dep_nomor=5 dan
disimpan dalam relasi dengan nama PEG_DEP5)
HASIL nmDepan, nmBlk, gaji (PEG_DEP5)
(kemudian setelah itu, relasi PEG_DEP5 dipilah
hanya diambil kolom-kolom nmDepan, nmBlk dan
gaji)
06 November 2017 BASIS DATA I/2009-GENAP 10
Perubahan Nama Atribut

Untuk mengubah nama attribut dari sebuah


relasi yang merupakan hasil dari operasi aljabar
relasional, ditulis nama atribut baru dalam huruf
besar
Contoh :
TEMP dep_nomor=5 (PEGAWAI)

RBARU (NAMADEPAN, NAMABELAKANG, GAJI)


nmdepan, nmblk, gaji (TEMP)

06 November 2017 BASIS DATA I/2009-GENAP 11


Operasi Himpunan
UNION: notasi R S
Relasi yang menggabungkan semua baris di R atau S
dengan meniadakan duplikasi
INTERSECTION: notasi R S
Relasi yang terdiri dari baris yang ada di R dan juga ada
di S
DIFFERENCE: notasi R S
Relasi yang terdiri dari semua baris di R, tetapi tidak ada
di S
Relasi yang dioperasikan dengan operasi-operasi di atas harus
memiliki jumlah attribut dan jenis yang sama (union
compatible)

06 November 2017 BASIS DATA I/2009-GENAP 12


Operasi Himpunan, Contd
CARTESIAN PRODUCT R X S
Relasi yang terdiri dari kombinasi baris yang terdapat di
R dan S. Yang mana setiap baris di R digabungkan
dengan setiap baris di S

Contoh :
Mengambil nama-nama pegawai wanita beserta nama-
nama tanggungan masing-masing:

06 November 2017 BASIS DATA I/2009-GENAP 13


Operasi Himpunan, Contd
Jawab :

06 November 2017 BASIS DATA I/2009-GENAP 14


Operasi Join

Digunakan untuk mengkombinasikan baris-baris


yang berhubungan dari dua relasi menjadi baris-
baris tunggal.
Notasi:
R |x|<kondisi join> S
Kondisi join dalam bentuk:
<kondisi> AND <kondisi> AND AND
<kondisi>
Operator pembandingan: {=, <, , >, , }

06 November 2017 BASIS DATA I/2009-GENAP 15


Operasi Join, Contd

Contoh
Mendapatkan nama departemen beserta nama
pimpinan masing-masing
DEPT (dep_nomor, dep_nama, dep_nama,
dep_noKTP, dep_TglMulai, dep_JmlPegawai)
DEPARTEMEN

PIM_DEP DEPT |x|dep_noKTP=noKTP PEGAWAI

HASIL dep_nama, nmDepan, nmBlk (PIM_DEP)

06 November 2017 BASIS DATA I/2009-GENAP 16


Operasi Join, Contd

Operasi join dengan kondisi join


secara umum disebut dengan Theta
Join.
Kondisi join yang operator
pembandingannya berupa =, disebut
dengan Equijoin

06 November 2017 BASIS DATA I/2009-GENAP 17


Natural Join
Yakni operasi equijoin yang mana yang mana pasangan
attribut-attribut yang dijoinkan memiliki nama yang
sama. Jika tidak sama, perlu dilakukan pengubahan
nama attribut (rename) terlebih dahulu
Notasi:
R * (<list 1>),(<list 2>) S

List 1 adalah attribut-attribut R dan list 2 adalah attribut-


attribut S. List 1 dan list 2 membentuk pembandingan
equality dari pasangan attribut yang memiliki nama yang
sama, yang mana semua pembandingan tersebut di
AND kan
06 November 2017 BASIS DATA I/2009-GENAP 18
Natural Join, Contd
Contoh

DEPT (dep_nomor, dep_nama,


dep_jmlPegawai, dep_noKTP) DEPARTEMEN

PROY_DEPT PROYEK * DEPT

06 November 2017 BASIS DATA I/2009-GENAP 19


Fungsi Aggregate( )

SUM : menjumlah nilai dari suatu atribut


AVERAGE : mencari rata-rata nilai dari suatu
atribut
MAXIMUM : mencari nilai paling besar dari suatu
atrbiut
MINIMUM : mencari nilai paling besar dari suatu
atribut
COUNT : menghitung jumlah record

06 November 2017 BASIS DATA I/2009-GENAP 20


Fungsi Aggregate( ), Contd

Dapatkan setiap nomer department, jumlah


pegawai dalam department dan gaji rata-rata
mereka.
R(DNO,jumlah_peg, gaji_rata2) <=
DNO, COUNT SSN, AVERAGE SALARY (EMPLOYEE)

06 November 2017 BASIS DATA I/2009-GENAP 21


PENUTUP

Terima kasih

06 November 2017 BASIS DATA I/2009-GENAP 22

Anda mungkin juga menyukai