Anda di halaman 1dari 41

Bagian 1 :

Seleksi Baris & Kolom, Union, Selisih, Intersection


 Definisi:
◦ Bahasa yang dipakai oleh pengguna untuk
mengambil / meminta informasi/data dari basis
data (database)
 2 Macam bahasa
◦ Procedural
◦ Non Procedural

2
 Yang murni (“Pure”), adalah:
◦ Relational Algebra (Relasi Aljabar)
◦ Tuple Relational Calculus
◦ Domain Relational Calculus
 Bahasa murni tersebut adalah dasar dari
beberapa bahasa query yang sekarang
sedang populer digunakan, yaitu SQL.

3
 Bahasa Query yang tergolong “procedural”.
 Digunakan untuk manipulasi data dalam basis
data, misalnya untuk melakukan seleksi isi baris
pada tabel dan kemudian dikombinasikan dengan
tabel lain untuk memperoleh informasi yang
diinginkan.
 Perintah operasi relasi aljabar ditulis dalam
bentuk pertanyaan (“query”).

4
 Operasi aljabar dikelompokkan dlm dua
kategori:
◦ Kategori I : operasi seleksi baris, seleksi kolom
(proyeksi), dan operasi penggabungan (“join”)
◦ Kategori II : operasi UNION, INTERSEKSI,
SELISIH (DIFFERENCE), dan PERKALIAN
KARTESIAN (Cartesian Product).
 Hasil relasi aljabar berupa tabel/relasi
baru, dan tabel/relasi ini juga dapat
dimanipulasi lagi.

5
 Digunakan untuk memilih isi baris pada tabel
yang memenuhi kondisi yang ditentukan.
 Lambang : Sigma () untuk operasi seleksi
 <kondisi> (<nama_tabel>)

 Contoh : untuk menampilkan nama


mahasiswa yang masuk Jurusan Teknik
Informatika
 Jurusan=“Teknik Informatika”(Mahasiswa)

6
NRP Nama_Mhs Jurusan Fakultas
0325116 Robert Teknik Informatika Teknik
0324027 Tori Informasi Teknologi Teknik
0325100 Wina Teknik Informatika Teknik
0313126 Mia Ekonomi Ekonomi
0312050 Budi Bahasa Inggris Sastra
0313018 Veni Ekonomi Ekonomi
0311050 Sila Bahasa Jepang Sastra

7
 Notasi : =,  , >,  ,<, 
 Kita dapat menggabungkan beberapa predikat
menjadi predikat yang lebih besar dengan
menggunakan connectives  (and),  (or), 
(not).
 Contoh :
untuk menampilkan fakultas dengan syarat
Jml_Dos < 300 dan Jml_Mhs > 3000
 Jml_Dos<300  Jml_Mhs>3000(Fakultas)

8
Fakultas Jml_Dos Jml_Mhs Jml_Jur
Ekonomi 200 5010 4
Teknik 350 7505 8
Sastra 150 4000 3
Psikologi 120 3500 3
Kedokteran 300 3600 2
Hukum 250 5009 3

9
Kode_MK Nama_MK SKS NIK
IF215 Basis Data 3 250001
IF116 Fisika 3 240012
IF114 Kalkulus 4 250003
IF241 Jaringan Komputer 3 250013
IF131 Bahasa Inggris 3 240012

10
Kode_MK NRP
IF215 0325116
IF215 0324027
IF131 0325116
IF114 0313126
IF116 0312050

11
NIK Nama_Dos Golongan
250001 Suryo IV
240012 Susie IV
250003 Sinta IV
250013 Hasan IV
240011 Amir III

12
1. Pilih baris pada tabel Mata Kuliah dimana
SKS-nya sama dengan 2
2. Pilih baris pada tabel Fakultas dimana
jumlah jurusan lebih dari 3 dan jumlah
dosen lebih dari 333.
3. Pilih baris pada tabel dosen dimana
golongan sama dengan IV.

13
1.  SKS=“2” (MataKuliah)
2.  Jml_Jur>3  Jml_Dos>333(Fakultas)
3.  Golongan=“IV” (Dosen)

14
 Digunakan untuk memilih kolom atribut pada
tabel.
 Lambang : pi ()
 Bentuk Umum :
<kolom atribut pilihan> (<nama tabel>)

 Contoh: untuk menampilkan NIP dan Nama


Dosen saja dari tabel Dosen
NIP, Nama_Dos (Dosen)

15
 Tampilkan nama fakultas yang jumlah
jurusannya lebih dari tiga
NamaFakultas (jml_jur>3 (Fakultas))

 Ingat:
Hasil dari operasi relasi adalah relasi!!!

16
1. Apa hasil dari :
NRP, Nama_Mhs(fakultas = “Teknik”(Mahasiswa)) ?
2. Pilih semua nama mata kuliah dimana sks-
nya sama dengan 3.
3. Pilih kode mata kuliah yang dipilih oleh
mahasiswa dengan NRP 0325116
4. Apa hasil dari
golongan(NIK > 250000 ^ NIK < 259999 (Dosen)) ?

17
1. Hasil dari :
NRP, Nama_Mhs(fakultas = “Teknik”(Mahasiswa))
NRP Nama_Mhs
0325116 Robert
0324027 Tori
0325100 Wina

18
2. Pilih semua nama mata kuliah dimana sks-
nya sama dengan 3.
 Nama_MK(sks = “3”(MataKuliah))

Nama_MK
Basis Data
Fisika
Jaringan Komputer
Bahasa Inggris

19
3. Pilih kode mata kuliah yang dipilih oleh
mahasiswa dengan NRP 0325116
Kode_MK(sNRP = “0325116”(Registrasi))

Kode_MK
IF215
IF131

20
4. Apa hasil dari
golongan(NIK > 250000 ^ NIK < 259999 (Dosen)) ?

Golongan
IV
IV
IV
IV
III
21
 Lambang : 
 Digunakan biasanya untuk menyederhanakan
agar tidak terlalu panjang
 Contoh
Bila ingin menyederhanakan relasi berikut
Nama_Fakultas ( jml_jur>3 (Fakultas))
Maka
JMLJUR   jml_jur>3 (Fakultas)
Nama_Fakultas (JMLJUR)

22
cabang (nama_cabang, kota_cabang, aset)
nasabah (nama_nasabah, jalan_nasabah,
kota_nasabah)
tabungan (nomor_rekening, nama_cabang,
jumlah_uang)
pinjaman (nomor_pinjaman, nama_cabang,
jumlah_uang)
penabung (nama_nasabah,
nomor_rekening)
peminjam (nama_peminjam,
nomor_pinjaman)

23
TABEL TABUNGAN
Nomor_Rekening Nama_Cabang Jumlah_Uang
A-101 Downtown 500
A-102 Perryridge 400
A-201 Brighton 900
A-215 Mianus 700
A-217 Brighton 750
A-222 Redwood 700
A-305 Round Hill 350

24
TABEL NASABAH
Nama_Nasabah Jalan_Nasabah Kota_Nasabah
Adams Spring Pittsfield
Brooks Senator Brooklyn
Curry North Rye
Glenn Sand Hill Woodside
Green Walnut Stamford
Hayes Main Harrison
Johnson Alma Palo Alto
Jones Main Harrison
Lindsay Park Pittsfield
Smith North Rye
Turner Putnam Stamford
Williams Nassau Princeton 25
Nama_Nasabah Nomor_Rekening
Hayes A-102
Johnson A-101
Johnson A-201
Jones A-217
Lindsay A-222
Smith A-215
Turner A-305

26
Nama_Cabang Kota_Cabang Aset
Brigthon Brooklyn 7100000
Downtown Brooklyn 9000000
Mianus Horseneck 400000
North Town Rye 3700000
Perryridge Horseneck 1700000
Pownal Bennington 300000
Redwood Palo Alto 2100000
Round Hill Horseneck 8000000

27
TABEL PINJAMAN
Nomor_Pinjaman Nama_Cabang Jumlah_Uang
L-11 Round Hill 900
L-14 Downtown 1500
L-15 Perryridge 1500
L-16 Perryridge 1300
L-17 Downtown 1000
L-23 Redwood 2000
L-93 Mianus 500

28
Nama_Nasabah Nomor_Pinjaman
Adams L-16
Curry L-93
Hayes L-15
Jackson L-14
Jones L-17
Smith L-11
Smith L-23
Williams L-17

29
 Tujuan :
menggabungkan nilai-nilai tabel sehingga
menghasilkan tabel baru yang berisi semua
baris dari tabel asal dengan menghilangkan
nilai baris yang sama (tidak ada duplikat).
 Batasan :
Hanya dapat dilakukan pada 2 tabel atau lebih,
yang mempunyai kolom-kolom atribut dengan
domin (domain) yang sama.

30
 Notasi :
<nama tabel1>  <nama tabel2>

 Contoh : sebutkan semua nama nasabah yang


mempunyai tabungan atau pinjaman
nama_nasabah (penabung)  nama_nasabah (peminjam)

31
Nama_ Nomor_R
Nasaba ekening Nama_Nasabah Nama_Nas N
abah
h Hayes
Adams
Hayes A-102 Johnson
Curry
Johnson A-101 Jones
Hayes
Johnson A-201 Lindsay
Jackson
Jones A-217 Smith Jones
Lindsay A-222 Turner Smith
Smith A-215 Adams Smith
Turner A-305 Curry Williams
Jackson
Williams
32
 Penggabungan antara relasi pinjaman dan
penabung tidak masuk akal, karena relasi
pinjaman mempunyai 3 atribut sedangkan
relasi penabung mempunyai 2 atribut.
 Untuk contoh lain, pertimbangkan
gabungan antara kumpulan nama
nasabah dan kumpulan nama kota.
Gabungan seperti ini tidak masuk akal di
banyak situasi

33
 Union yang “valid”, harus:
1. Dua atau lebih tabel yang digabungkan
harus mempunyai jumlah atribut yang sama
(same arity)
2. Domin (Domain) dari atribut yang
digabungkan harus cocok (compatible)
(kolom kedua dari tabel pertama harus
mempunyai tipe yang sama dengan kolom
kedua dari tabel kedua)

34
 Tujuan
mengurangkan baris pada tabel pertama
dengan baris pada tabel kedua dengan hasil
tabel baru yang hanya berisi baris pada tabel
pertama yang tidak muncul pada tabel kedua.
Atau dengan kata lain tabel hasil merupakan
tabel pertama dengan menghilangkan baris
yang muncul pada tabel kedua.

35
 Notasi:
<name tabel1> – <nama tabel2>

 Selisih harus dilakukan pada relasi yang


cocok atau “compatible,” dalam arti:
◦ Kedua relasi harus mempunyai jumlah atribut yang
sama (same arity)
◦ Domin dari atribut yang diselisihkan harus cocok
(compatible) atau
kolom kedua dari tabel pertama harus mempunyai
tipe yang sama dengan kolom kedua dari tabel
kedua.

36
 Temukan semua nama nasabah yang
mempunyai tabungan tetapi tidak mempunyai
pinjaman.
nama_nasabah (penabung) - nama_nasabah (peminjam)

Nama_Nasabah
Johnson
Lindsay
Turner

37
Nama_Nasabah Nama_Nasabah
Hayes Adams
Johnson Curry
Jones Hayes
Lindsay Jackson
Smith Jones
Turner Smith
Smith
Williams

38
 Operasi interseksi digunakan untuk
menseleksi baris-baris yang muncul pada
kedua tabel asal.
 Notasi :
<nama tabel1>  <nama tabel2>
 Kedua tabel harus compatibel dan
mempunyai jumlah atribut yang sama

39
 Cari semua nama nasabah yang mempunyai
pinjaman dan tabungan.
 Dengan menggunakan operasi interseksi kita
dapat menuliskan sebagai berikut:
nama_nasabah (peminjam)  nama_nasabah (penabung)

 Dari pada harus menulis


nama_nasabah (peminjam) –
(nama_nasabah (peminjam) - nama_nasabah (penabung))

40

Anda mungkin juga menyukai