PERLUASAN ALJABAR RELASIONAL MEMAKAI TEORI POSIBILITAS
Model Relasional Dari sejarahnya, model data relasional relatif masih baru. Sebelum dikenal model data relasional, orang banyak memakai data dengan model bertingkat (hierarchical) maupun model data jaringan (network). Dalam perkembangan selanjutnya, justru model data relasional banyak dipakai oleh karena dua alasan utama yakni kesederhanaan implementasi model ini dan terse- dianya landasan matematis yang kuat yakni relasi. Secara umum, basis data yang memakai model data relasional akan berupa kumpulan tabel yang masing-masing diberi nama unik. Setiap tabel mempunyai struktur sebagaimana pengertian tabel dalam kehidupan sehari-hari yakni struktur yang terdiri atas beberapa baris dan kolom. Setiap baris tabel mewakili suatu entitas tertentu sementara setiap kolom menyatakan nilai atribut untuk entitas yang bersangkutan. Selanjutnya setiap atribut mempunyai domain ter- tentu yakni himpunan nilai-nilai yang boleh dijalani. Untuk tabel yang memiliki n atribut dan atribut ke-i mem punyai domain Di maka tabel tersebut akan menjadi subset dari D1 x D2 x ... x Dn.Berikut adalah contoh tabel yang bernama Karyawan yang memuat lima entitas dan masing-masing entitas memiliki 4 atribut yakni Nama, Usia, Status dan Gaji.
Tabel karyawan
Suatu tabel juga disebut sebagai relasi. Baris suatu relasi juga sering disebut rekord atau tupel.
Aljabar Relational
Untuk memperoleh informasi yang diinginkan dari suatu basis data maka orang menggu- nakan bahasa kueri (query) tertentu. Dikenal dua kelompok bahasa kueri yakni bahasa kueri formal dan bahasa kueri komersial. Bahasa kueri formal dipakai pada pembahasan teoretis pe- merolehan informasi. Bahasa ini banyak memakai lambang-lambang matematika. Sementara bahasa kueri komersial adalah bahasa kueri yang banyak dipakai dalam aplikasi. Oleh karena Nama Usia Status Gaji Rudi 45 Duda 250.000
itu biasanya bahasa kueri komersial lebih mendekati bahasa sehari-hari ketimbang bahasa kueri formal yang lebih mendekati bahasa matematika. Dari dua jenis bahasa kueri tersebut, masing-masing mempunyai cara tersendiri dalam memperoleh informasi. Bahasa kueri yang mengharuskan pemakai memerinci secara mendetail langkah-langkah pemerolehan informasi disebut sebagai bahasa yang prosedural. Sementara bahasa kueri yang tidak mengharuskan pemakai memerinci langkah-langkah pemerolehan in- formasi disebut sebagai bahasa yang non-prosedural. Bahasa kueri formal untuk basis data relasional adalah Aljabar Relasional dan Kalkulus Relasional. Aljabar Rela sional berupa bahasa yang prosedural sementara Kalkulus Relasional tergolong bahasa yang nonprosedural. Se-dangkan bahasa kueri komersial misalnya SQL (Structured Query Language) dan QBE (QueryBy Example).Dalam Aljabar Relasional, dikenal lima operasi dasar yakni Seleksi (Select), Proyeksi(Projection), Perkalian Kartesius (Cartesian Product), Gabungan (Union) dan Selisih (Difference). Beberapa buku memasukkan juga operasi Irisan (Intersection), tetapi sebagian menganggap tidak perlu karena A B = A - (A - B). Definisi operasi-operasi dasar ini adalah se- bagai berikut:
1. Seleksi ( o )
Jika diberikan suatu tabel atau relasi R maka operasi Seleksi dengan syarat terhadap relasi R akan menghasilkan tabel dengan atribut-atribut sama dengan R yang berisi tupel-tupel dari R yang memenuhi syarat . Operasi ini biasa ditulis dengan lambang o(R; ). Contoh: Operasi o(Karyawan; usia > 30) menghasilkan tupel-tupel yang memenuhi syarat bahwa atribut Usia-nya lebih dari 30, yakni
Tabel 2. o(Karyawan; usia > 30)
2. Proyeksi (Pr)
Operasi Proyeksi adalah operasi memilih satu atau lebih atribut dari suatu relasi/tabel. Operasi Proyeksi terhadap relasi R, dengan A adalah daftar atribut yang dikehendaki, biasa dilambangkan dengan Pr A (R).
Contoh: Operasi Pr Nama(Karyawan) menghasilkan tabel dengan satu atribut Nama yang berisi 5 tupel nama- nama dari tabel Karyawan, yakni
Tabel 3. Pr Nama(Karyawan)
Operasi Pr Nama(o(Karyawan; usia > 30)) menghasilkan tabel dengan satuatribut Nama dan berisi nama-nama dari tabel Karyawan yang usianya lebih dari 30, yakni Tabel 3. Pr nama(Karyawan : usia > 30 thn)
3. Perkalian Kartesius ( x ) Perkalian Kartesius dua buah tabel A dan B adalah sebuah tabel yang berisi tupel-tupel hasil pemasangan setiap tupel anggota A dengan setiap tupel anggota B. Tabel hasil perkalian ini akan berupa tabel yang atributnya merupakan gabungan dari semua atribut A dengan se- mua atribut B dan memuat tuple sebanyak n(A) x n(B), di mana n(A) dan N(B) masing-masing adalah banyak tupel tabel A dan banyak tuple tabel B. Contoh Misalnya diberikan tabel Kerja sebagai berikut
Tabel 5. Kerja
Nama Pekerjaan Endang Guru Endang Berdagang Rudi Petani
Operasi Karyawan x Kerja Menghasilkan tabel sebagai berikut.
Nama Jono Budi Endang Rudi Ahmad Nama Rudi Karyawan.Nama Usia Status Gaji Kerja.Nama Pekerjaan Jono 30 Bujang 200.000 Endang Guru Jono 30 Bujang 200.000 Endang Berdagang Jono 30 Bujang 200.000 Rudi Petani Budi 25 Kawin 400.000 Endang Guru Budi 25 Kawin 400.000 Endang Berdagang Budi 25 Kawin 400.000 Rudi Petani Endang 27 Janda 500.000 Endang Guru Endang 27 Janda 500.000 Endang Berdagang Endang 27 Janda 500.000 Rudi Petani Rudi 45 Duda 250.000 Endang Guru Rudi 45 Duda 250.000 Endang Berdagang Rudi 45 Duda 250.000 Rudi Petani Ahmad 20 Bujang 300.000 Endang Guru Ahmad 20 Bujang 300.000 Endang Berdagang Ahmad 20 Bujang 300.000 Rudi Petani
Tabel 6. Karyawn x Kerja
4. Gabungan ( ) Operasi gabungan mempunyai makna sama dengan yang didefinisikan dalam teori himpunan. Operasi gabungan dari dua relasi R dan S menghasilkan tabel yang berisi tupel-tupel baik yang berasal dari A maupun dari B dan untuk tupel yang sama cukup dimasukkan sekali. Operasi gabungan hanya dapat dilakukan jika dua relasi yang di gabung memenuhi dua syarat yakni a. Dua relasi yang digabung harus mempunyai jumlah atribut yang sama b. Atribut ke i dari kedua tabel harus mempunyai domain yang sama
5. Selisih ( - ) Selisih dua relasi R dan S (ditulis R - S) menghasilkan tabel yang berisi tupel-tupel di R yang tidak menjadi anggota relasi S.
Perluasan Aljabar Relasional 1. Seleksi
Seperti dinyatakan di atas, operasi seleksi terhadap relasi R dengan syarat dilambang- kan dengan o(R;). Syarat majemuk dibentuk dari syarat elementer dengan menggunakan operasi negasi, konjungsi dan disjungsi. Akan dibedakan dua bentuk syarat elementer yakni syarat yang berbentuk A O B di mana A dan B atribut dan syarat yang berbentuk A O a di mana A atribut dan a kontanta baik kabur maupun tegas. Dalam aljabar relasional biasa, O berupa salah satu dari =, =, >, >, <, s. Dalam perluasan operasi select ini, O akan diperluas dengan O yang mempunyai domain hasil kali Cartesius dari dua domain atribut yang dibandingkan dan mempunayi range [0,1]. Dengan kata lain O : D x D [0,1]. Dengan pendekatan ini maka pembanding yang berbentuk hampir sama ataupun jauh lebih besar dapat dibuat implemetasinya. Penggunaan distribusi posibilitas dalam menyatakan nilai suatu atribut membawa konsekuensi pemakaian ukuran posibilitas dan nesesitas untuk mengevaluasi apakah suatu tupel tertentu memenuhi syarat yang diberikan. Ukuran posibilitas dan nesesitas untuk himpunan kabur F terhadap distribusi posibilitas t masing-masing adalah H(F) = sup min (F(e), t(e)) e e O N(F) = inf max (F(e), 1 - t(e)) Dalam hal ini mengambil posisi F dan t dibentuk oleh tupel x dari relasi R Hasil dari operasi seleksi o(R;) akhirnya akan berupa dua buah himpunan yaitu tupeltupel dari R yang posibel memenuhi syarat dan himpunan tupel-tupel dari R yang nesesitasnya memenuhi syarat . Oleh karena itu, hasil operasi seleksi yang diperluas ini dapat ditulis o(R;) = (oH(R;), oN(R;)) Karena ukuran posibilitas suatu kejadian selalu lebih besar atau sama dengan ukuran nesesitasnya maka untuk setiap tupel x dari relasi R memenuhi syarat oH(R;) (x) > oN(R;) (x) Kenyataan di atas sama saja dengan oN(R;) _ oH(R;)
a. Syarat majemuk Evaluasi terhadap syarat majemuk dilakukan dengan memecah syarat menjadi beberapa syarat elementer serta menggunakan rumus-rumus berikut o(R;) = ((oN(R;))c, (oH(R;))c) (13) o(R;1 v 2) = ((oH(R;1) oH(R;2)),( oN(R;1) oN(R;2))) o(R;1 . 2) = ((oH(R;1) oH(R;2)), (oN(R;1) oN(R;2))) Operasi komplemen didefinisikan dalam konteks himpunan kabur, yakni 1 nilai fungsi keanggotaannya, demikian pula operasi gabungan dan irisan didefinisikan memakai operator
b. max dan min. Rumus (13) merupakan akibat langsung dari N(F) = 1 - H (F)Syarat elementer berbentuk satu atribut dan satu konstantaPerhatikan syarat elementer berbentuk A O a di mana A suatu atribut, O pembandingyang dinyatakan dengan fungsi keanggotaan O dan a konstanta yang dinyatakan juga denganO. Contoh dari syarat bentuk ini misalnya usianya muda dalam kueri Carilah pegawai yangusianya muda.Posibilitas bahwa nilai atribut A untuk obyek x menjadi anggota himpunan elemen-elemenyang memenuhi relasi O dengan minimal satu anggota a diberikan oleh rumusH(a O | A(x) ) = sup min ( a O (d), t A(x) (d)) d e Ddengan a O (d) = sup min( O (d,d), a (d))di mana D adalah domain atribut A, O adalah fungsi keanggotaan dengan domain D x D dantA(x) adalah distribusi posibilitas yang membatasi nilai- nilai posibilitas atribut A untuk obyek x dengan syarat tambahan bahwa t A(x) (e) = 0. A1 A2 A3 u1 U2 u3 v1 V2 v3 w1 W2 w3
Ukuran nesesitas untuk kejadian yang sama diberikan oleh rumus N(a O | A(x)) = inf max ( a O (d), 1 - t A(x) (d)) ( d e D Perhatikan bahwa lambang | bukan untuk menyatakan kejadian bersyarat seperti dalam teori probabilitas melainkan hanya sebagai pemisah antara kueri dan obyek yang dikenai kueri
c. Syarat elementer dengan dua atribut Perhatikan syarat elementer yang berebentuk A O B di mana A dan B adalah dua atribut yang berbeda tetapi mempunyai domain yang sama, dan O adalah pembanding baik kabur maupun tidak yang mempunyai fungsi keanggotaan O. Contoh dari operasi select yang memakai syarat bentuk ini misalnya Carilah siswa-siswa yang mempunyai nilai matematika hampir sama dengan nilai fisikanya.Posibilitas bahwa nilai atribut A untuk obyek x berelasi O dengan nilai atribut B untukobyek yang sama x diberikan oleh rumusH(O|(A(x),B(x))) = sup min( O (d,d), t (A(x),B(x)) (d,d)) d,d) e DxD di mana t (A(x),B(x)) distribusi posibilitas yang membatasi nilai (A,B) untuk x. Jika atribut A dan Btak interaktif maka t(A(x),B(x)) dapat dipecah menjadi(d,d) e D x D, t(A(x),B(x)) (d,d) = min(t A(x) (d),tB(x) (d)) sehingga rumus menjadiH(O|(A(x),B(x))) = sup min( O (d,d), t A(x) (d),t B(x) (d)) (d,d) e DxDNesesitas bahwa nilai atribut A untuk x berelasi O dengan nilai atribut B untuk obyek xdiberikan dengan rumus N(O|(A(x),B(x))) = inf max( O (d,d),1 -t(A(x),B(x)) (d,d)) (d,d) e DxDApabila atribut A dan B tidak berinteraksi maka rumus di atas menjadiN(O|(A(x),B(x))) = sup min( O (d,d), 1- t A(x) (d), 1 - t B(x) (d)) (27)(d,d) e DxDH(O|(A(x),B(x))) dan N(O|(A(x),B(x))) masing -masing menentukan derajat keanggotaan obyek xterhadap himpunan tupel-tupel yang memenuhi sayart A O B, dengan kata lain oH(R;AOB) (x) =H(O|(A(x),B(x))) oN(R;AOB) (x) =N(O|(A(x),B(x))).
d. Perkalian Kartesius dan Proyeksi Karena relasi yang dibahas di sini pada prinsipnya sama dengan relasi dalam ajabar relasional biasa maka tidak ada perbedaan apapun antara perkalian Kartesius dalam ajabar relasional biasa dan aljabar relasional yang diperluas. Andaikan diberikan dua buah tabel R dan S di mana R memiliki atribut A1, A2, A3 dan S memiliki atribut A3, A4 maka perkalian Kartesius yang dikenai operasi seleksi dengan syarat bahwa nilai atribut A3 di R harus sama dengan nilai nilai atribut A3 di S disebut operasi natural joint (join alami).
Dalam basis data yang hanya memuat informasi yang tegas dan pembanding yang tegas maka natural joint pada dasarnya adalah operasi seleksi yang dikenakan terhadap perkalian Kartesius dan memakai syarat kesamaan nilai atribut yang sama dari dua tabel yang terlibat dalam operasi perkalian Kartesius. Dalam contoh di atas maka operasi natural joint sama saja dengan o(R x S ; A3 (R) = A3 (S) ).Operasi natural joint dapat diperluas dengan cara memperluas kesamaan nilai atribut yangsama dengan kesamaan dalam konteks posibilitas dan nesesitasnya. Dengan demikian jika A3baik dari R maupun S memuat informasi kabur makao(R x S ; A3 (R) = A3 (S) ) = ( oH(R x S ; A3 (R) = A3 (S) ), oN(R x S ; A3 (R) = A3 (S))) Secara eksplisit hasil operasi di atas akan berupa tabel seperti berikut
Jika selanjutnya tabel di atas kita kenai operasi proyeksi untuk atribut tertentu, katakanlah A1 maka hasilnya akan berupa tabel berikut Tabel 11. Pr A1o(R x S ; A3 (R) = A3(S))
Perhatikan bahwa sangat mungkin terdapat beberapa nilai atribut yang sama tetapi mempunyai nilai posibilitas positif yang berbeda-beda, oleh karena itu selalu dipilih tupel yang mempunyai nilai posibilitas maksimum.Untuk memperjelas konsep ini misalnya A1,A2,A3 dan A4 masing-masing menyatakanNama, Tinggi_badan, Usia dan Gaji. Seandainya kita ingin memperoleh informasi siapa sajayang mempunyai gaji lumayan maka operasinya menjadiPr Nama ( (R x S; Usia (R) = Usia (S) Gaji = Lumayan))
e. Gabungan dan Irisan Operasi gabungan dan irisan dua buah tabel dapat dilakukan jika kedua tabel tersebut mempunyai jumlah atribut yang sama dan atribut ke i tabel pertama mempunyai domain yang sama dengan atribut ke i dari tabel kedua. (Operasi selisih tidak dibahas karena A - c sehingga operator min dapat langsung diterapkan). Gabungan dan irisan dua tabel didefinisikan dengan cara yang sama sebagaimana dalam teori himpunan. Persoalannya adalah bahwa dalam operasi gabungan maka dua buah tupel yang sama harus cukup ditulis salah satu dan dalam operasi irisan hasil irisan memuat tupel yang berada baik di tabel pertama maupun kedua. Perluasan operasi gabungan dan irisan tentu tak dapat dibentuk dengan memberikan syarat kesamaan persis dua buah tupel untuk mengeluarkan dari tupel dari kelebihan tupel dalam operasi gabungan dan untuk menyeleksi tupel dalam operasi irisan. Untuk itu dapat saja dibentuk fungsi kesamaan approximate yang membandingkan dua distribusi posibilitasnya yakni - D D adalah sebarang batas yang bergantung kepada domain D.
Kesimpulan Telah diuraikan bahwa teori posibilitas tidak hanya dapat dipakai untuk menyajikan data baik yang tegas, maupun yang kabur, tidak lengkap ataupun tidak pasti dalam basis data model relasional, tetapi juga memberikan kemungkinan dilakukannya perluasan operasi-operasi dalam Aljabar Relasional