Anda di halaman 1dari 11

MAKALAH

PENGANTAR SISTEM BASIS DATA

DISUSUN OLEH
Muhammad
Bilman Sarwadi
Wahyu Budhi Utomo
Siti Nadira Kintari
Ferrina Aullia Eden
Kris Alianto

ALJABAR RELASIONAL
Aljabar relasional adalah sebuah bahasa query prosedural yang terdiri dari sekumpulan
operasi dimana masukannya adalah satu atau dua relasi dan keluarannya adalah sebuah relasi baru
sebagai hasil dari operasi tersebut. Operasi-operasi dalam aljabar relasional di
antaranya : selection, projection, union, set difference, cartesian product, intersection, dan join.
Aljabar relasional menerima sedikit perhatian luar pure mathematics sampai publikasi E.d
codd relational model data di 1970. Codd mengusulkan seperti sebuah aljabar sbg basis untuk
database query languages
Lima operator sederhana aljabar codd adalah selection,the projection,the Cartesian
product(juga disebut cross produk atau cross join) the set union dan the set difference .

a.

Selection
Operasi selection dapat didefiniskan sebagai Kumpulan semua tuple-tuple/record-record
dalam suatu tabel yang memenuhi kondisi P. Operasi selection berfungsi untuk menyeleksi tupletuple yang memenuhi predikat yang diberikan dari sebuah tabel relasi. Simbol sigma
digunakan untuk menunjukkan operasi select. Predikat muncul sebagai subscript dari dan
kondisi yang diinginkan yang ditulis dalam predikat. Argumen diberikan dalam tanda kurung yang
mengikuti dan berisi tabel relasi yang dimaksud.
Contoh penggunaan operasi selection :
Misalkan ada 3 tabel, yaitu tabel dosen, tabel matakuliah seperti berikut:
Tabel Dosen
NIP
Nama_dosen Jenis_kelamin Alamat
Kota
95001
Bambang
Pria
Jl. Mawar
Jakarta Selatan
95002
Asri
Wanita
Jl. Anggrek
Jakarta Selatan
95003
Hesti
Wanita
Jl. Bungur
Jakarta Timur
95004
Dimas
Pria
Jl. Kemuning Cikarang
Tabel Matakuliah
Kd_mk Nama_mk
MPK1 PKN
MKB3 BDT
MKB4 ASD

Sks
2
3
3

Tabel Mengajar
NIP
Kd_mk
95002 MKB3
95002 MKB4
95003 MPK1
95003 MPK1
95004 MKB4

Kelas
A
A
A
B
B

Tampilkan daftar dosen yang berjenis kelamin pria dari tabel Dosen.
Aljabar relasional : Jenis_kelamin=Pria(Dosen)
Hasil:
NIP
95001
95004

b.

Nama_dosen
Bambang
Dimas

Jenis_kelamin
Pria
Pria

Alamat
Jl. Mawar
Jl. Kemuning

Kota
Jakarta Selatan
Cikarang

Projection
Operasi projection berfungsi untuk memilih nilai atribut-atribut tertentu saja dari sebuah
tabel relasi. Simbol phi digunakan untuk menunjukkan operasi projection. Predikat muncul
sebagai subscript dari dan hanya nama atribut yang diinginkan yang ditulis dalam predikat.
Argumen diberikan dalam tanda kurung yang mengikuti dan berisi tabel relasi yang dimaksud.
Contoh penggunaan operasi projection :

1.

2.

c.

Tampilkan NIP dan Nama_dosen dari tabel Dosen


Aljabar relasional : NIP,Nama_dosen(Dosen)
Hasil:
NIP
Nama_dosen
95001
Bambang
95002
Asri
95003
Hesti
95004
Dimas
Tampilkan NIP, Nama_dosen, dan kota dari tabel Dosen dari dosen-dosen yang bertempat
tinggal di kota Jakarta Selatan.
Aljabar relasional : NIP,Nama_dosen,Kota(Kota=Jakarta Selatan(Dosen)
Hasil :
NIP
Nama_dosen Jenis_kelamin Kota
95001
Bambang
Pria
Jakarta Selatan
95002
Asri
Wanita
Jakarta Selatan

Union
Operasi union berfungsi untuk mendapatkan gabungan nilai atribut dari sebuah tabel relasi
dengan nilai atribut dari tabel relasi lainnya. Simbol digunakan untuk menunjukkan
operasi union. Operasi union bernilai benar bila terpenuhi 2 kondisi, yaitu : Derajat dari 2 tabel
relasi yang dioperasikan harus sama dan domain dari atribut yang dioperasikan juga harus sama.

Contoh penggunaan operasi union :


Tampilkan NIP( dari relasi Dosen)
Aljabar
Hasil:
Contoh penggunaan operasi union :
Misalkan terdapat 2 tabel relasi
dibawah :

NIP
95001
95002
95003
95004

Union dari NIP (dari tabel Mengajar)


Relasional: NIP (Dosen) NIP (Mengajar)

bernama ASLABSI dan ASLABTI seperti

ASLABSI
NPM

Nama

Kelas

10107591

Eko Putra

3KA07

10107971

Keque Irfan

3KA07

18108012

Riza Rulham

3KA07

NPM

Nama

Kelas

11107891

M. Ali Nurdin

3KA07

18108012

Riza Rulham

3KA07

11107611

Soli Kurniawan

3KA07

ASLABTI

Dari 2 tabel relasi diatas dilakukan operasi union sebagai berikut :


Nama(ASLABSI) Nama(ASLABTI)
Perintah diatas berarti menggabungkan hasil dari operasi project
terhadap tabel ASLABSI dengan hasil dari operasi project terhadap tabel
ASLABTI. Hasil dari operasi diatas adalah :

Eko Putra
Keque Irfan
M. Ali Nurdin
Riza Rulham
Soli Kurniawan

Perhatikan bahwa nama Riza Rulham hanya muncul sekali pada hasil operasi, ini karena relasi
adalah set sehingga nilai duplikat dihilangkan.

d.

Set Difference
Operasi set difference berfungsi untuk mendapatkan nilai yang ada dalam sebuah tabel
relasi, tapi tidak ada dalam tabel
relasi lainnya. Simbol - digunakan untuk
NIP
menunjukkan operasi set difference.
95001
Contoh penggunaan
operasi set difference :
Tampilkan NIP (dari tabel Dosen) Set-difference dari NIP (dari tabel Mengajar).
Aljabar relasional: NIP (Dosen) - NIP (Mengajar)
Hasil :

Contoh penggunaan operasi set difference :


Nama(ASLABSI)
Eko Putra
Perintah diatas berarti
Keque Irfan
terdapat di tabel ASLABSI,
Hasil dari operasi diatas adalah :

e.

Nama(ASLABTI)
mendapatkan nilai atribut Nama yang
tapi tidak terdapat di tabel ASLABTI.

Cartesian Product
Operasi cartesian product berfungsi untuk
Kd_mk Nama_mk Sks Kelas
mengkombinasikan informasi yang ada dalam 2 tabel
MPK1 PKN
2
A
relasi dan menghasilkan sebuah tabel relasi yang baru.
MKB3 BDT
3
A
Simbol x digunakan untuk menunjukkan
MKB4 ASD
3
A
operasi cartesian product.
Contoh penggunaan operasi cartesian product :
Tampilkan Kode_mk, Nama_mk, Sks (dari tabel Matakuliah), Kelas (dari tabel Mengajar) dimana
kelas yang diajar adalah kelas A.
Aljabar relasional: Kode_mk,Nama_mk,Sks,Kelas (Kelas=A Mengajar.Kode_mk=Matakuliah.Kode_mk(Mengajar x
Matakuliah))
atau
Mengajar.Kode_mk=Matakuliah.Kode_mk Kelas=A ((Kode_mk,Nama_mk,Sks (Matakuliah)) x Kelas(Mengajar))
Hasil:
Contoh penggunaan operasi cartesian product :
ASLABTI x MKUL tabel relasi baru
Perintah diatas berarti mengkombinasikan seluruh tupel yang ada pada tabel ASLABTI dengan
tabel MKUL. Hasil dari operasi diatas adalah :

f.

11107891

M. Ali Nurdin

3KA07

KK021

P. Basis Data

11107891

M. Ali Nurdin

3KA07

KD132

SIM

11107891

M. Ali Nurdin

3KA07

KU122

Pancasila

18108012

Riza Rulham

3KA07

KK021

P. Basis Data

18108012

Riza Rulham

3KA07

KD132

SIM

18108012

Riza Rulham

3KA07

KU122

Pancasila

11107611

Soli Kurniawan

3KA07

KK021

P. Basis Data

11107611

Soli Kurniawan

3KA07

KD132

SIM

11107611

Soli Kurniawan

3KA07

KU122

Pancasila

Intersection
Set intersection / Intersection () termasuk ke dalam operator tambahan,
karena operator ini dapat diderivikasi dari operator dasar seperti berikut:
A B = A - ( A B ), atau A B = B - ( B A )
Operasi set intersection berfungsi untuk mendapatkan nilai yang ada dalam
sebuah tabel relasi dan juga ada dalam tabel relasi lainnya. Simbol digunakan
untuk menunjukkan operasi set intersection.
Contoh penggunaan operasi set intersection :
Tampilkan NIP (dari tabel Dosen) Set Intersection dengan NIP (dari tabel Mengajar).
Aljabar relasional: NIP (Dosen) NIP (Mengajar)

NIP
95002
95003
95004

Hasil:

g.

Natural Join
Operasi natural join berfungsi
Kd_mk
Nama_mk
Sks
NIP
untuk menggabungkan
operasi selection dancartesian product
MKB3
BDT
3
95002
menjadi hanya 1 operasi saja. Simbol
MKB4
ASD
3
95002
digunakan untuk menunjukkan
MPK1
PKN
2
95003
operasi natural join.
MPK1
PKN
2
95003
Operasi natural join hanya
MKB4
ASD
3
95004
menghasilkan tupel yang mempunyai
nilai yang sama pada 2 atribut yang bernama sama pada 2 tabel relasi yang berbeda.
Contoh penggunaan operasi natural join :
Tampilkan seluruh data yang ada pada tabel Matakuliah dan tabel Mengajar.
Aljabar relasional : Matakuliah Mengajar.Kode_mk=Matakuliah.Kode_mk Mengajar

Kelas
A
A
A
B
B

h.

Division

Operasi division berfungsi untuk query yang memasukkan frase untuk semua/seluruh. Simbol
digunakan untuk menunjukkan operasi division.
Contoh penggunaan operasi division :
Misalkan terdapat 3 tabel relasi bernama ACCOUNT, BRANCH, dan DEPOSITOR seperti
dibawah :

Dari 3 tabel relasi diatas dilakukan operasi division sebagai berikut :


customer-name,branch-name(DEPOSITOR ACCOUNT) branch-name(branch-city=Brooklyn(BRANCH))
Dengan asumsi operasi project awal adalah relasi r1 dan akhir adalah r2,
perintah diatas berarti mendapatkan nama pelanggan yang muncul pada
hasil relasi r2 untuk semua nama cabang hasil relasi r1.
Hasil dari operasi diatas adalah :

Johnson

i. Theta Join
Operasi theta join berfungsi untuk mengkombinasikan tupel dari 2 tabel relasi dimana
kondisi dari kombinasi tersebut tidak hanya nilai dari 2 atribut bernama sama, tetapi kondisi yang
diinginkan juga bisa menggunakan operator relasional (, <, =, >, ).
Operasi theta join merupakan ekstensi dari natural join.
Contoh penggunaan operasi theta join:
Tampilkan seluruh data yang ada pada tabel Matakuliah dan tabel Mengajar.
Aljabar relasional : Matakuliah Mengajar.Kode_mk=Matakuliah.Kode_mk Mengajar
Hasil:
Kd_mk
MKB3

Nama_mk
BDT

Sks NIP
3
9500
2

Kd_mk
MKB3

Kelas
A

MKB4

ASD

MKB4

MPK1

PKN

MPK1

MPK1

PKN

MPK1

MKB4

ASD

MKB4

9500
2
9500
3
9500
3
9500
4

1. Tampilkan daftar initial dari karyawan yang memiliki rating bernama


Certified Flight Instructor?

2. Tampilkan lastname dari pilot yang memiliki license ATP dan Kode Rating CFII?

3. Tampilkan nomor telepon dari customer yang sudah pernah menyewa pesawat yang
memiliki model dengan nama King Air.

4. Tampilkan firstname, lastname, dan nomor telepon dari customer yang belum pernah
menyewa pesawat dari maskapai Avia Corp ini.

5. Tampilkan firstname dan lastname dari pilot yang sudah pernah menerbangkan semua
model pesawat.

6. Tampilkan lastname dan firstname pilot yang jam terbangnya sudah lebih dari 100 jam

7. Dapatkan lastname dan firstname dari karyawan yang juga merupakan customer/sudah
pernah menyewa pesawat.

8. Tampilkan lastname dari customer yang sudah pernah menyewa pesawat ke


semua tujuan yang pernah disinggahi pesawat milik Avia Corp.

9. Berapakah total jarak tempuh yang telah ditempuh setiap pilot?

10. Berapakah jumlah penumpang yang telah diangkut oleh setiap pesawat (asumsi
semua kursi pesawat terisi untuk setiap penerbangan)?

DAFTAR PUSTAKA

https://rizarulham.wordpress.com/2009/10/16/aljabar-relasional-bahasa-pada-model-datarelasional/
Database System Concepts Silberschatz-Korth-Sudarshan, McGraw Hill, Fourth Edition,
2002
http://alvadiecha.blogspot.co.id/2012/11/aljabar-relasional.html

Anda mungkin juga menyukai