• Tidak ada hasil yang ditemukan

3.1. Sejarah Singkat Model Relasional - BAB 3 MODEL RELASI

N/A
N/A
Protected

Academic year: 2019

Membagikan "3.1. Sejarah Singkat Model Relasional - BAB 3 MODEL RELASI"

Copied!
12
0
0

Teks penuh

(1)

MODEL RELASIONAL

permintaan informasi dari pemakai; yakni aljabar relasional sebagai bentuk dasar

dari bahasa queri Structured Query Language (SQL), kalkulus relasional tupel

dan kalkulus relasional domain. Bahasa queri komersial, yakni SQL akan dijelaskan dalam bab berikutnya.

3.1. Sejarah Singkat Model Relasional

Model relasional pertama kali diperkenalkan oleh E.F. Codd pada tahun 1970. Objektifitas dari model relasional ini adalah konsep kemandirian data, relasi yang normal tanpa adanya kelompok pengulangan serta perluasan dari bahasa manipulasi data yang berorientasi pada himpunan data.

Prototype sistem manajemen basis data relasional, dengan nama System R, dibuat oleh IBM’s San Jose Research Laboratory di California pada tahun 1970-an. Kemudian mulai dikembangkan bahasa queri terstruktur yang

diberi nama Structured Query Language (SQL) dan dinyatakan sebagai standar

bahasa relasional. Selama tahun 1980-an bermunculan produk-produk sistem manajemen basis data relasional yang komersial; contohnya DB2 dan SQL/DS dari IBM serta ORACLE dari ORACLE Corporation.

Pada waktu bersamaan, dikembangkan prototype INGRES (Interactive

Graphics Retrieval System) dimana fokusnya hampir sama dengan System R di California University, Berkeley. Produk komersial dari INGRES dikeluarkan oleh

Relational Technology Inc. serta Intelligence Database Machine dari Britton Lee

Inc.

(2)

3.2. Konsep Dasar

Model relasional merupakan model yang merepresentasikan data dalam basis data sebagai kumpulan tabel-tabel dimana setiap tabel dinyatakan dengan nama yang unik. Setiap baris pada tabel merepresentasikan keterhubungan diantara sekumpulan nilai-nilai. Itu berarti sebuah tabel merupakan kumpulan dari keterhubungan-keterhubungan ini. Hal ini menunjukkan hubungan yang dekat antara konsep tabel dan konsep relasi pada matematika. Untuk itulah model relasional menggunakan istilah relasi. Pada kenyataannya, sistem manajemen basis data relasional menyimpan relasi-relasinya secara fisik pada sebuah file. Keterkaitan antara ketiga istilah ini ditunjukkan pada tabel 3.1.

Tabel 3.1. Terminologi istilah model relasional

Formal Istilah Alternatif 1 Istilah alternatif 2

Relasi Tabel File

Tupel Baris Record

Atribut Kolom Field

Pada gambar 3.1 diilustrasikan contoh mengenai relasi divisi dan relasi pegawai yang terdapat pada database relasional mengenai suatu perusahaan X.

3.2.1. Terminologi

Pada bagian ini akan dijelaskan terminologi dari model relasional menggunakan prinsip-prinsip teori himpunan dan logika predikat, antara lain :

1. Relation (Relasi) merupakan sebuah tabel dengan kolom-kolom dan baris-baris. Pada model relasional, relasi digunakan untuk menyimpan informasi mengenai objek-objek yang direpresentasikan dalam sebuah basis data. Relasi ini digambarkan dalam bentuk tabel dua dimensi. Contohnya mengenai informasi pegawai-pegawai yang bekerja di perusahaan X direpresentasikan pada relasi PEGAWAI yang mengandung informasi nomor induk pegawai, nama, alamat, gaji dan kode divisi tempat pegawai bekerja.

(3)

Atribut

80100 Muhammad Ali Jl. Depok 1 No.2 1.000.000 Div02 80123 Sasanti Jl. Akses No.4 1.500.000 Div04 80140 Budiman Jl. Kenanga No.10 2.000.000 Div01 80150 Jaharudin Jl. Gambir No.34 2.000.000 Div02 81000 Nurhayati Jl. Margonda No.12 1.750.000 Div03 81210 Amir Rusli Jl. Teratai No.3 1.500.000 Div03

Kardinalitas relasi derajat relasi

Gambar 3.1. Relasi PEGAWAI dan DIVISI

3. Attribute (Atribut) merupakan kolom dari suatu relasi yang mempunyai nama. Atribut-atribut pada suatu relasi tidak harus tersusun secara khusus. Contohnya, pada relasi PEGAWAI mempunyai lima kolom untuk atribut-atribut NIP#, Nama, Alamat, Gaji dan KodeDiv.

4. Tuple (Tupel) merupakan suatu baris dari suatu relasi. Pada relasi PEGAWAI, setiap tupel mempunyai 5 nilai, masing-masing untuk setiap atribut NIP#, Nama, Alamat, Gaji dan KodeDiv.

5. Domain (Domain) merupakan kumpulan nilai-nilai data yang mungkin untuk suatu atribut dan bersifat atomik. Contoh : domain dari atribut KodeDiv adalah {Div01, Div02, Div03, Div04}

(4)

Relasi dengan satu atribut disebut derajat unary, dua atribut disebut binary, tiga atribut disebut ternary, selanjutnya disebut n-ary.

7. Cardinality of relation (Kardinalitas dari suatu relasi) adalah banyaknya tuple pada suatu relasi. Kardinalitas dari relasi ini dapat berubah-ubah sesuai dengan perubahan yang terjadi pada relasi.

8. Relational database (Database relasional) merupakan sekumpulan relasi

yang sudah dalam bentuk normal.

3.2.2. Karakteristik Relasi

Suatu relasi mempunyai karakteristik-karakteristik sebagai berikut:

1. Setiap relasi mempunyai nama yang harus berbeda dengan relasi lainnya.

2. Setiap sel dari relasi mempunyai hanya satu nilai atau atomik.

3. Setiap atribut mempunyai nama yang berbeda.

4. Nilai atribut bersifat atomik dan berasal dari domain yang sama.

5. Atribut-atribut tidak harus tersusun secara khusus. 6. Setiap tupel berbeda dan tidak ada tupel yang rangkap. 7. Tupel tidak harus tersusun secara khusus. (secara teroritis)

3.2.3. Kunci Relasi

Setiap tupel pada suatu relasi harus dapat diidentifikasi secara unik dengan menggunakan nilai-nilai dari atribut-atribut relasi tersebut. Berikut ini akan dijelaskan terminologi yang digunakan pada kunci relasi :

1. Super key (Kunci super)

Kunci super merupakan suatu atribut atau sekumpulan atribut yang secara unik dapat mengidentifikasikan suatu tupel pada suatu relasi. Contoh : {NIP}, {NIP, Nama}.

2. Candidate key (Kunci kandidat)

Kunci kandidata merupakan suatu kunci super yang mempunyai sifat

- unik, dapat mengidentifikasikan secara unik suatu tupel pada suatu

relasi

- tidak terdapat subset nilai (jika gabungan) yang merupakan suatu

kunci super.

Contoh : NIP, Nama

3. Primary key (Kunci utama)

(5)

4. Alternate key (Kunci alternatif)

Kunci alternatif merupakan kunci kandidat yang tidak terpilih sebagai kunci utama. Contoh : Nama.

5. Composite key (Kunci komposit)

Kunci komposit merupakan kunci yang terdiri atas lebih dari satu atribut. Contoh : NIP+Nama

6. Foreign key (Kunci asing)

Kunci asing merupakan atribut pada suatu relasi yang merupakan kunci utama pada relasi yang lain. Contoh : KodeDiv pada relasi PEGAWAI yang merupakan kunci utama pada relasi DIVISI.

3.3. Aturan Keintegritasan

Untuk menjamin keakuratan data, ditetapkan beberapa aturan keintegritasan data, yakni :

1. Entity integrity

Kunci utama tidak boleh bernilai null. Null artinya kosong, tidak ada nilai atau nilai tidak sesuai dengan domain atributnya. Contohnya, atribut NIP# sebagai kunci utama pada relasi tidak boleh kosong, karena akan menyebabkan masalah keintegritasan data.

2. Referential integrity

Kunci asing harus mempunyai nilai data yang sesuai atau cocok dengan nilai pada referensinya. Contohnya, nilai atribut KodeDiv sebagai kunci asing pada relasi PEGAWAI harus mempunyai nilai dan tidak boleh null sesuai dengan referansinya yakni atribut KodeDiv pada relasi DIVISI.

3.4. Bahasa Queri

menggunakan simbol-simbol matematika. Bahasa queri formal ini dapat dibedakan atas dua jenis, yakni :

a. terprosedur,

(6)

Contoh : Aljabar relasional

b. tanpa prosedur

Bahasa queri formal yang tanpa prosedur artinya pemakai hanya menentukan data apa yang dibutuhkan tanpa perlu menjabarkan bagaimana memperoleh data tersebut

Contoh : Kalkulus relasional tuple dan domain

2. Bahasa queri komersial

Bahasa queri yang dirancang menjadi program aplikasi agar pemakai mudah menggunakannya.

Contoh :

a. Structures Query Language (SQL)

Kombinasi aljabar dan kalkulus relasional Contoh :

Select * from PEGAWAI where KodeDiv=’Div02’;

b. Query Language (QUEL)

PEGAWAI NIP NAMA ALAMAT GAJI KODEDIV

P. Div02

3.4.1. Aljabar Relasional

(7)

3.4.1.1. SELECT

Operasi SELECT ditujukan untuk memperoleh tupel-tupel dari suatu relasi

yang memenuhi predikat tertentu. Simbol yang digunakan :  (sigma).

Bentuk :

 predikat (R)

Keterangan :

 R = relasi

 Predikat pada operasi SELECT melibatkan :

 operand : konstanta/bilangan

 operator aritmatika : , , , , , 

 operator logika :  (and), (or), (not)

Contoh queri : dicari informasi mengenai pegawai yang bekerja di divisi Div02. (Berdasarkan relasi pegawai pada divisi.)

KodeDiv=’Div02’ (PEGAWAI)

Hasil :

3.4.1.2. PROJECT

Operasi PROJECT ditujukan untuk memperoleh atribut-atribut atau kolom-kolom tertentu dari suatu relasi serta membuang nilai yang sama. Simbol yang

digunakan : (pi).

Bentuk :

 kolom1, kolom2, ..., kolomn (R)

Contoh queri : tampilkan nama dan alamat pegawai

 Nama,Alamat (PEGAWAI)

Hasil :

(8)

Muhammad Ali Jl. Depok 1 No.2

Membentuk suatu relasi dari dua relasi, misalkan R dan S, yang terdiri dari kombinasi untuk setiap tupel pada R dengan semua tupel pada S. Simbol

operasi adalah :  (cros)

Bentuk :

R x S

Contoh queri : tampilkan kombinasi pegawai dan divisi tempat pegawai bekerja.

PEGAWAI  DIVISI

3.4.1.4. UNION

Membentuk suatu relasi yang terdiri dari tupel-tupel yang berada pada salah satu relasi atau pada kedua relasi, dengan syarat :

- misalkan 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

pada S.

Operasi ini untuk membentuk suatu relasi yang terdiri dari tupel-tupel yang berada pada relasi pertama dan tidak berada pada relasi kedua atau kedua-duanya.

(9)

PEGAWAI-A  PEGAWAI-B

3.4.1.6. NATURAL JOIN

Membentuk suatu relasi dari dua relasi yang terdiri dari kombinasi yang

mungkin dari relasi-relasi tersebut. Simbol : X

Ilustrasi :

R S R X S

a 1 1 x a 1 x

b 2 1 y a 1 y

3 z

Contoh queri : dicari nama divisi dimana pegawai dengan NIP 80100 bekerja.

 NamaDiv ( NIP=’80100’ ’ (PEGAWAI X DIVISI))

Hasil :

Pemasaran

3.4.1.7. INTERSECTION

Operasi ini ditujukan untuk memperoleh tupel-tupel yang berada pada

kedua relasi R dan S. Simbol = .

Contoh : R  S

3.4.2. Kalkulus Relasional

(10)

sedangkan yang kedua adalah kalkulus relasional domain yang diusulkan Lacroix dan Pirotte.

3.4.2.1. Kalkulus Relasional Tupel

Kalkulus relasional tupel lebih berorientasi pada tupel dimana operasi ini ditujukan untuk memperoleh tupel-tupel yang predikatnya ‘benar’.

Ekspresi : { t  P(t) }

t : tupel, P : predikat terhadap t

Bentuk-bentuk dari predikat :

1. S  R ; dimana S : variabel, R : relasi

2. S[x]  U[y] ; dimana S dan U : variabel tupel , x dan y : atribut-atribut

 : operator aritmatika

3. S[x]  C ; C : konstanta

Operator tambahan : operator penghubung yakni  (and), (or)

Contoh queri : diketahui skema relasi DOSEN (Nip, Nama, Alamat, Kota, Jkel). Dicari informasi mengenai dosen yang berada di kota Bogor.

{ t  DOSEN  t[Kota] = ‘Bogor’ }

3.4.2.2. Kalkulus Relasional Domain

Berbeda dengan kalkulus relasional tupel, kalkulus relasional domain berorientasi pada domain dengan menggunakan variabel-variabel domain.

Ekspresi : { <x1, x2, xn>  P <x1, x2, xn> }

Dimana xi : variabel domain, sedangkan

P : predikat terhadap x.

Bentuk-bentuk dari predikat:

1. <x1, x2, xn>  R ; R : relasi 2. x  y

3. x  C

Contoh queri : diketahui skema relasi DOSEN (Nip, Nama, Alamat, Kota, Jkel). Dicari informasi mengenai dosen yang mempunyai NIP 87000650.

(11)

QBE Pertama kali dikembangkan oleh Zloof pada tahun 1975. Untuk mengekspresikan permintaan dari pemakai dilakukan dengan memasukkan nilai contoh ke dalam template queri yang menyerupai sebuah tabel. Operator perintah antara lain : P. (Print), D. (Delete), I. (Insert), U. (Update). Operator aritmatika : , , , , , 

Contoh : diketahui skema relasi PEGAWAI (NIP,Nama,Alamat,Gaji,Kddiv)

a. Ingin ditampilkan informasi pegawai dengan Nip 102871.

PEGAWAI NIP NAMA ALAMAT GAJI KODEDIV

P. 102871

b. Ingin ditampilkan nama dan alamat pegawai yang mempunyai gaji lebih

besar dari

500.000,-PEGAWAI NIP NAMA ALAMAT GAJI KODEDIV

P. P. >500000

3.4.4. Query Language (QUEL)

QUEL merupakan bahasa pendefinisian dan manipulasi data untuk

INGRES (Ineractive Graphics and Retrieval System), dikembangkan sejak tahun

1970-an.

Perintah-perintah pada Quel : 1. Pendefinisian data antara lain :

CREATE, INDEX, MODIFY, DESTROY 2. Manipulasi data antara lain :

(12)

Sintaks RETRIEVE :

- RETRIEVE [ UNIQUE] tabel.kolom

WHERE [fungsi/ANY] kondisi SORT BY kolom;

- RANGE OF inisial/huruf IS (nama tabel);

Contoh queri :

1. Ingin dibuat inisial dari tabel PEGAWAI dan DIVISI

RANGE OF P IS PEGAWAI, D IS DIVISI;

2. Ingin ditampilkan nama dan alamat pegawai yang gajinya lebih besar dari

Gambar

Gambar 3.1. Relasi PEGAWAI dan DIVISI

Referensi

Dokumen terkait

1. Upaya yang dilakukan oleh Guru Bimbingan dan Konseling pada Sis wa yang Melanggar Peraturan Sekolah Pada SMK Muhmmadiyah 3 Banjarmasin. Berdasarkan hasil

Hubungan yang signifikan ini dapat diartikan bahwa hardiness dengan ketakutan akan kesuksesan (Fear of Success) pada pegawai wanita Rumah Sakit Umum Daerah (RSUD)

Pada pertemuan ketiga pada langkah ini sama halnya dengan pertemuan kedua setelah guru membagikan LKS kemudian guru memberikan penjelasan tentang materi program

Hasil belajar siswa pada setiap pertemuan dilihat dari nilai post tes yang diberikan pada akhir kegiatan pembelajaran. Data hasil post tes siswa setiap

Hal tersebut dapat dilihat dari nilai rata- rata yang diperoleh masing-masing kelompok siswa yang dikenai perlakuan pada setiap pertemuan dan dari nilai rata-rata tes akhir

Berdasarkan hasil uji t pada tabel 4.11 di atas diperoleh hasil bahwa untuk variabel LK mempunyai nilai probabilitas dibawah 0,05 yaitu sebesar 0,046, berarti P &lt;

Hubungan yang signifikan ini dapat diartikan bahwa internalisasi nilai-nilai ulul al-bab dengan regulasi diri pada mahasiswa psikologi semester II mempunyai korelasi

siswa di MAN Mojosari dibandingkan dengan tanpa musik dengan nilai P (0,000) &lt; α(0,05) yang ditunjukkan pada tabel 9 pada kolom kelompok. Sehingga