ALJABAR RELASIONAL

Nama Haidi

Mata Kuliah Basis Data

AMIK Wahana Mandiri

Bahasa manipulasi è bahasa yang digunakan untuk mengekspresikan modifikasi ataupun queri terhadap data yang terkandung dalam suatu database relasional.

 

Berdasarkan metode ekspresinya bahasa manipulasi diekspresikan menjadi dua macam yaitu :

 

  • Bahasa Prosedural yaitu bahasa yang ekspresinya menyatakan “How”( bagaimana ) langkah-langkah untuk melakukan manipulasi yang dikehendaki.

 

  • Bahasa Non Prosedural yaitu bahasa yang ekspresinya menyatakan “What” ( apa ) yang perlu dimanipulasi.

 

Bahasa manipulasi untuk database relasional diantaranya yaitu :

  1. Aljabar Relasional

    Aljabar Relasional è merupakan kumpulan operasi terhadap relasi dimana setiap operasi menggunakan satu atau lebih relasi untuk menghasilkan satu relasi yang baru dan termasuk kategori prosedural dan juga menyediakan seperangkat operator untuk memanipulasi data.

     

  2. Operator dasar
  • Definisi Operator Dasar è

     

     

  • Komponen / Perintah Yang Digunakan è
  1. Select ( s )

 

  1. Project ( p )

 

  1. Cartesian Product ( ´ )
  2. Union ( È )

 

  1. Diffrence ( )

 

  1. Rename ( r )

 

  1. Operator tambahan
  • Definisi Operator Tambahan è

 

  • Perintah Yang Digunakan diantaranya :
  1. Intersection ( Ç )

 

  1. Natural Join ( q )

 

  1. Division ( ¸ )

 

 

Semua Operator diatas dapat diekspresikan kedalam satu atau lebih tabel dan hasilnya berupa tabel.

 

  • Contoh-contoh penggunaan operator :
  1. Select ( s )

    Menggunakan sintaks / rumus :

     


    s [ karakteristik ] [ tabel ]

     

    1. Implementasi Dalam Kasus Adalah :

     

    1. Bahasa Manusia    :    Cari semua entity account yang saldonya lebih dari 4000000

       

  • Tabel Account yang dimaksud dalam soal diatas adalah sebagai berikut :

 

 

 

 

Account No 

Type 

Balance 

012.145.002 

Checking 

8.000.000 

771.225.421 

Checking 

3.000.000 

315.222.310 

Saving 

4.000.000 

342.256.010 

Checking 

6.000.000 

511.333.279 

Saving 

1.000.000 

122.003.007 

Saving 

8.500.000

 

 

AR : s Balance > 4000000 ( account )

 

Tabel hasil operator s tersebut adalah :

Account No 

Type 

Balance 

012.145.002 

Checking 

8.000.000 

342.256.010 

Checking 

6.000.000 

122.003.007 

Saving 

8.500.000 

 

 

  1. Bahasa Manusia : Cari semua entity account dengan type saving dan saldo lebih dari 4.000.000.

 

Simbol :      Ù : dan

  • : atau

Ø : tidak    

 

AR: s type = “saving” ^ balance > 4.000.000 ( account )

 

Tabel hasil operator s tersebut adalah :

Account No 

Type 

Balance 

122.003.007 

Saving 

8.500.000 

 

 

 

 

  1. Bahasa Manusia    : Cari semua costumer yang bernama Nyoman atau tinggal diberingin.

     

    Tabel Customer yang dimaksud dalam soal diatas adalah sebagai berikut :

Name 

Id Card 

Street 

City 

Nyoman 

03124 

Cikokol 

Tangerang 

Arbi 

37662 

Beringin 

Tangerang 

Bambang 

27286 

Baringan

Tangerang 

Ardi 

22780 

Beringin 

Tangerang 

 

AR : s name = “Nyoman” V Street =

“Beringin” ( customer )

 

 

 

 

Tabel hasil operator s tersebut adalah :

Name 

Id Card 

Street 

City 

Nyoman 

03124 

Cikokol 

Tangerang 

Arbi 

37662 

Beringin 

Tangerang 

Ardi 

22780

Beringin 

Tangerang 

 

 

 

 

  1. Project ( p ) : operasi ini digunakan untuk memilih kolom (atribut) tabel tertentu dari sintaks.

 

Berikut contoh penggunaannya :

  1. Bahasa Manusia    : Tampilkan semua no rekening dan balance dari tabel account.

 

AR : p acc no, balance ( account )

Tabel yang dihasilkan adalah :

   
   
   
   
   
   
   

    

  1. Bahasa Manusia        :     Tampilkan semua no rekening dan balance dari semua rekening yang balancenya lebih dari 4.000.000.

 

AR : p Acc no, balance (s balance > 4.000.000 ( account ) )

 

Tabel Yang Dihasilkan Adalah :    

   
   
   
   

 

 

 

3. Bahasa Manusia        :     Tampilkan semua no rekening dan balance dari semua rekening yang balancenya lebih dari 4.000.000. dan dibawah 8.000.000

 

    AR    :

 

 

    Tabel Yang Dihasilkan Adalah :

   
   
   
   

 

4. Bahasa Manusia        :     Tampilkan semua no rekening dan balance dari semua rekening yang balancenya lebih dari 4.000.000. atau dibawah 8.000.000

 

    AR    :

 

 

    Tabel Yang Dihasilkan Adalah :

   
   
   
   

 

 

 

  1. Cartesian Product (

´ )

Product cartesian dari relasi A dan B dinyatakan dengan A X B

 

Contoh:

1. A = { 1, 2, 3}

B = { 5, 7 }

 

A X B = { (1, 5 ), (1, 7 ), (2, 5 ), (3, 5 ), (3, 7 ) }

 

2. Terdapat 2 tabel sebagai berikut    :

 

Tabel M

M 

N 

O 

1 

2 

3 

4 

5 

6 

7 

8 

9 

 

 

 

Tabel N

M 

B 

1 

c 

4 

d 

7 

e 

 

 

Tabel M X Tabel N adalah :

         
         
         
         
         
         
         
         
         
         

 

    

  1. Union (

È )

Union dari relasi A dan B dinyatakan

sebagai A È B

    A È B    

    

 

 

  1. Operator Set Difference ( – )

    Berfungsi untuk mengeliminasi entity atau recond dari tabel yang ada pada tabel lain è dan kedua tabel harus mempunyai atribut yang sama.

    Queri A – B menghasilkan record yang dimiliki tabel A tetapi tidak memiliki tabel B.

     

    Sintaks : [ tabel 1 ]-[tabel 2 ] A-B.

 

 

Contoh Kasus    :    

1. Bahasa Manusia    :     Carilah semua masalah yang saldonya diatas 4.000.000

AR : p Id card (s type =”saving” ( account x customer )

        p Id card (s type =”checking” ( account x customer ))

 

 

Tabel A –B adalah :

     
     
     

 

 

 

  1. Rename (

r )

Berfungsi untuk menyalin tabel lama menjadi tabel dengan nama baru.

 

Sintaks : r [ new name ] [old name ]

 

1. Bahasa Manusia    : Salinlah tabel account dengan nama Finance

 

     AR : r Finance ( account )

    

    Tabel Yang Dihasilkan Adalah    :

OPERATOR TAMBAHAN
 

  1. Operator Intersect ( Ç )

    Operator ini termasuk kedalam kategori operator tambahan, karena operator ini dapat diderivasi dari operator dasar seperti berikut :

    A Ç B = A – ( A – B), atau

    A Ç B = B – ( B – A ).

     

     

    Contoh Kasus    :

    1. Bahasa Manusia    : Carilah Id customer yang memiliki rekening bertipe saving dan checking.

 

AR : p id card (s type=”saving” ^ account acc.no = cust acc no.acc no ( account ´ cust acc) Ç
p id card (s type=”saving” account acc no = cust acc no ( account ´ cust acc )).

 

Tabel Yang Dihasilkan Adalah :

     
     
     

 

 

 

 

2. Bahasa Manusia    : Carilah Id customer yang memiliki rekening bertipe saving atau checking.

 

        AR    : ………..

 

Tabel Yang Dihasilkan Adalah :

     
     
     

 

  1. Natural Join (

q )

Operator ini dikembangkan dari operator Cartesian Product (´) dimana operasi A q B ekuivalen dengan operasi A X B, dimana semua atribut persekutuan ( common attributes ) dari tabel A dan B harus memiliki nilai yang sama.

 

Secara matematik :

A q B = p att (A) È att (B) (s A.K1= B.K1
Ù A.K2 = B.K2ÙÙ A.Kn=( A ´ B )),

 

Dimana    :    { K1,K2 …Kn}Í att (A)

dan { K1,K2 …Kn} Í att (B)

 

K1,K2 …Kn
è semua atribut persekutuan dari tabel A dan B.

Att (A) è adalah semua atribut A sedangkan Att (B) adalah semua atribut B.

 

Contoh Kasus     :

Bahasa Manusia     :

 

 

 

AR    : p id card (s type=”saving” ( account q Cust Acc )).

 

Tabel Yang Akan Dihasilkan Adalah:

     
     
     

 

 

 

  1. Operator Division (

¸ )

Operator ini banyak digunakan dalam queri yang mencakup frase “setiap” atau “untuk semua “.

 

Sebagai contoh è queri berikut :

kusRek ¸
p NoRek (s 2.000.000 < saldo< 4.500.000 (rekening)).

Pada queri ini, tabel KusRek adalah tabel dengan 2 kolom ( atribut ) KartuID dan NoRek.

 

Sedangkan sub-queri p NoRek (s 2.000.000 < saldo< 4.500.000 (rekening)) menghasilkan tabel berikut :

NoRek 

771.225.421 

315.222.310

    

 

Dengan demikian queri KusRek p NoRek (s 2.000.000 < saldo< 4.500.000 (rekening)) menghasilkan tabel berikut :

KartuID 

48616 

 

Semantik dari queri diatas adalah ” mencari semua kustomer yang memiliki setiap rekening dengan saldo antara 2.000.000 dan 4.500.000.


 

Leave a comment