Tampilkan postingan dengan label Konsep Basis Data. Tampilkan semua postingan
Tampilkan postingan dengan label Konsep Basis Data. Tampilkan semua postingan

Sabtu, 19 Juli 2008

Model Entity Relationship (model keterhubungan entitas)


Pada model ini, semesta data atau data sebenarnya diterjemahkan/ditransformasikan dengan memanfaatkan perangkat konseptual menjadi sebuah diagram data, yang umumnya disebut sebagai diagram entity relationship (diagram E-R) (Fathansyah, 1990). Sesuai dengan namanya, ada dua komponen utama pembentuk E-R ini, yaitu entitas dan relasi. Kedua komponen ini dideskripsikan lebih jauh melalui sejumlah atribut atau properti.

Notasi-notasi simbolik di dalam diagram E-R yang digunakan adalah:

1. Persegi panjang menyatakan entitas

2. Lingkaran/elips menyatakan atribut (atribut yang berfungsi sebagai key digaris bawahi).

3. Belah ketupat menyatakan himpunan relasi

4. Garis sebagai penghubung antara himpunan relasi

5. Kardinalitas relasi dapat dinyatakan dengan banyaknya garis atau pemakaian angka (1 dan 1 untuk relasi satu ke satu, 1 dan N untuk relasi satu ke banyak, N dan N untuk relasi banyak ke banyak).

Obyektif atau tujuan utama dari pembuatan diagram E-R adalah untuk menunjukkan obyek-obyek (himpunan entitas) apa saja yang ingin dilibatkan dalam sebuah basis data dan bagaimana hubungan yang terjadi diantara obyek-obyek tersebut. Penggambaran atribut-atribut dalam sebuah diagram E-R seringkali malah mengganggu tujuan yang ingin dicapai. Solusinya adalah dengan penggambaran diagram E-R dengan menggunakan kamus data. Kamus data berisi daftar atribut yang diapit kurung kurawal {}. Atribut yang berfungsi sebagai key juga dibedakan dengan bukan key dengan menggaris bawahi atribut tersebut.

Selain entitas dan atribut yang telah dijelaskan diatas, ada istilah-istilah dalam model E-R ini yaitu :

1. Relasi

Relasi menunjukkan adanya hubungan antara sejumlah entitas. Misalnya sebuah entitas seorang mahasiswa dengan NIM = ‘1357’ dan nama_mhs = ‘Andi Aziz’ mempunyai relasi dengan sebuah entitas mata kuliah dengan kode_kul = ’MMS4072’ dan nama_kul=’Basis data’. Relasi di antaran kedua entitas tadi mengandung arti bahwa mahasiswa tersebut sedang mengambil/mempelajari mata kuliah tersebut.

2. Kardinalitas/ derajad relasi

Kardinalitas relasi menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas lain. Kardinalitas relasi diantara dua entitas dapat berupa :

a. Satu ke Satu (One to One)

Relasi ini berarti setiap entitas pada himpunan entitas A berhubungan dengan paling banyak satu entitas pada himpunan entitas B, begitu pula sebaliknya, setiap entitas pada himpunan entitas B berhubungan paling banyak satu entitas pada himpunan entitas A.

b. Satu ke Banyak (One to Many)

Relasi ini berarti setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, tetapi tidak sebaliknya, dimana setiap entitas pada himpuan entitas B berhubungan dengan paling banyak satu entitas pada himpunan entitas A.

c. Banyak ke Satu (Many to One)

Relasi ini berarti setiap entitas pada himpunan entitas A dapat berhubungan dengan paling banyak satu entitas pada himpunan entitas B, tetapi tidak sebaliknya, dimana setiap entitas pada himpuan entitas B berhubungan dengan banyak entitas pada himpunan entitas A.

d. Banyak ke Banyak (Many to Many)

Relasi ini berarti setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, demikian juga sebaliknya, dimana setiap entitas pada himpunan entitas B dapat berhubungan dengan banyak entitas pada himpunan entitas A.

Normalisasi


Proses normalisasi merupakan proses pengelompokan data elemen menjadi tabel-tabel yang menunjukkan entity dan relasinya (Harianto Kristanto, 1994). Pada proses normalisasi selalu diuji pada beberapa kondisi, apakah ada kesulitan pada saat menambah/insert, menghapus/delete, mengubah/update pada suatu database. Bila ada kesulitan dalam pengujian itu, maka relasi tersebut dipecahkan pada beberapa tabel lagi atau dengan kata lain perancangan belumlah mendapati database yang optimal.

Beberapa istilah yang harus diketahui:

1. Entitas dan himpunan entitas

Entitas adalah individu yang mewakili sesuatu yang nyata dan dapat dibedakan dari sesuatu yang lain. Entitas menunjuk pada individu suatu obyek. Entitas karyawan, entitas dokter adalah contohnya. Sekelompok entitas yang sejenis membentuk sebuah himpunan entitas (entity set).

2. Field / Atribut

Field atau atribut adalah deskripsi karakteristik (properti) dari entitas tersebut. Pemilihan atribut-atribut yang relevan bagi sebuah entitas merupakan hal penting lainnya dalam pembentukan model data. Contoh atribut adalah misalnya atribut nomor induk karyawan, nama karyawan pada entitas karyawan.

3. Hubungan/ relasi

Hubungan adalah asosiasi atau kaitan antara dua entitas. Misalnya antara Mahasiswa dan mata_kuliah. Relasi ini nantinya direpresentasikan dalam bentuk kunci-kunci.

4. Candidate Key (kunci kandidat/kuni calon)

Kunci kandidat adalah satu atribut atau satu set minimal atribut yang mengidentifikasikan secara unik suatu kejadian spesifik dari entitas

5. Primary Key (kunci primer)

Primary key adalah satu atribut atau satu set minimal atribut yang mengidentifikasikan secara unik suatu kejadian. Setiap kunci kandidat punya peluang menjadi primary key, tetapi sebaiknya dipilih satu saja yang dapat mewakili secara menyeluruh terhadap entitas yang ada.

6. Domain

Domain adalah himpunan nilai yang berlaku bagi suatu atribut. Domain mendefinisikan nama, tipe, format, panjang dan nilai masing-masing item data.

7. Integritas referensial

Integritas referensial adalah aturan-aturan yang mengatur hubungan antara kunci primer dengan kunci tamu milik tabel-tabel yang berada dalam basis data relasional untuk menjaga konsistensi data.

8. Alternate Key (kunci alternatif)

Kunci alternatif adalah kunci kandidat yang tidak dapat dipakai sebagai kunci primer.

9. Foreign Key (kunci tamu)

Kunci tamu adalah satu atribut (satu set atribut) yang melengkapi satu relationship (hubungan) yang menunjukkan induknya. Kunci tamu ditempatkan pada entitas anak dan sama dengan kunci primary induk direlasikan. Hubungan antara entitas induk dengan anak adalah hubungan satu lawan banyak (one to many relationship).

10. Atribut harus bernilai (mandatory attribute) dan nilai Null

Atribut harus bernilai ini maksudnya adalah sejumlah atribut pada sebuah tabel yang ditetapkan harus berisi data. Nilai konstanta (Null) digunakan untuk mengisi atau menyatakan atribut-atribut yang nilainya memenag belum siap atau tidak ada.

11. Atribut turunan (derived atribut)

Derived atrbut adalah atribut yang nilai-nilainya diperoleh dari pengolahan atau dapat diturunkan dari atribut atau tabel lain yang berhubungan. Atribut demikian sebetulnya dapat ditiadakan dari sebuah tabel, karena nilai-nilainya bergantung pada nilai dari atribut lainnya.

12. Kebergantungan Fungsi (functional dependencies)

Definisi dari functional dependencies adalah : diberikan sebuah relasi R, atribut Y dari R adalah bergantung fungsi pada atribut X dari R jika dan hanya jika setiap nilai X dalam R punya hubungan dengan tepat satu nilai Y dalam R.

13. Dependensi fungsional sepenuhnya adalah sebagai berikut

Definisi dependensi fungsional sepenuhnya adalah sebagai berikut : Diberikan sebuah relasi R, atribut Y dari R adalah bergantung fungsi penuh pada atribut X dari R juika dan hanya jika atribut Y mempunyai dependensi fungsional terhadap atribut X dan tidak mempunyai dependensi terhadap bagian dari X.

14. Kebergantungan transitif (transitif dependencies)

Definisi dari transitif dependencies adalah : Diberikan sebuah relasi R, atribut Z dari R adalah bergantung transitif pada atribut X dari R jika dan hanya jika Y mempunyai dependensi fungsional terhadap X dan Z mempunyai dependnsi fungsional terhadap Y.

Bentuk-bentuk Normalisasi

Pada proses normalisasi ini perlu dikenal dahulu definisi dari tahap normalisasi (Harianto Kristanto, 1994):

1. Bentuk tidak normal (unnormalized form)

Bentuk ini merupakan kumpulan data yang akan direkam, tidak ada keharusan mengikuti suatu format tertentu, dapat saja data tidak lengkap atau terduplikasi. Data dikumpulkan apa adanya sesuai dengan kedatangannya.

2. Bentuk normal kesatu (1NF/first normal form)

Bentuk normal kesatu mempunyai ciri yaitu setiap data dibentuk dalam file data (flat file), data dibentuk dalam satu record. Tidak ada set atribut yang berulang-ulang atau atribut bernilai ganda.

3. Bentuk normal kedua (2NF/second normal form).

Bentuk normal kedua mempunyai syarat yaitu bentuk data telah menjadi bentuk normal pertama. Atribut bukan kunci haruslah bergantung fungsi secara penuh kepada kunci primer, bukan bergantung hanya sebagian kunci primer saja, sehingga untuk membentuk normal kedua haruslah sudah ditentukan kunci-kunci field. Kunci field haruslah unik dan dapat mewakili atribut yang lain yang menjadi anggotanya.

4. Bentuk normal ketiga (3NF/third normal form)

Untuk menjadi bentuk normal ketiga, maka relasi haruslah dalam bentuk normal kedua dan semua atribut tidak mempunyai ketergantungan transitif terhadap kunci primer.

Basis Data Relasional


Upaya melakukan perancangan konseptual yang baik bisa melalui beberapa pendekatan, salah satunya adalah melalui pendekatan relasional. Data dalam model relasional digambarkan dalam sebuah tabel. Setiap tabel selalu terdiri dari lajur mendatar yang disebut baris (row/record) dan lajur mendatar vertikal yang disebut kolom (column/field) (Fathansyah, 1990). Di setiap pertemuan baris data dan kolom itulah item-item data (satuan data terkecil) ditempatkan.

Dalam kehidupan sehari-hari, tabel merupakan bentuk alamiah dalam menyatakan fakta data yang sering kita gunakan. Pada model ini setiap tabel akan dihubungkan atau direlasikan melalui kunci-kunci yang sama diantara beberapa tabel. Ada dua teknik dalam perancangan konseptual dengan menggunakan model data relasional ini yaitu:

1. Teknik Normalisasi

2. Teknik Entity Relationship

Abstraksi Data


Kegunaan utama sistem database adalah agar pemakai dapat menyusun suatu pandangan abstraksi data. Bayangan mengenai data tidak lagi memperhatikan kondisi sesungguhnya bagaimana satu data masuk ke dalam database, disimpan dalam disk di sektor mana, tetapi menyangkut secara menyeluruh bagaimana data diabstraksikan atau digambarkan menyerupai kondisi sesungguhnya yang dihadapi oleh pemakai sehari-hari.

Sistem sesungguhnya tentang teknis bagaimana data disimpan dan dipelihara seakan-akan disembunyikan kerumitannya dan kemudian diungkapkan dalam bahasa gambar yang mudah dimengerti orang awam (Harianto Kristanto, 1994). Pemakai dapat dikelompokkan menjadi tiga tingkatan abstraksi saat memandang database yaitu:

1. Level Phisik

Level abstraksi paling rendah, menggambar bagaimana data disimpan dalam kondisi sebenarnya. Level ini tentu paling kompleks, struktur data terendah digambarkan dalam level ini.

2. Level Konseptual

Level ini merupakan level abstraksi data yang lebih tinggi yang menggambarkan data apa yang disimpan dalam database dan hubungannya yang terjadi antar data. Level ini menggambarkan keseluruhan database, pemakai tidak memperdulikan lagi kerumitan dalam struktur fisik, tetapi data-data digambarkan dengan menggunakan garis dan keterangan. Model ini tidak tergantung dari DBMS yang digunakan, tidak tergantung dari hardware yang digunakan serta tidak tergantung phisikal model. Perancangan model ini penekanan tinjauan dilakukan pada struktur data dan relasi antar tabel. Tidaklah perlu dipikirkan tentang terapan dan operasi yang akan dilakukan pada database.

3. Level Pandangan Pemakai

Level tertinggi ini menggambarkan sebagian dari keseluruhan database. Pada level ini hanya sebagian saja yang dilihat dan dipakai. Hal ini disebabkan beberapa pemakai database tidak membutuhkan semua isi database. Level ini sangat dekat dengan user/pemakai. User butuh sebagian dari database. Ada beberapa kelompok user dengan pandangan berbeda butuh data dalam database.

Perancangan Basis Data


Perancangan basis data dibagi menjadi 3 tahap (Kadir, 1999) yaitu :

1. Perancangan basis data secara konseptual, meliputi :

a) Perancangan entitas pada basis data

b) Perancangan hubungan antar entitas

c) Penerjemahan hubungan ke dalam entitas

2. Perancangan basis data secara logis

Merupakan tahapan untuk memetakan model konseptual ke dalam model basis data yang akan dipakai.

3. Perancangan basis data secara fisik

Merupakan tahapan untuk menerapkan basis data secara logis ke basis data fisis yang tersimpan dalam media eksternal.

Pengertian Basis Data


Istilah basis data banyak menimbulkan interpretasi yang berbeda. Pada saat maraknya perangkat lunak dBase II dan dBase II Plus, sebuah berkas (dengan ekstensi .DBF) bisa disebut basis data. Istilah yang tidak tepat ini meskipun merasuki ke dalam sejumlah pemrogram, akhirnya diluruskan kembali oleh pencipta perangkat lunak basis data yang lain.

Chou (Kadir, 1999) mendefinisikan basis data sebagai kumpulan informasi bermanfaat yang diorganisasikan secara khusus. Menurut Fabbri dan Schwabb (Kadir, 1999) basis data adalah sistem berkas terpadu yang dirancang terutama meminimalkan pengulangan data. Menurut Date (Kadir, 1999) basis data dapat dianggap sebagai tempat untuk sekumpulan berkas data terkomputerisasi.

Sistem basis data pada dasarnya adalah sistem terkomputerisasi yang tujuan utamanya adalah memelihara informasi dan membuat informasi tersebut tersedia saat dibutuhkan.