19 Juni 2024 BASIS DATA 1
ALJABAR RELASIONAL
BASIS DATA
Oleh
Team Teaching Basis Data
Aljabar Relational
19 Juni 2024 BASIS DATA 2
Yaitu sekumpulan operasi yang digunakan
untuk melakukan proses manipulasi data dalam
rangka untuk mendapatkan informasi yang
diperlukan dari database
Aljabar Relational, Cont’d…
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.
19 Juni 2024 3
BASIS DATA
Contoh Database
19 Juni 2024 4
BASIS DATA
Operasi SELECT
Untuk memilih baris tertentu dari
sebuah himpunan baris data
(record) yang memenuhi kondisi
dan membuang baris yang lain.
Notasi :
19 Juni 2024 5
BASIS DATA
<kondisi pilihan> (<nama relasi>)
Operasi SELECT, Cont’d…
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
19 Juni 2024 6
BASIS DATA
Operasi PROJECT
Untuk memilih attribut (kolom)
tertentu dari himpunan /
subhimpunan dan membuang yang
lain
Notasi :
19 Juni 2024 7
BASIS DATA
<daftar attribut> (<nama relasi>)
Operasi PROJECT,Cont’d…
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:
19 Juni 2024 8
BASIS DATA
JenisKel, Gaji (Pegawai)
Urutan Operasi
Sebuah operasi bisa dituliskan dalam bentuk
beberapa ekspresi aljabar relasional dengan
mengelompokkan untuk tiap-tiap operasi dan
memberi nama
Contoh :
Mengambil informasi nama depan, nama
belakang dan gaji dari pegawai-pegawai yang
bekerja di departemen nomor 5
19 Juni 2024 9
BASIS DATA
nmDepan, nmBlk, gaji (dep_nomor=5(PEGAWAI))
Urutan Operasi, Cont’d…
bisa ditulis dalam bentuk:
(tabel pegawai dipilah dulu hanya dengan
mengambil yg memenuhi dep_nomor=5 dan
disimpan dalam relasi dengan nama PEG_DEP5)
(kemudian setelah itu, relasi PEG_DEP5 dipilah
hanya diambil kolom-kolom nmDepan, nmBlk dan
gaji)
19 Juni 2024 10
BASIS DATA
PEG_DEP5  dep_nomor=5 (PEGAWAI)
HASIL  nmDepan, nmBlk, gaji (PEG_DEP5)
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 :
19 Juni 2024 11
BASIS DATA
TEMP  dep_nomor=5 (PEGAWAI)
RBARU (NAMADEPAN, NAMABELAKANG, GAJI)
 nmdepan, nmblk, gaji (TEMP)
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)
19 Juni 2024 12
BASIS DATA
Operasi Himpunan, Cont’d…
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:
19 Juni 2024 13
BASIS DATA
Operasi Himpunan, Cont’d…
Jawab :
19 Juni 2024 14
BASIS DATA
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: {=, <, ≤, >, ≥, ≠}
19 Juni 2024 15
BASIS DATA
Operasi Join, Cont’d…
Contoh
Mendapatkan nama departemen beserta nama
pimpinan masing-masing
19 Juni 2024 16
BASIS DATA
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)
Operasi Join, Cont’d…
Operasi join dengan kondisi join
secara umum disebut dengan Theta
Join.
Kondisi join yang operator
pembandingannya berupa =, disebut
dengan Equijoin
19 Juni 2024 17
BASIS DATA
Natural Join
Yakni operasi equijoin yang mana yang mana pasangan
attribut-attribut yang di’join’kan 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
19 Juni 2024 18
BASIS DATA
Natural Join, Cont’d…
Contoh
19 Juni 2024 19
BASIS DATA
DEPT (dep_nomor, dep_nama,
dep_jmlPegawai, dep_noKTP)  DEPARTEMEN
PROY_DEPT  PROYEK * DEPT
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
19 Juni 2024 20
BASIS DATA
Fungsi Aggregate( ), Cont’d…
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)
19 Juni 2024 21
BASIS DATA
19 Juni 2024 22
P E N U T U P
Terima kasih
BASIS DATA

Boboiboy4_proo9ooooooooodoooooooooooooooo

  • 1.
    19 Juni 2024BASIS DATA 1 ALJABAR RELASIONAL BASIS DATA Oleh Team Teaching Basis Data
  • 2.
    Aljabar Relational 19 Juni2024 BASIS DATA 2 Yaitu sekumpulan operasi yang digunakan untuk melakukan proses manipulasi data dalam rangka untuk mendapatkan informasi yang diperlukan dari database
  • 3.
    Aljabar Relational, Cont’d… Secaraumum 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. 19 Juni 2024 3 BASIS DATA
  • 4.
    Contoh Database 19 Juni2024 4 BASIS DATA
  • 5.
    Operasi SELECT Untuk memilihbaris tertentu dari sebuah himpunan baris data (record) yang memenuhi kondisi dan membuang baris yang lain. Notasi : 19 Juni 2024 5 BASIS DATA <kondisi pilihan> (<nama relasi>)
  • 6.
    Operasi SELECT, Cont’d… 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 19 Juni 2024 6 BASIS DATA
  • 7.
    Operasi PROJECT Untuk memilihattribut (kolom) tertentu dari himpunan / subhimpunan dan membuang yang lain Notasi : 19 Juni 2024 7 BASIS DATA <daftar attribut> (<nama relasi>)
  • 8.
    Operasi PROJECT,Cont’d… Jika <daftarattribut> 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: 19 Juni 2024 8 BASIS DATA JenisKel, Gaji (Pegawai)
  • 9.
    Urutan Operasi Sebuah operasibisa dituliskan dalam bentuk beberapa ekspresi aljabar relasional dengan mengelompokkan untuk tiap-tiap operasi dan memberi nama Contoh : Mengambil informasi nama depan, nama belakang dan gaji dari pegawai-pegawai yang bekerja di departemen nomor 5 19 Juni 2024 9 BASIS DATA nmDepan, nmBlk, gaji (dep_nomor=5(PEGAWAI))
  • 10.
    Urutan Operasi, Cont’d… bisaditulis dalam bentuk: (tabel pegawai dipilah dulu hanya dengan mengambil yg memenuhi dep_nomor=5 dan disimpan dalam relasi dengan nama PEG_DEP5) (kemudian setelah itu, relasi PEG_DEP5 dipilah hanya diambil kolom-kolom nmDepan, nmBlk dan gaji) 19 Juni 2024 10 BASIS DATA PEG_DEP5  dep_nomor=5 (PEGAWAI) HASIL  nmDepan, nmBlk, gaji (PEG_DEP5)
  • 11.
    Perubahan Nama Atribut Untukmengubah nama attribut dari sebuah relasi yang merupakan hasil dari operasi aljabar relasional, ditulis nama atribut baru dalam huruf besar Contoh : 19 Juni 2024 11 BASIS DATA TEMP  dep_nomor=5 (PEGAWAI) RBARU (NAMADEPAN, NAMABELAKANG, GAJI)  nmdepan, nmblk, gaji (TEMP)
  • 12.
    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) 19 Juni 2024 12 BASIS DATA
  • 13.
    Operasi Himpunan, Cont’d… CARTESIANPRODUCT  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: 19 Juni 2024 13 BASIS DATA
  • 14.
    Operasi Himpunan, Cont’d… Jawab: 19 Juni 2024 14 BASIS DATA
  • 15.
    Operasi Join Digunakan untukmengkombinasikan 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: {=, <, ≤, >, ≥, ≠} 19 Juni 2024 15 BASIS DATA
  • 16.
    Operasi Join, Cont’d… Contoh Mendapatkannama departemen beserta nama pimpinan masing-masing 19 Juni 2024 16 BASIS DATA 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)
  • 17.
    Operasi Join, Cont’d… Operasijoin dengan kondisi join secara umum disebut dengan Theta Join. Kondisi join yang operator pembandingannya berupa =, disebut dengan Equijoin 19 Juni 2024 17 BASIS DATA
  • 18.
    Natural Join Yakni operasiequijoin yang mana yang mana pasangan attribut-attribut yang di’join’kan 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 19 Juni 2024 18 BASIS DATA
  • 19.
    Natural Join, Cont’d… Contoh 19Juni 2024 19 BASIS DATA DEPT (dep_nomor, dep_nama, dep_jmlPegawai, dep_noKTP)  DEPARTEMEN PROY_DEPT  PROYEK * DEPT
  • 20.
    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 19 Juni 2024 20 BASIS DATA
  • 21.
    Fungsi Aggregate( ),Cont’d… 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) 19 Juni 2024 21 BASIS DATA
  • 22.
    19 Juni 202422 P E N U T U P Terima kasih BASIS DATA