• Tidak ada hasil yang ditemukan

Bab V Bahasa Query (Query Language)

N/A
N/A
Protected

Academic year: 2019

Membagikan "Bab V Bahasa Query (Query Language)"

Copied!
10
0
0

Teks penuh

(1)

Tujuan Instruksional Umum

Mahasiswa dapat mengerti Bahasa Query (Query Language).

Tujuan Instruksional Khusus

Mahasiswa dapat mengerti tentang aljabar relational.

Mahasiswa dapat mengerti operator dasar dan operator tambahan

BAHASA QUERY (QUERY LANGUAGE)

uery Language adalah language yang digunakan oleh user untuk mendapatkan

informasi dari basis data. Query Language umumnya berupa high–level language,

yang levelnya lebih tinggi dari programming language standard.

Q

Query Language terbagi menjadi 2 kategori, yaitu : 1. PROCEDURAL LANGUAGE

User memerintah system/DBMS untuk melaksanakan urutan–urutan operasi/prosedur untuk mendapatkan informasi yang diinginkan.

2. NON–PROCEDURAL LANGUAGE

User tidak menggunakan prosedur/urutan–urutan operasi tertentu untuk mendapatkan informasi yang diinginkan.

5.1 Aljabar Relational (Relational Algebra)

Aljabar relational adalah kumpulan operasi terhadap relasi. Setiap operasi menggunakan satu atau lebih untuk menghasilkan satu relasi yang baru. Termasuk bahasa queri dengan prosedur yang menyediakan sejumlah operator untuk memanipulasi data pada seluruh relasi. Aljabar relasi terdiri dari suatu himpunan operasi yang menggunakan satu atau dua relasi sebagai input dan menghasilkan suatu relasi baru sebagai hasilnya.

Operator Dasar :

1. Operasi Seleksi / Select Operation 2. Operasi Proyeksi / Project Operation 3. Cartesian Product Operation

4. Union Operation

(2)

5. Set Difference Operation

Relasi/tabel untuk contoh penggunaan bahasa query :

Nasabah

Nama No_KTP Alamat Kota

Santi Anasari Setiawan

Trijaya Ardian

12345 23456 34567 45678 56789

Jl. Intan No. 90 Jl. Mutiara No. 45 Jl. Permata No. 12 Jl. Tembaga No. 50 Jl. Perunggu No. 67

Bandung Semarang Semarang Jakarta Semarang

Rekening

No_Rek Status Saldo

987.654 876.543 765.432 654.321 543.210 432.109 321.098

Checking Checking Checking Saving Saving Checking

Saving

8.000.000 3.500.000 6.500.000 4.750.000 1.250.000 2.750.000 9.500.000

R1

No_KTP No_Rek

12345 12345 23456 34567 45678 45678 56789

987.654 876.543 765.432 654.321 543.210 432.109 321.098

5.2 Operator Dasar :

1. Operasi Selection / Select Operational

Operasi ini menggunakan simbol

(Lower–Case Omega)

Operasi selection menyeleksi tuple–tuple di sebuah relation, yaitu tuple–tuple yang memenuhi predicate/syarat yang sudah ditentukan sebelumnya.

Operasi selection dituliskan dengan bentuk umum sebagai berikut :

F

(R)

Catatan :

(3)

Predikat/kondisi seleksi menggunakan operator boolean (=, <, >, ≤, ≥, ≠) untuk nilai atribut tabel. Kondisi dengan operator Boolean juga dapat dihubungkan dengan operator AND (^) dan OR (v).

Contoh :

 Kota = “Semarang” (NASABAH)

Berarti : mencari semua record dari table NASABAH yang kotanya di ‘Semarang’.

Tabel hasil seleksi :

Nama No_KTP Alamat Kota

Anasari Setiawan

Ardian

23456 34567 56789

Jl. Mutiara No. 45 Jl. Permata No. 12 Jl. Perunggu No. 67

Semarang Semarang Semarang

 Saldo ≥ 4.000.000 ^ Status =”Saving” (REKENING)

Berarti : mencari semua record dari table REKENING yang saldonya ≥ 4.000.000 dan status rekeningnya adalah ‘Saving’.

Tabel hasil seleksi :

No_Rek Status Saldo

654.321 321.098

Saving Saving

4.750.000 9.500.000

 Saldo ≤ 4.000.000 v Status =”Saving” (REKENING)

Berarti : mencari semua record dari table REKENING yang saldonya ≤ 4.000.000 atau status rekeningnya adalah ‘Saving’.

Tabel hasil seleksi :

No_Rek Status Saldo

876.543 654.321 543.210 432.109 321.098

Checking Saving Saving Checking

Saving

3.500.000 4.750.000 1.250.000 2.750.000 8.500.000

2. Operasi Proyeksi / Project Operation Operasi ini menggunakan simbol

(phi)

Operator projection beroperasi di sebuah relation, yaitu membentuk relation baru dengan mengcopy atribut–atribut dan domain–domain dari relation tersebut berdasarkan argument–argument pada operator tersebut.

Operasi proyeksi dituliskan dengan bentuk umum sebagai berikut :

a1, a2, …, an(R)

Catatan :

(4)

a1, a2, …, an : atribut yang dipilih (argument)

R : relatioan yang dikenakan operasi project

Contoh :

 Nama, No_KTP(NASABAH)

Berarti : menampilkan semua record dari file NASABAH dengan hanya memilih atribut nama dan No_KTP saja. Kolom/atribut Alamat dan Kota tidak ditampilkan.

Tabel hasil proyeksi :

Nama No_KTP

Santi Anasari Setiawan

Trijaya Ardian

12345 23456 34567 45678 56789

 Nama, No_KTP( Kota=”Semarang”(NASABAH))

Berarti : menampilkan Nama dan No_KTP semua record yang ada di table NASABAH yang tinggalnya di Kota =’Semarang.

Table hasil proyeksi :

Nama No_KTP

Anasari Setiawan

Ardian

23456 34567 56789

 No_Rek, Saldo( Saldo ≤ 3.500.000 ^ Status=”Checking”(REKENING))

Berarti : menampilkan semua record dari file REKENING dengan hanya memilih atribut No_Rek dan Saldo saja. Dengan ketentuan yang saldonya ≤ 3.500.000 dan status rekeningya “Checking”.

Table hasil proyeksi :

No_Rek Saldo

876.543 432.109

3.500.000 2.750.000

3. Operasi Perkalian Kartesian / Cartesian–Product Operation Operator ini menggunakan simbol (X).

Operator ini merupakan operator untuk binary operation, yaitu operator yang beroperasi di dua relation.

Operasi perkalian kartesian dituliskan dengan bentuk umum sebagai berikut :

R1 X R2

Catatan :

(5)

Operator cartesian–product akan merangkai setiap tuple di R1 dengan setiap tuple

di R2 sehingga jika R1 terdiri dari n–tupke dan R2 terdiri dari m–tuple, maka :

R = R1 X R2, akan terdiri dari mn tuple

Contoh :

Jika diketahui dua tabel seperti berikut ini :

A B

Maka operasi A X B akan menghasilkan 3 x 3 = 9 tuple sehingga didapat tabel sebagai berikut :

A X Y Z B X W

Tampilkan No_KTP NASABAH yang memiliki saldo diatas 3.500.000.

Jawab :

Table hasil perkalian kartesian yaitu R1 X REKENING mempunyai 7 x 7

baris/record.

R1 X REKENING

No_KTP R1.No_Rek REKENING.No_Rek Status Saldo

(6)

12345

Sehingga :

No_KTP( Saldo 3.500.000 REKENING.No_Rek = R1.No_Rek(R1 X REKENING))

Menghasilkan tabel baru yaitu :

No_KTP

(7)

23456 56789

4. Union Operation

Operator ini menggunakan simbol (

)

Operator union juga digunakan untuk operasi binary. Operator ini akan membentuk relation baru dengan tuple–tuple yang terdapat di relation R1, R2 atau

tuple–tuple yang terdapat dikedua relation tersebut.

Operasi union dituliskan dengan bentuk umum sebagai berikut :

R = R1 R2

Catatan :

Dimana R, R1 dan R2 adalah table/relasi

Contoh :

Cari/tampilkan No_KTP dan Saldo yang statusnya ‘Saving’ atau ‘Checking’

Jawab :

 Langkah pertama cari product cartesius R1 X REKENING (sudah terjawab di

halaman sebelumnya)

 Cari/tampilkan No_KTP dan Saldo yang statusnya “Saving”

No_KTP, Saldo( Status =”Saving”  REKENING.No_Rek = R1.No_Rek(R1 X REKENING))

Hasil Tabelnya :

No_KTP Saldo

34567 45678 56789

4.750.000 1.250.000 9.500.000

 Cari/tampilkan No_KTP dan Saldo yang statusnya “Checking”

No_KTP, Saldo( Status =”Checking” REKENING.No_Rek = R1.No_Rek(R1 X REKENING)) Hasil Tabelnya :

No_KTP Saldo

12345 12345 23456 45678

8.000.000 3.500.000 6.500.000 2.750.000

 Lakukan Union Operation pada kedua table baru di atas :

No_KTP, Saldo( Status =”Saving”  REKENING.No_Rek = R1.No_Rek(R1 X REKENING))

(8)

No_KTP Saldo

34567 45678 56789 12345 12345 23456 45678

4.750.000 1.250.000 9.500.000 8.000.000 3.500.000 6.500.000 2.750.000

5. Set–Difference Operation

Operator ini menggunakan simbol (

)

Operator ini juga merupakan operator operasi binary, merupakan operator yang beroperasi pada dua table/relasi.

Operasi set–difference dituliskan dengan bentuk umum sebagai berikut :

R = R1 – R2

Catatan :

Dimana R, R1, dan R2 adalah table/relasi

Operasi set difference akan membentuk table/relasi baru dengan record–record yang terdapat pada relasi R1 dan tidak terdapat relasi R2.

Contoh :

Cari/tampilkan No_KTP seluruh Nasabah yang mempunyai rekening Saving saja (yang hanya mempunyai rekening Saving saja).

Jawab :

 Langkah pertama cari product R1 X REKENING (sudah terjawab di halaman

sebelumnya)

 Cari/tampilkan No_KTP yang statusnya “Saving”

No_KTP( Status =”Saving”  REKENING.No_Rek = R1.No_Rek(R1 X REKENING))

Hasil Tabelnya :

No_KTP

34567 45678 56789

 Cari/tampilkan No_KTP yang statusnya “Checking”

No_KTP( Status =”Checking” REKENING.No_Rek = R1.No_Rek(R1 X REKENING))

.

Hasil Tabelnya :

(9)

12345 12345 23456 45678

 Lakukan Set Difference Operatioan pada kedua table baru diatas :

No_KTP( Status =”Saving” REKENING.No_Rek = R1.No_Rek(R1 X REKENING))

No_KTP( Status =”Checking”  REKENING.No_Rek = R1.No_Rek(R1 X REKENING))

Hasil Tabelnya :

No_KTP

34567 56789

5.3 Operator Tambahan :

1. Set Intersection

Operator ini menggunakan simbol (

)

Merupakan binary operation untuk membentuk sebuah relation baru dengan tuple– tuple yang berasal dari kedua relation yang dihubungkan.

Misal :

R1 adalah relation dengan elemen E1, E2, …, En

R2 adalah relation dengan elemen T1, T2, …, Tn

Operasi intersection R = R1

R2 akan menghasilkan relation R dengan elemen–

elemen yang terdapat di R1, juga terdapat di R2.

Catatan :

Operator intersection tidak termasuk operator dasar karena operator tersebut dapat dituliskan dengan menggunakan operatior dasar SET DIFFERENCE, sebagai berikut :

R1

R2 = R1 – (R1 – R2)

Jadi, intersection tidak memberikan operasi yang baru. Keuntungannya, penulisan R1

R2 lebih sederhana dibandingkan menuliskan R1 – (R1 – R2)

2. Theta Join

Operator ini menggunakan simbol ( )

Merupakan operator yang menggabungkan operasi Cartesian Product dengan operasi Selection.

Dimana :

adalah simbol join

(10)

Bentuk umum Theta Join adalah : R1 R2 =

 (R1 X R2)

3. Natural Join

Operator ini menggunakan simbol ( )

Merupakan operator yang melakukan operasi penggabungan terhadap tuple–tuple dari relation–relation yang dioperasikan.

Misal, R1 dan R2 adalah relation yang mempunyai beberapa atribut/kolom yang

sama. Hasil operasi natural join adalah operasi cartesian product dari tuple–tuple di relation R1 & R2 yang atribut dan valuenya sama yang dikenakan operasi tersebut.

Natural join dapat digambarkan sebagai berikut :

A B C A B C A B C D

a d b c

b b b a

c c f d

b b a a

c c d d

d e b b

a a d d e

b b b b a

c c c c d

d e d e b

4. Division

Operator ini menggunakan simbol (

)

Merupakan operasi pembagian atas tuple–tuple dari dua relation misal R1 sebuah

relation dengan arity R dan R2 sebuah relation dengan arity S, dapat dituliskan

dengan operator sebagai berikut : R

S =

r-s (R) –

r-s (R) x S) – R)

Disederhanakan menjadi : R

S =

r-s ((

r-s(R) x S) – R)

Gambar

Tabel hasil seleksi :
Table  hasil  perkalian  kartesian  yaitu  R1 X  REKENING  mempunyai  7  x  7baris/record.

Referensi

Dokumen terkait

Atas dasar tersebut, penulis melakukan penelitian dengan judul “Sistem Pakar Kerusakan Televisi Dengan Metode Backward Chaining Berbasis Web”.. Sistem pakar

tapi dalam hal ini bener- bener selesai apa ndak, saya bener-bener ndak tau karena kan saya dari pagi sampai sore tetep kerja, sedangkan suami saya kan wiraswasta sendiri,

Untuk mengetahui pengaruh modal kerja yang diukur oleh rasio lancar, rasio cepat, rasio perputaran persediaan, rasio perputaran piutang, dan rasio perputaran modal kerja

When you hear the four statements, look at the picture on your test paper and choose the statement that best describes what you see in the picture.. Then, on your answer sheet, find

Berdasarkan hasil penelitian dan pembahasan yang dilakukan oleh penulis dalam penelitian teentang analisis perlakuan pendapatan terhadap kesesuaian yang ada pada

Bahan yang baik bagi pertumbuhan Acetobacter xylinum dan pembentukan nata. adalah ekstrak yeast

Dalam proyek ini ada Bangunan Gedung Kantor dan Gudang memakai rangka atap yang terdiri dari baja Ringan yang dikerjakan setelah pekerjaan cor balok dan kolom– kolom