Skip to content Skip to sidebar Skip to footer

Materi tentang Aljabar Relasional (Database)

Assalamu‘alaikum wr. wb.

Hello gais! Jika sebelumnya sudah membahas tentang ERD dan EER mengenai Basis Data atau Database, sekarang giliran kita masuk ke pembahasan tentang Aljabar Relasional atau disebut juga dengan Relational Algebra. Aljabar Relasional merupakan gabungan dari Logika dan Himpunan dalam Matematika, tetapi lebih ke Ilmu Komputer (Computer Science). Jika kita sudah memahami Aljabar Relasional, tentunya kita bisa mengetahui tentang Query yang ada di dalam Database seperti SQL.




A. Rumus Aljabar Relasional

Sistem Database Relasional diharapkan dilengkapi dengan bahasa query yang dapat membantu penggunanya untuk melakukan query terhadap instance database. Ada dua jenis Bahasa Query aljabar relasional dan kalkulus relasional.

1. Aljabar Relasional

Aljabar Relasional adalah bahasa query prosedural, yang mengambil contoh hubungan sebagai input dan menghasilkan contoh hubungan sebagai output. Ini menggunakan operator untuk melakukan Kueri. Operator dapat berupa unary atau biner. Mereka menerima hubungan sebagai input mereka dan menghasilkan hubungan sebagai output mereka. Aljabar relasional dilakukan secara Rekursif pada suatu relasi dan hasil antara juga dianggap sebagai relasi.

Operasi Dasar Aljabar Relasional adalah sebagai berikut :
  • Selection (Ļƒ)
  • Projection (Ļ€)
  • Union (∪)
  • Set-difference (-)
  • Cartesian-product (X, disebut juga cross product)
  • Rename (Ļ)
Operasi Tambahan Aljabar Relasional adalah sebagai berikut :
  • Set Intersection (∩)
  • Natural join (∞)
  • Theta join (Īø)
  • Division (÷)
Kita akan membahas semua operasi ini di bagian berikut.

2. Select Operation (Ļƒ)

Ini memilih Tupel/Baris yang memenuhi predikat yang diberikan dari suatu relasi.

Notasi : Ļƒp(r)

Dimana singkatan dari seleksi predikat dan r singkatan dari relasi. p adalah rumus logika preposisi yang dapat menggunakan penghubung seperti dan, atau, dan bukan. Istilah-istilah ini dapat menggunakan operator relasional seperti =, ≠, ≥, < ,  >,  ≤.

Contohnya :

Ļƒsubjek = "database" (Buku)

Output Memilih Tupel dari buku di mana subjeknya adalah 'database'.

Ļƒsubjek = "database" ∧ harga = 450 (Buku)

Output Memilih Tupel dari buku dengan subjek 'database' dan 'price' adalah 450.

Ļƒsubjek = "database" ∧ harga = 450 ∧ tahun > 2010 (Buku)

Output Memilih Tupel dari buku-buku dengan subjek 'database' dan 'price' 450 atau buku-buku yang diterbitkan setelah 2010.

3. Project Operation (∏)

Ini memproyeksikan Kolom yang memenuhi predikat yang diberikan.

Ini memproyeksikan kolom yang memenuhi predikat yang diberikan.

Notasi A1, A2, An (r) Dimana A1, A2 , An adalah nama atribut dari relasi r.

Baris duplikat secara otomatis dihilangkan, karena relasi adalah himpunan.

Contohnya :

subjek, penulis (Buku)

Memilih dan memproyeksikan kolom yang dinamai sebagai subjek dan penulis dari relasi Buku.

4. Union Operation (∪)

Operasi Union adalah operasi untuk menghasilkan Gabungan Tabel maka dibutuhkan Sepasang atau Dua Tabel, dengan syarat kedua tabel terdapat atribut yang sama. Operasi ini memungkinkan untuk menggabungkan data dari dua baris yang sejenis dan sama halnya operasi union pada Aritmatika. Dia melakukan penyatuan biner antara dua hubungan yang diberikan dan didefinisikan sebagai :

r ∪ s = { t | t ∈ r  ∨  t ∈ s}

Notasi : r U s

Di mana r dan s adalah relasi database atau himpunan hasil relasi (relasi sementara).

Agar operasi serikat menjadi valid, kondisi berikut harus memenuhi :
  • r, dan s harus memiliki jumlah atribut yang sama.
  • Domain atribut harus kompatibel.
  • Tuple duplikat secara otomatis dihilangkan.

Contoh :

penulis (Buku)  penulis

Output : Memproyeksikan nama-nama penulis yang telah menulis buku atau artikel atau keduanya.

4. Intersection Operation (∩)

Operasi Intersection adalah operasi untuk menghasilkan Irisan Tabel maka dibutuhkan Sepasang atau Dua Tabel, dengan syarat kedua tabel terdapat atribut yang sama. Operasi ini memungkinkan untuk menyaring data dari dua baris yang sejenis dan sama halnya operasi union pada Aritmatika. Dia melakukan penyatuan biner antara dua hubungan yang diberikan dan didefinisikan sebagai :

r ∩ s = {t | t ∈ r  ∧  t ∈ s}

Notasi : r ∩ s

Di mana r dan s adalah relasi database atau himpunan hasil relasi (relasi sementara).

Agar operasi serikat menjadi valid, kondisi berikut harus memenuhi :
  • r, dan s harus memiliki jumlah atribut yang sama.
  • Domain atribut harus kompatibel.
  • Tuple duplikat secara otomatis dihilangkan.

Contoh :

penulis (Buku)  penulis

Output : Memproyeksikan nama-nama penulis yang telah menulis buku dan artikel atau keduanya.

5. Set Difference (−)

Hasil dari operasi beda Himpunan adalah Tupel, yang ada pada satu relasi tetapi tidak ada pada relasi kedua.

Notasi : r - s

Menemukan semua Tupel yang ada di r tetapi tidak di s.

penulis (Buku) - penulis

Output : Memberikan nama penulis yang telah menulis buku tetapi bukan artikel.

5. Cartesian Product (Ī§)

Menggabungkan informasi dari dua relasi yang berbeda menjadi satu.

Notasi : r s

Dimana r dan s adalah relasi dan outputnya akan didefinisikan sebagai

r × s = {q t | q ∈ r ∧ t ∈ s}

Contoh :

Ļƒpenulis = "Inzaghi" (Buku × Artikel)

Output : Menghasilkan relasi, yang menampilkan semua Buku dan Artikel yang ditulis oleh Inzaghi.

6. Rename Operation (Ļ)

Hasil dari aljabar relasional juga merupakan relasi tetapi tanpa nama. Operasi rename memungkinkan kita untuk mengganti nama relasi output. Operasi 'ganti nama' dilambangkan dengan huruf Yunani kecil Ļ (Rho).

Notasi : Ļ x (E)

Dimana hasil ekspresi E disimpan dengan nama x.

Operasi tambahan adalah :
  • Set intersection
  • Assignment
  • Natural Join

B. Contoh Soal Aljabar Relasional

1. Diberikan 2 Tabel yang bernama Mahasiswa-UKM dan Mahasiswa-Jurusan yang ada di bawah ini :

Tabel Mahasiswa-UKM :

Nama
UKM
Januar
Paduan Suara
Budi
Paduan Suara
Budi
Badminton
Wahyu
Badminton
Wahyu
Pecinta Alam

Tabel Mahasiswa-Jurusan :

Nama
Jurusan
Januar
Fisika
Budi
TIK
Wahyu
Kimia
Erni
Kimia

Apa hasil dari Aljabar Relasional berikut terhadap Database tersebut?
  1. ĻƒUKM = "Paduan Suara" (Mahasiswa-UKM)
  2. Ļƒnama = "Wahyu" (Mahasiswa-UKM)
  3. Ļƒnama = "Wahyu" (Mahasiswa-Jurusan)
  4. Ī jurusan (Mahasiswa-Jurusan)
  5. Ī nama (Mahasiswa-Jurusan) - Ī nama (Mahasiswa-UKM)
  6. Ī nama (Mahasiswa-Jurusan) ∩ Ī nama (Mahasiswa-UKM)
  7. Ļƒnama = "Budi" UKM = "Badminton" (Mahasiswa-UKM)
  8. Mahasiswa-Jurusan Mahasiswa-UKM

Jawaban :

ĻƒUKM = "Paduan Suara" (Mahasiswa-UKM)

Nama
UKM
Januar
Paduan Suara
Budi
Paduan Suara

Ļƒnama = "Wahyu" (Mahasiswa-UKM)

Nama
UKM
Wahyu
Badminton
Wahyu
Pecinta Alam

Ļƒnama = "Wahyu" (Mahasiswa-Jurusan)

Nama
Jurusan
Wahyu
Kimia

Ī jurusan (Mahasiswa-Jurusan)

Jurusan
Fisika
TIK
Kimia
Kimia

Ī nama (Mahasiswa-Jurusan) - Ī nama (Mahasiswa-UKM)

Nama
Jurusan
Erni
Kimia

Ī nama (Mahasiswa-Jurusan) ∩ Ī nama (Mahasiswa-UKM)

Nama
Januar
Budi
Wahyu

Ļƒnama = "Budi"  UKM = "Badminton" (Mahasiswa-UKM)

Nama
UKM
Budi
Badminton

Mahasiswa-Jurusan  Mahasiswa-UKM

Nama
Jurusan
UKM
Januar
Fisika
Paduan Suara
Budi
TIK
Badminton
Wahyu
Kimia
Pecinta Alam

2. 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, Tabel Mengajar :

Kd_mk
Nama_mk
Sks
NIP
Kd_mk
Kelas
MPK1
PKN
2

95002
MKB3
A
MKB3
BDT
3
95002
MKB4
A
MKB4
ASD
3
95003
MPK1
A
95003
MPK1
B
95004
MKB4
B

Tentukan Aljabar Relasional yang dipergunakan dan hasil yang akan didapat :
  1. Tampilkan daftar dosen yang berjenis kelamin pria dari tabel Dosen
  2. Tampilkan NIP dan Nama_dosen dari tabel Dosen
  3. Tampilkan NIP,Nama_dosen,dan kota dari tabel Dosen dan dosen-dosen yang bertempat tinggal di kota Jakarta Selatan
  4. Tampilkan NIP (dari relasi dosen) union dari NIP (dari tabel mengajar)
  5. Tampilkan NIP (dari tabel dosen) Set-Difference dari NIP (dari tabel mengajar)
  6. Tampilkan Kode_mk,Nama_mk,Sks (dari tabel matakuliah),Kelas (dari tabel mengajar) dimana kelas yang diajar adalah kelas A
  7. Tampilkan NIP (dari tabel dosen) Set Intersection dengan NIP (dari tabel mengajar) 
  8. Tampilkan seluruh data yang ada pada tabel mengajar 

Jawaban :

    1.) Aljabar Relasional : Ļƒjenis_kelamin = "Pria" (Dosen)

NIP
Nama_dosen
Jenis_kelamin
Alamat
Kota
95001
Bambang
Pria
Jl. Mawar
Jakarta Selatan
95004
Dimas
Pria
Jl. Kemuning
Cikarang

    2.) Aljabar Relasional : Ļƒjenis_kelamin = "Pria" (Dosen)

NIP
Nama_dosen
95001
Bambang
95002
Asri
95003
Hesti
95004
Dimas

    3.) Aljabar Relasional : Ī NIP,Nama_dosen,kota (ĻƒKota = "Jakarta Selatan" (Dosen))

NIP
Nama_dosen
Jenis_kelamin
Alamat
Kota
95001
Bambang
Pria
Jl. Mawar
Jakarta Selatan
95002
Asri
Wanita
Jl. Anggrek
Jakarta Selatan

    4.) Aljabar Relasional : Ī NIP (Dosen) Ī NIP (Mengajar)

NIP
95001
95002
95003
95004

    5.) Aljabar Relasional : Ī NIP (Dosen) - Ī NIP (Mengajar)

NIP
95001

    6.) Aljabar Relasional : Ī Kode_mk,Nama_mk,Sks,kelas (Ļƒkelas = "A" mengajar.kode_mk = matakuliah, kode_mk (mengajar × matakuliah))

Kd_mk
Nama_mk
Sks
Kelas
MPK1
PKN
2
A
MKB3
BDT
3
A
MKB4
ASD
3
A

    7.) Aljabar Relasional : Ī NIP (Dosen) Ī NIP (Mengajar)

NIP
95002
95003
95004

    8.) Aljabar Relasional : Matakuliah Mengajar.Kode_mk = Matakuliah.Kode_mk Mengajar

MKd_Mk
Nama_Mk
Sks
Nip
Kelas
MKB3
BDT
3
95002
A
MKB4
ASD
3
95002
A
MPK 1
PKN
2
95003
A
MPK1
PKN
2
95003
B
MKB4
ASD
3
95004
B


Semoga Postingan kali ini bermanfaat bagi Mahasiswa TI. Dan juga nantikan pembahasan selanjutnya tentang Normalisasi dalam Basis Data (Database).

Terima Kasih šŸ˜„šŸ˜˜šŸ‘ŒšŸ‘ :)

Wassalamu‘alaikum wr. wb.

Ads