Anda di halaman 1dari 5

Nama : Kristiyanti Sampe Paledung

NIM : 20200801085
Sesi : KJ001
Matkul : Basis Data

1. Apa perbedaan antara bahasa prosedural dan nonprocedural?


Bagaimana Anda mengklasifikasikan aljabar relasional dan kalkulus relasional?
1) Perbedaan dasar antara Aljabar Relasional dan Kalkulus Relasional adalah bahwa
Aljabar Relasional adalah bahasa prosedural, sedangkan Kalkulus Relasional adalah
Non-Prosedural, alih-alih merupakan bahasa Deklaratif.
2) Aljabar Relasional mendefinisikan cara mendapatkan hasil sedangkan, Kalkulus
Relasional menentukan informasi apa yang harus berisi hasil.
3) Aljabar Relasional menentukan urutan operasi yang harus dilakukan dalam kueri. Di
sisi lain, kalkulus relasional tidak menentukan urutan operasi yang dilakukan dalam
kueri.
4) Aljabar Relasional tidak tergantung pada domain, sedangkan Kalkulus Relasional
dapat menjadi tergantung pada domain sebagaimana kita memiliki Kalkulus
Relasional Domain.
5) Bahasa query Aljabar Relasional terkait erat dengan bahasa pemrograman sedangkan,
Kalkulus Relasional terkait erat dengan Bahasa Alam.
2. Jelaskan istilah-istilah berikut:
a. Kalkulus relasional tupel
Kalkulus relasional tupel adalah bahasa query yang non prosedural. Bahasa ini
mendeskripsikan informasi yang diinginkan tanpa memberi prosedurnya secara detil
untuk mendapatkan informasi tersebut. Kalkulus relasional tupel merupakan basis untuk
bahasa query QUEL.
b. Kalkulus relasional domain
 Kalkulus relasional domain juga adalah bahasa query yang non prosedural
dan karenanya berhubungan dekat dengan kalkulus relasional tupel.
 Berbeda dengan kalkulus relasional tupel, bahasa ini menggunakan variabel
domain yang mengambil nilai dari domain atribut, bukan dari nilai seluruh tupel.
 Kalkulus relasional domain merupakan basis untuk bahasa query QBE

3. Definisikan lima operasi aljabar relasional dasar. Tentukan operasi Join dan Intersection.
Lima operasi relasional dasar:
1) Operasi Selection
Operasi selection dapat didefiniskan sebagai ”Kumpulan semua tuple-tuple/record-
record dalam suatu tabel yang memenuhi kondisi P”. Operasi selection berfungsi untuk
menyeleksi tuple-tuple yang memenuhi predikat yang diberikan dari sebuah tabel relasi.
Simbol sigma “σ” digunakan untuk menunjukkan operasi select. Predikat muncul
sebagaisubscript dari σ dan kondisi yang diinginkan yang ditulis dalam predikat.
Argumen diberikan dalam tanda kurung yang mengikuti σ dan berisi tabel relasi yang
dimaksud.
2) Operasi 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.
3) Operasi 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.
4) Operasi 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
menunjukkan operasi set difference.
5) Operasi Cartesian Product
Operasi cartesian product berfungsi untuk mengkombinasikan informasi yang ada
dalam 2 tabel relasi dan menghasilkan sebuah tabel relasi yang baru. Simbol “x“
digunakan untuk menunjukkan operasi cartesian product.

a. Operasi Join
Ada beberapa bentuk operasi join, yaitu:
1. Theta join
Theta join (𝜽 − 𝒋𝒐𝒊𝒏)
 Mendefinisikan relasi yang berisi tupel yang memenuhi predikat F dari produk
Cartesian dari R dan S.
 Predikat F adalah dari bentuk R.ai; 𝜃 S.bi, dimana 𝜃 dapat menjadi salah satu
 operator pembanding (<, ≤, >, ≥, =, ≠).
𝑹⋈𝒇𝑺 = 𝝈𝒇(𝑹 𝒙 𝑺)
2. Equijoin (jenis tertentu dari Theta join)
3. Natural join
 Natural join adalah Equijoin dari dua relasi R dan S pada semua atribut umum
x.
 Satu kemunculan setiap atribut umum dieliminasi dari hasil.
Notasi Natural join adalah:
𝑹⋈�
4. Outer join
5. Semi join

b. Operasi Intersection
 Operasi Intersection mendefinisikan relasi yang terdiri dari himpunan
semua tupel yang ada di R dan S.
 R dan S harus kompatibel dengan union
Buat daftar semua kota di mana terdapat branch office dan setidaknya satu
property for rent.
𝝅𝒌𝒐𝒕𝒂(𝑩𝒓𝒂𝒏𝒄𝒉) ∩ 𝝅𝒌𝒐𝒕𝒂(𝑷𝒓𝒐𝒑𝒆𝒓𝒕𝒚𝑭𝒐𝒓𝑹𝒆𝒏𝒕)

4. Diskusikan perbedaan antara lima operasi join: Theta join, Equijoin, Natural join, Outer
join, dan Semijoin. Berikan contoh untuk menggambarkan jawaban Anda.

Theta join menghasilkan sebuah relasi yang berisi tuple yang memenuhi syarat F dari
Cartesian product dari R dan S.

Equi join menghasilkan sebuah relasi yang berisi tuple yang memenuhi syarat F (dimana
hanya sebanding) dari Cartesian product dari R dan S.

Natural Join adalah sebuah equasi dari dua relasi R dan S melalui semua atribut umum x.

Outer Join adalah sebuah join yang tuplenya berasal dari R yang tidak memiliki nilai
yang sama pada atribut umum dari S juga termasuk dalam hasil relasi.

Semijoin menghasilkan sebuah relasi yang berisi tuples dari R yang terdapat dalam join
R dan S.

5. Ada berbagai jenis operasi join yang dapat digunakan untuk mengambil data, berdasarkan
relasi yang berbeda. Jelaskan hubungan antara theta dan equal join.
Berikan contoh untuk menjelaskan bagaimana keduanya diterapkan dalam pernyataan.
A theta join memungkinkan untuk sewenang-wenang perbandingan hubungan (seperti ≥).
An equijoin adalah theta join menggunakan operator kesetaraan.
A natural join adalah suatu equijoin pada atribut yang memiliki nama yang sama dalam
setiap hubungan.
Selain itu, bergabung alami menghilangkan duplikat kolom yang terlibat dalam kesetaraan
perbandingan sehingga hanya 1 dari masing-masing dibandingkan kolom tetap; dalam kasar
relasional aljabar syarat: ⋈ = πR,S-as ○ ⋈aR=aS

6. Apa perbedaan antara bilangan eksistensial dan universal dalam kalkulus relasional?
1. Kuantor Universal Kuantor universal menunjukan bahwa setiap objek dalam semestanya
mempunyai sifat kalimat yang menyatakanya. Simbol untuk kuantor universal adalah “∀”, dibaca
“untuk semua” atau “ untuk setiap”. Misalkan p(x) : “ x dapat mati” . Pernyataan “semua manusia
dapat mati” ditulis dalam symbol: (∀x) p(x). Pernyataan (∀x) p(x) bernilai benar jika hanya jika p(x)
benar untuk semua p(x) dalam semestanya dan bernilai salah jika ada x yang menyebabkan p(x)
salah.

2. Kuantor Eksistensial. Kuantor Eksistensial menunjukkan bahwa diantara objek-objek dalam


semestanya, paling sedikit ada satu objek (atau lebih) yang mempunyai sifat kalimat yang
menyatakannya. Simbol kuantor eksistensial adalah “∃” dibaca “terdapat”, “ada”, “beberapa”.
Pernyataan (∃x) q(x) bernilai benar jika dan hanya jika ada paling sedikit satu x yang
menyebabkan q(x) benar dan bernilai salah jika untuk semua x dalam semestanya, q(x) salah.
Variabel x dalam p(x) disebut variabel bebas karena jika x berubah maka nilai p(x) pada umumnya
juga berubah. Sebaliknya, variabel x dalam (∀x) p(x) merupakan variabel terikat karena nilai (∀x)
p(x) tidak lagi tergantung dari nilai x. Variabel x terikat oleh kuantor ∀.

7. Jelaskan notasi-notasi berikut ini


 𝝅𝒌𝒐𝒕𝒂(𝑩𝒓𝒂𝒏𝒄𝒉) ∪ 𝝅𝒌𝒐𝒕𝒂(𝑷𝒓𝒐𝒑𝒆𝒓𝒕𝒚𝑭𝒐𝒓𝑹𝒆𝒏𝒕)
Tampilkan semua kota antara branch office atau property for rent
 (𝝅𝒄𝒍𝒊𝒆𝒏𝒕𝑵𝒐,𝒇𝑵𝒂𝒎𝒆,𝑰𝑵𝒂𝒎𝒆(𝑪𝒍𝒊𝒆𝒏𝒕)) 𝒙 (𝝅𝒄𝒍𝒊𝒆𝒏𝒕𝑵𝒐,𝒑𝒓𝒐𝒑𝒆𝒓𝒕𝒚𝑵𝒐,𝒄𝒐𝒎𝒎𝒆𝒏𝒕(𝑽𝒊𝒆𝒘𝒊𝒏𝒈))
Buat daftar nama dan komentar dari semua klien yang telah melihat property for rent.
 𝝅𝒌𝒐𝒕𝒂(𝑩𝒓𝒂𝒏𝒄𝒉) − 𝝅𝒌𝒐𝒕𝒂(𝑷𝒓𝒐𝒑𝒆𝒓𝒕𝒚𝑭𝒐𝒓𝑹𝒆𝒏𝒕)
Buat daftar semua kota yang memiliki branch office tetapi tidak ada property for rent
 (𝝅𝒄𝒍𝒊𝒆𝒏𝒕𝑵𝒐,𝒇𝑵𝒂𝒎𝒆,𝑰𝑵𝒂𝒎𝒆(𝑪𝒍𝒊𝒆𝒏𝒕))⋈
(𝝅𝒄𝒍𝒊𝒆𝒏𝒕𝑵𝒐,𝒑𝒓𝒐𝒑𝒆𝒓𝒕𝒚𝑵𝒐,𝒄𝒐𝒎𝒎𝒆𝒏𝒕(𝑽𝒊𝒆𝒘𝒊𝒏𝒈))

Anda mungkin juga menyukai