Senin, 18 Juni 2012

Makalah Aljabar Relasional

BAB I
PENDAHULUAN
A.  Latar Belakang
Saat ini sistem manajemen basis data relasional yang berdasarkan  model data relasional merupakan pendekatan yang paling dominan. System yang berdasarkan model relasional yang diperkenalkan E.F. Cood (1970) dalam makalah berjudul “A Relational Model of Data For Large Shared Data of Banks”.  Hal utama yang menarik dalam model relasional adalah basis data dibangun di seputar struktur matematika yang sederhana dan sangat alami. Relasi memiliki sekumpulan operator tingkat tinggi dan bahasa manipulasi ampuh yang berakar kuat pada logika matematika. Dan di dalam makalah yang diatas tadilah Cood memasukkan dua bahasa relasional formal yang dapat digunakan untuk memanipulasi data di tabel, yaitu Kalkulus Relasional dan termasuk yang akan dibahas dalam makalah ini yaitu tentang Aljabar Relasional.
Latar belakang matematika yang kuat berarti ekspresi relasional (misalnya Query) dapat dianalisis secara aturan matematika baku. Pada evaluasi terhadap ekspresi, dimana suatu ekspresi memiliki potensi diubah menjadi ekspresi ekivalen yang dapat dieksekusi secara lebih efisien. Proses ini diesbut optimasi query.
Bahasa Query adalah bahasa yang dikhususkan untuk mengajukan pertanyaan atau Query, yang melibatkan data dalam sebuah database. Input dan output suatu Query adalah relasi.
Query  dievaluasi dengan menggunakan contoh input relasi dan menghasilkan contoh output relasi. Bahasa Query menggunakan operasi-operasi Aljabar relasional.
Aljabar relasional mendefinisikan secara teoritis cara memanipulasi isi table dengan menggunakan delapan fungsi relasional: Select, Project, Cartesian Product, Union, Set Difference, Natural Join, Intersection, danDivide.
B.  Rumusan masalah
Berdasarkan uraian dari latar belakang diatas maka dirumuskan masalah dalam makalah ini sebagai berikut :
a.       Apa yang dimaksud dengan Aljabar relasional?
b.      Apa saja Operasi-operasi dasar dan lanjutan pada Aljabar relasional?
c.       Apa hubungan antara aljabar relasional dengan SQL?
d.      Bagaimana pemetaan Aljabar relasional ke dalam query SQL?


C.  Batasan Masalah
Adapun dalam makalah ini kami cukup membahas masalah Aljabar relasional hingga ke pemetaanya ke dalam Query SQL sebagai batasan masalah yang akan dibahas.
D.  Tujuan Pembahasan
Dari rumusan dan batasan masalah dapat diperoleh tujuan pembahasan makalah ini yaitu :
1.      Memahami dan mengerti tentang dasar-dasar Aljabar Relasional
2.      Mengetahui keterkaitan antara aljabar relasional dengan bahasa query SQL
3.      Memahami cara pemetaan Aljabar relasional ke dalam query SQL.
E.   Manfaat Pembahasan
   Saat tujuan telah tercapai tentulah diperoleh manfaat dari setiap pembahasan adapun manfaat yang akan dicapai adalah Pembaca dapat mengerti serta memahami tentang aljabar relasional secara mendalam, agar mampu menjadi seorang ahli dalam bidang pengolahan basis data.
F.   Sistematika Pembahasan
Dalam penulisan makalah ini dilakukan dengan sistematika guna memudahkan dalam penganalisaan, dimana sistematika pembahasan adalah sebagai berikut:
 BAB I : PENDAHULUAN
Pada bab ini membahas tentang pendahuluan yang mengemukakan tentang latar belakang, rumusan masalah, tujuan pembahasan, manfaat pembahasan, serta sistematika pembahasan.
BAB II : PEMBAHASAN
Pada bab ini menjelaskan tentang hal-hal yang berkaitan dengan judul masalah secara terinci, mulai dari pengertian aljabar relasional, operasi-operasi dasar, hubungan aljabar relsional dengan query SQL, serta pemetaannya pada  query SQL.
BAB III : PENUTUP
Pada bab ini memuat tentang kesimpulan dari pembahasan dan saran.




BAB II
PEMBAHASAN
A.   Pengertian Aljabar Relasional
Aljabar relasional berasal dari pembagian bahasa Query relasional yang terdiri dari Kalkulus Relasional dan Aljabar relasional. Bahasa query relasional adalah bahasa yang digunakan dalam basis data, sehingga dapat diterapkan untuk memperoleh informasi secara efisien.
Aljabar relasional merupakan bagian dari ilmu computer, aljabar relasional ini mempelajari sekumpulan operasi terhadap relasi. Setiap operasi menggunakan satu atau lebih operasi untuk menghasilkan satu relasi yang baru dan termasuk kategori procedural. Operasi ini juga menyediakan seperangkat operator untuk memanipulasi data. Terdapat lima primitive dari Aljabar relasional yang dikemukakan oleh Edgar F.Codd, yaitu seleksi, projeksi, Perkalian silang, gabungan, himpunan, Operator lainnya adalah pengubahan nama yang tidak disampaikan oleh Codd, namun operator ini tetap dibutuhkan.
Aljabar relasional  lebih bersifat operasional, sangat berguna untuk merepresentasikan eksekusi perencanaan.
B.  Operasi dasar dan operasi Turunan dalam Aljabar Relasional
Operasi-Operasi Dasar sebagai berikut:
1.      Selection ( σ )
Operasi ini digunakan untuk mengambil sejumlah baris data yang memenuhi predikat yang diberikan. Dimana predikat tersebut sesuai dengan kondisi yang ingin diperoleh dalam operasi ini. Sintaks untuk operasi ini adalah sebagai berikut:
δ p = (E1)
Dimana P adalah predikat dari atribut di E1. Sehingga jika ingin mengambil baris-baris data mahasiswa yang lahir di kota ‘Jakarta’ dapat kita buat sintaks seperti dibawah ini
δ tempatlahir= “Jakarta” (mahasiswa)
 Pada dasarnya predikat merupakan suatu ekspresi lojik sehingga dapat menggunakan operator-operator lojik seperti =, <, >, dan yang lainnya
        R





 


Gambar 2.1 Ilustrasi operasi Selection

Gambar 2.2 Contoh Operasi Selection
2.      Projection ( π )
Operasi ini digunakan untuk menampilkan field-field  dari sebuah tabel atau relasi yang diinginkan. Sintaks untuk operasi ini adalah sebagai  berikut,
                        π <daftar atribut >  (<nama tabel>) atau π s  (E1)
            dimana s atau daftar atribut yang berisi satu atau lebih field yang ingin ditampilkan dari E1.
Sehingga jika kita ingin menghasilkan tampilan yang berisi data NIM dan Nama_mahasiswa maka query-nya  adalah sebagai berikut,
                        π <NIM,Nama_mahasiswa >  (mahasiswa)
Sebagai catatan, operasi yang dapat diprojeksikan bukan hanya dari tabel tetapi bisa juga dari suatu operasi/query.
3.      Cartesian Product ( X, juga disebut sebagai cross Product)
Operasi ini adalah operasi yang bisa digunakan untuk menggabungkan data dari dua buah tabel atau hasil query. Sintak yang digunakan adalah:
                                    E1 X E2
            Dimana semua record di E1 akan digabungkan dengan record di E2 dan hasilnya akan menampilkan semua record yang ada di E1 dan E2.
Pada umumnya operasi cartesian product ini tidak berdiri sendiri, biasanya dikombinasikan atau digabung dengan operasi select  dan  project  dengan semua ketentuannya sesuai dengan apa yang ingin ditampilkan sebagai hasil query-nya.

Gambar 2.3 Ilustrasi Operasi Cartesian Product
4.      Union(∪)
Adalah operasi yang menggabungkan semua baris dari dua buah tabel dan kedua tabel tersebut harus sesuai atau memiliki hasil projeksi yang sama.
            Dimana  akan mengasilkan tabel ketiga. Operasi Union disimbolkan sebagai berikut :
                                    T1   U   T2
Membentuk suatu relasi yang terdiri dari tupel – tupel yang berada pada salah satu relasi atau pada kedua relasi, dengan syarat:
Misalnya ada relasi R dan S, maka jumlah atribut relasi R dan S harus sama.
Domain dari atribut ke i dari R harus sama dengan domain dari atribut ke i dari S
            Simbol U(union)
                                                    R
      R                  S                                 S        






Gambar 2.4 Ilustrasi Union
Kriteria  valid R ∪ S :
1)      R, S harus mempunyai arity sama ( jumlah atributnya sama).
2)      Domain atribut harus kompatibel (misal : kolom kedua relasi r mempunyai tipe data yang sama dengan kolom kedua relasi s)
5.      Set-Difference (-)
Operasi ini merupakan kebalikan dari operasi union, dimana terjadi pengurangan data ditabel pertama oleh data dari tabel kedua. Simbol dari operasi ini adalah sebagai berikut :
                                                T1 – T2
Dapat dikatakan juga bahwa operasi adalah operasi terhadap relasi yang terdiri dari semua baris di T1, tetapi tidak ada di T2. Operasi ini juga memiliki syarat yang sama dengan operasi Union yaitu harus Union Compatible.
            Operasi Set Difference Membentuk suatu relasi yang terdiri dari tupel – tupel yang berada pada relasi pertama dan tidak berada pada relasi kedua atau kedua-duanya.
                        Simbol  :   - (minus)
                                 R  -  S
         R              S





Gambar 2.5 Ilustrasi Operasi Set Difference
6.      Rename ( ρ )
Operator ini digunakan untuk member nama pada hasil atau output query, keluaran statement selection, dan untuk melihat query pada beberapa waktu.
Operator ini dilambangkan dengan rho (ρ) penulisan umum operator ini adalah :
ρ s(B1, B2, B3,….Bn)(R )
Dimana ρ adalah operasi RENAME, S adalah nama relasi yang baru, B1,B2,B3,.. Bn adalah nama atribut(kolom) yang baru, dan R adalah relasi atau tabel yang atributnya kita pilih.
Sebagai contoh kita akan memilih KodePro dan Harga, dimana kita akan menamai ulang dengan ‘KodeBar’ dan ‘HargaBarang’ dari relasi Produk.
Dalam SQL dapat ditulis sebagai berikut :

Gambar 2.6 Data dari Tabel Produk pada program MySQL
 untuk operasi Rename
Hasilnya :


Gambar 2.7 Tabel Tampilan hasil penggunaan
 Operasi Rename
Operasi-Operasi Turunan sebagai berikut:
1.      Set Intersection ( ∩ )
Adalah operasi yang mendapatkan atau menyatakan irisan dari dua buah tabel/query. Operasi ini disimbolkan dengan menggunakan lambang sebagai berikut :
                                    T1 Ç T2
Selain simbol diatas dapat disimbolkan juga dengan bentuk set difference seperti dibawah ini :
T1 – (T1-T2)
T1 Ç T2 menghasilkan suatu relasi yang berisi instan – instan yang terjadi baik pada T1 dan T2. Relasi T1 dan T2 harus UnionCompatible.
            Set difference membentuk suatu relasi yang terdiri atas tupelo-tupel yang sama dari suatu relasi.
Simbol :  Ç

Gambar 2.8 Ilustrasi Operasi Intersection
2.      Theta Join ( X )
Theta JOIN adalah membandingkan kolom tertentu setiap tabel menggunakan operator pembanding selain operator sama dengan.
Membentuk suatu relasi dari dua relasi yang terdiri dari kombinasi yang mungkin dari relasi – relasi dengan kondisi tertentu
[Simbol   :    X]

Gambar 2.9 Ilustrasi Operasi Theta Join
3.      Natural Join (    )
Merupakan operasi yang digunakan untuk mengabungkan informasi dari dua atau lebih relasi (). Selain itu operasi join Memungkinkan kita untuk mengkombinasikan informasi dari dua tabel atau lebih.
Natural JOIN memiliki kemampuan nyata untuk mendukung basis data relasional, memungkinkan penggunaan tabel independen yang dihubungkan melalui atribut yang sama.Dimana notasi untuk join adalah sebagai berikut:
R <kondisi join> S
Kondisi join dalam bentuk:
<kondisi> AND <kondisi> AND … AND    <kondisi>
Operator pembandinganyang digunakan dalam operasi join yaitu   =,  <,  ≤,  >,   ,  
Membentuk suatu relasi dari dua relasi yang terdiri dari kombinasi yang mungkin dari relasi – relasi.
[Simbol  :    ⟗]

Gambar 2.10 Ilustrasi Natural Join
4.      Division (÷)
Division digunakan untuk mendapatkan nilai yang ada pada salah satu atribut dari relasi ‘Pembilang’ yang nilai atributnya sama dengan nilai atribut relasi ‘penyebut’. 
Simbol   :   ÷
Operator Division ini adalah operator yang paling sulit diimplementasikan di SQL karena tidak ada perintah DIVISION yang ada. Operator DIVISION akan terlihat sebagai lawan dari CARTESIAN PRODUCT; seperti dalam matematika standard, hubungan antara pembagian dan perkalian. Maka dari itu, serangkaian perintah SQL sekarang ini harus dilengkapi dengan operator DIVISION.

Gambar 2.11 Ilustrasi Operasi Division





5.     
-      Aljabar relasional merupakan bahasa formal dari Query.
-      Aljabar relasional merupakan bahasa query yang diterjemahkan dalam bentuk symbol-simbol matematis.
-      Sangat bermanfaat untuk melakukan rencana evaluasi query      bersifat procedural.
-      Aljabar relasional merupakan dasar dari SQL.

Hubungan antara Aljabar Relasional dengan SQL

SQL
-      SQL merupakan bahasa komersial dari query.
-      Bersifat user friendly bagi programmer (bersifat relasional)





Aljabar Relasional

 











Gambar 2.12 Ilustrasi Hubungan antara Aljabar Relasional
 dengan SQL
6.   Pemetaan Aljabar relasional ke dalam Query SQL                                  a. Contoh pemetaan operasi selection ke SQL :

Gambar 2.13 Tabel produk dari program MySQL
 untuk pemetaanAljabar Relasional
ke dalam Query SQL
Dengan operasi Select akan ditampilkan data dari table produk yang harganya kurang dari (<) 30000.
             Aljabar relasional : δharga<30000(produk)
Hasilnya dalam bentuk SQL:

Gambar 2.14 Hasil pemetaan ke dalam
SQL untuk operasi Select
2.      Contoh Pemetaan Operasi Projection ke SQL:              Dengan operasi Projection akan ditampilkan data dari namapro saja dari table produk.                                                                        Aljabar Relasional: πnamapro(produk)                 Hasilnya dalam bentuk SQL:

Gambar 2.15 Hasil Pemetaan ke dalam SQL
untuk Operasi Projection
b.      Contoh pemetaan  gabungan antara Operasi Select dan projection:        Dengan perintah gabungan antara operasi select dan projection akan ditampilkan data dari namapro yang harganya kurang dari (<) 30000.
Aljabar relasional: πnamapro(δharga<30000(produk))
Hasilnya dalam bentuk SQL:

Gambar 2.16 Hasil pemetaan ke dalam SQL untuk gabungan
antara Operasi Select dengan Projection
c.       Contoh pemetaan Operasi Cartesian Product                                        Dengan perintah operasi Cartesian product akan ditampilkan data dari dua table yaitu table produk dan pemesan.
Aljabar Relasional: Produk X Pemesan
Hasilnya dalam bentuk SQL:
 
Tabel 2.17 Hasil pemetaan ke dalam SQL
untuk Operasi Cartesian Product
Dan masih banyak pemetaan dari operasi-operasi Aljabar relasional lainnya yang dapat dikonversikan ke dalam query SQL yang dapat anda uji sendiri dengan berpatokan pada perumusan tiap-tiap operasi yang telah dijelaskan pada makalah ini atau pun dari sumber lainnya.






BAB III
PENUTUP
A.     Kesimpulan
Dari pembahasan makalah sebelumnya dapat ditarik kesimpulan bahwa:
1.      Aljabar Relasional adalah bagian dari ilmu computer yang mempelajari sekumpulan operasi terhadap relasi. Dimana setiap operasi menggunakan satu atau lebih operasi untuk menghasilkan satu relasi yang baru dan termasuk kategori procedural.
2.      Aljabar Relasional terdiri atas dua kategori Fungsi/Operasi yaitu:
a. Operasi Dasar : Selection, Projection, Cartesian Product,   Union, Set Difference, dan Rename.
b.Operasi Turunan : Set Intersection, Theta Join, Natural Join, dan Division.
3.      Hubungan antara Aljabar Relasional dengan SQL adalah dimana Aljabar merupakan bahasa formal dari Query, sementara SQL merupakan bahasa komersial dari Query, sehingga dapat pula dikatakan bahwa Aljabar Relasional adalah dasar dari SQL.
4.      Pemetaan Aljabar Relasional ke dalam Query SQL sangatlah mudah dengan memahami beberapa sintaks penjabaran Relasional  untuk program MySQL.
B.     Kritik
Dari pembahasan yang ada, kami masih memiliki banyak keterbatasan dan kekurangan dari berbagai segi. Beberapa hal yang mungkin menjadi sorotan yang patut untuk dikritik di bidang basis data  yaitu:
Masih banyak pekerja atau pun masyarakat biasa yang awam dengan pengolahan basis data, segelintir dari mereka belum dapat mengoperasikan beberapa program yang berkaitan dengan Pengolahan Data. Repot dalam pencatatan secara manual merupakan hal yang biasa kita temui, ini merupakan cerminan ketertinggalan di dunia modern ini. Rasa ingin tahu dan semangat belajar mulai turun dari tahun ke tahun. Parahnya lagi, semangat untuk saling membagi ilmu mulai terkendala diberbagai hal.                                                                                      
C.     Saran
Dari kritikan tadi kami dapat member saran, yaitu sebagai berikut:
1.   Kepada Ahli di bidang Pengolahan Data.
Semangat untuk selalu memperdalam ilmu tentang IT harus selalu ditingkatkan karena dunia IT tidak akan pernah berhenti dan akan selalu megikuti arus perkembangan dan peradaban umat manusia. Selain itu ketika ilmu itu telah diperoleh janganlah menjadi orang yang lupa untuk membaginya, sebagai bentuk realisasi bahwa ilmu yang kita miliki itu adalah ilmu yang bermanfaat untuk semua.
Self conguest is the greatest of victories
(Kemampuan mengendalikan diri adalah kemenangan yang sesungguhnya)
by.Plato
2.      Kepada Masyarakat.
   Semangat untuk selalu mecari tahu masalah perkembangan IT dan mempelajarinya adalah suatu kunci mempermudah pemecahan persoalan di dunia kerja atau pun dalam hal lainnya, IT bukanlah hal yang merumitkan, namun sebaliknya. Mengenal Teknologi Informasi itu menyanngkan kita dapat mengatahui banyak hal.
   Saya sarankan untuk tidak merasa malu atau pun sungkan saat ingin belajar Teknologi Informasi, ilmu dapat ditemukan dimana saja.




























DAFTAR PUSTAKA
Hariyanto,Bambang, “Sistem Manajemen Basis Data”, Informatika, Bandung:2004
Kroenken,David M., “Database Processing”, Erlangga,Jakarta:2005


3 komentar: