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.
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.
NIP
95001
95002
95003
95004
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
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 :
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 :
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
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.
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