TUGAS 5 : ENTITY RELATIONSHIP
ENTITY RELATIONSHIP
Model Entity-Relationship adalah model data konseptual tingkat tinggi untuk perancangan basis data. Model data konseptual adalah himpunan konsep yang mendeskripsikan struktur basis data, transaksi pengambilan dan pembaruan basis data.
Model ER adalah data konseptual tak tergantung DBMS dan platform perangkat keras tertentu. Model ER dikemukakan oleh Chen [1976]. Sejak itu, telah memperoleh banyak perhatian dan perluasan.
Model ER adalah persepsi terhadap dunia nyata sebagai terdiri objek-objek dasar yang disebut entitas dan keterhubungan (relationship) antar entitas-entitas itu.
Konsep paling dasar di model ER adalah entitas, relationship dan atribut.
Komponen-komponen utama model ER adalah:
a. Entitas (entity), Entitas memodelkan objek-objek yang berada diperusahaan/lingkungan.
b. Relationship. Relationship memodelkan koneksi/hubungan di antara entitas-entitas.
c. Atribut-atribut (properi-properti), memodelkan properti-properti dari entitas dan relationship.
d. Konstrain-konstrain (batasan-batasan) integritas, konstrain-konstrain ketentuan validitas.
Entitas (Entity) dan Himpunan Entitas (Entitas Sets)
Entitas merupakan individu yang mewakili sesuatu yang nyata (eksistensinya) dan dapat dibedakan dari sesuatu yang lain. Sebuah kursi yang kita duduki, seseorang yang menjadi pegawai di sebuah perusahaan dan sebuah mobil yang melintas di depan kita adalah entitas.
Sekelompok entitas yang sejenis dan berada dalam lingkup yang sama membentuk sebuah himpunan entitas (entity sets). Sederhananya, entitas menunjuk pada individu suatu objek, sedang himpunan entitas menunjuk pada rumpun (family) dari individu tersebut.
Seorang pasien, misalnya akan dimasukkan dalam himpunan entitas pasien. Sedang seorang dokter akan ditempatkan dalam himpunan entitas dokter.
Dalam berbagai pembahasan/literature, penyebutan himpunan entitas (yang kurang praktis) ini seringkali digantikan dengan sebutan entitas saja.
Karena itu sering ditemui, penggunaan istilah entitas (entity) di sebuah literature sebenarnya menunjuk pada himpunan entitas.
Kunci Entitas
Sebagaimana model relasional, adalah penting dan berguna untuk memasukkan kunci yang diasosiasikan dengan himpunan entitas. Kunci pada himpunan entitas S, adalah himpunan atribut A. Sehingga tidak ada dua entitas di S yang mempunyai nilai sama untuk tiap atribut di A dan tidak ada subset di A yang dapat menjadi kunci di S, dengan demikian kunci mempunyai property minimal.
Atribut (Atributes/Properties)
Setiap entitas pasti memiliki atribut yang mendeskripsikan karakteristik (property) dari entitas tersebut.
Penentuan / pemilihan atribut-atribut yang relevan bagi sebuah entitas merupakan hal penting lainnya dalam pembentukan model ER. Contoh : nim, nama, alamat, kode.
Relasi (Relationship) dan Himpunan Relasi (Relationship Sets)
Relasi menunjukkan adanya hubungan di antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda.
Misalnya, entitas seorang mahasiwa dengan
nim = ‘980001’ dan
nama_mhs = ‘Ali Akbar’ (yang ada di himpunan entitas Mahasiswa)
mempunyai relasi dengan entitas sebuah mata kuliah dengan
kode_kul=’IF-110’ dan
nama_kul=’Struktur Data’.
Relasi diantara kedua entitas tadi mengandung arti bahwa mahasiswa tersebut sedang mengambil/mempelajari mata kuliah tersebut di sebuah perguruan tinggi yang ditinjau.
Kumpulan semua relasi diantara entitas-entitas yang terdapat pada himpunan entitas-himpuan entitas tersebut membentuk himpunan relasi (relationship sets).
Sebagaimana istilah himpunan entitas yang banyak sekali disingkat menjadi entitas, istilah himpunan relasi jarang sekali digunakan dan lebih sering disingkat dengan istilah relasi saja.
Kardinalitas/derajat Relasi
Kardinalitas Relasi menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lain. Kardinalitas relasi merujuk kepada hubungan maksimum yang terjadi dari himpunan entitas yang satu ke himpunan entitas yang lain dan begitu juga sebaliknya.
Kardinalitas di antara dua himpunan entitas (misalnya A dan B) dapat berupa :
a. Satu ke satu (One to One),
setiap entitas pada himpunan entitas A berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas begitu juga sebaliknya setiap entitas pada himpunan entitas B berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas A.
b. Satu ke Banyak (one to many),
setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B,
tetapi tidak sebaliknya, dimana setiap entitas pada himpunan entitas B berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas A.
c. Banyak ke Satu (Many to One),
setiap entitas pada himpunan entitas A berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas B, tetapi tidak sebaliknya, dimana setiap entitas pada himpunan entitas A berhubungan dengan paling banyak satu entitas pada himpunan entitas B.
d. Banyak ke Banyak (Many to Many)
setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B,
demikian juga sebaliknya, di mana setiap entitas pada himpunan entitas B dapat berhubungan dengan banyak entitas pada himpunan entitas A.
Diagram Entity-Relationship (ER)
Penggambaran Model ER secara sistematis dilakukan melalui diagram ER. Notasi-notasi simbolik di dalam Diagram ER yang dapat digunakan adalah:
1. Persegi panjang, menyatakan Himpunan 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 dengan Himpunan Entitas dan Himpunan Entitas dengan atributnya.
5. Kardinalitas Relasi dapat dinyatakan dengan banyaknya garis cabang atau dengan pemakaian angka (1 dan 1 untuk relasi one to one, 1 dan N untuk relasi one to many atau N dan N untuk relasi many to many).
Contoh diagram ER :
Tahap Pembuatan Diagram ER
Diagram ER selalu dibuat secara bertahap. Paling tidak ada dua kelompok penahapan yang biasa ditempuh di dalam pembuatan diagram ER, yaitu :
a. Tahap pembuatan Diagram ER awal (preliminary design). Yaitu :
- Mengidentifikasi dan menetapkan seluruh entity yang terlibat dalam sistem database tersebut.
- Menentukan attribute-attribute atau field dari masing-masing entity beserta kunci (key)-nya.
Menentukan attribute dari suatu entitas sangat menentukan baik atau tidaknya sistem database yang dirancang, karena attribute ini sangat menentukan nantinya dalam proses relasi. Attribute merupakan ciri khas yang melekat pada suatu entity, misalnya attribute pada mahasiswa dapat berupa nobp, nama, tempat lahir, tanggal lahir, alamat, nama orang tua, pekerjaan orang tua dan lain-lain. Dari sekian banyak kemungkinan attribute yang ada pada entity mahasiswa, kita dapat menggunakan hanya yang perlu saja. Setelah menentukan attributenya selanjutnya adalah menentukan field kunci. Field kunci adalah penanda attribute tersebut sehingga bisa digunakan untuk relasi nantinya dan field kunci ini harus bersifat unik. Misalnya pada entity mahasiswa, attribute nobp bisa dijadikan field kunci, karena bersifat unik dan tidak ada mahasiswa yang mempunyai nobp sama.
- Mengidentifkasi dan menetapkan seluruh himpunan relasi diantara himpunan-himpunan entity yang ada beserta kunci tamu (foreign key)- nya.
Setelah menentukan entity dan attribute beserta field kuncinya, maka selanjutnya adalah menentukan entity yang terbentuk akibat adanya relasi antar entity. Misalnya antara entity mahasiswa dengan entity dosen, terjadi suatu hubungan proses mengajar, maka proses mengajar ini merupakan entity baru. Entity mengajar ini harus kita tentukan juga attribute yang melekat padanya beserta kunci tamu (foreign key). Kunci tamu adalah field kunci utama pada tabel lain, dan field tersebut digunakan juga pada tabel yang satu lagi. Misalnya nobp adalah
field kunci dari entity mahasiswa, pada entity mengajar terdapat juga attribute NoBP, maka keberadaan attribute nobp pada entity mengajar disebut sebagai kunci tamu. Proses menentukan hubungan antar entity juga sangat menentukan kualitas system database yang dirancang.
- Menentukan derajat relasi untuk setiap himpunan relasi.
Setelah semua entity dan attribute yang dibutuhkan terbentuk, maka selanjutnya adalah menentukan derajat relasi antar entity tersebut, apakah satu kesatu, satu ke banyak atau sebaliknya, atau banyak ke banyak. Berhati-hatilah dalam menentukan derajat relasi ini, karena nantinya akan berhubungan dengan proses query terhadap data
- Melengkapi himpunan entitas dan himpunan relasi dengan atribut-atribut deskriptif (non key).
contoh ER diagram:
TUGAS 4 : MODEL DATA PADA DATABASE
MODEL DATA DATABASE
Model basisdata adalah kumpulan dari konsepsi basisdata yang biasanya mewakili struktur dan relasi data yang terdapat pada suatu basis data. Esensi sebuah model basisdata adalah tempat dimana data atau suatu metodologi untuk menyimpan data. Kita tidak dapat melihat model basisdata tetapi kita dapat melihat algoritma yang digunakan oleh model basisdata tersebut.
Ada 2 macam model basis data :
1. Model konseptual
Model konseptual terfokus kepada representasi basis data secara alam logika. Model ini lebih memperhatikan tetang apa yang disajikan dibanding dengan bagaimana cara menyajikannya.
2. Model Implementasi
Ditekankan pada Bagaimanacara data disajikan pada basis data atau Bagaimana struktur data diimplementasikan
Dari konsep Model basisdata implementasi terdapat beberapa konsep basisdata yang berkembang antara lain :
- Model basisdata hierarki (hierarchical database)
Sistem basisdata hierarki merupakan konsep model basisdata yang tertua, tidak ada kepastian kapan konsep ini mulai digunakan. Model ini berupa suaty tree dengan relasi Parent ChildRelationships dengan hubungan satu-banyak(1-N).
Struktur dasar basisdata hierarki :
- Kumpulan record-record yang secara logika terorganisir seperti struktur pohon dari atas ke bawah (berbentuk hirarki). Model ini banyak digunakan pada saat awal komputer database mainframe. Sistem ini banyak digunakan pada tahun 50-an dan 60-an, yang banyak digunakan oleh bank dan lembaga asuransi pada masa itu.
- Lapisan paling atas bertindak sebagai induk/root dari segmen yang tepat berada di bawahnya dan lapisan bawah tidak bisa memiliki lebih dari satu root.
- Segmen yang berada di bawah dari suatu segmen lainnya merupakan anak dari segmen yang ada di atasnya.
- Struktur pohon mewakili urutan hierarki dari media penyimpan pada ko mputer.
Keuntungan :
- Secara konseptual model basisdata ini sederhana.
- Keamanan basisdata lebih baik
- Kebebasan data
- Integritas data dalam satu tree lebih baik
- Basisdata skala besar lebih efisien
Kerugian :
- Sistem lebih rumit
- Kekurangan pada kebebasan struktural
- Model basisdata jaringan (Network database)
Model basisdata ini dikemukakan pada tahun 1969 oleh CODASYL consorsium. Pada prinsipnya model basisdata jaringan hampir sama dengan basisdata hierarki yaitu berupa model tree, akan tetapi pada model basisdata jaringan child dapat memiliki lebih dari satu parent.
Struktur data basisdata jaringan :
- Set - Sebuah hubungan disebut set. Setiap set terdiri dari paling tidak dua macam record : satu record pemilik (induk) dan satu record anggota (anak).
- Satu set mewakili satu hubungan 1:M antara pemilik dan anggota.
- Model basisdata relasional
Model basisdata relasional merupakan model basisdata yang dirancang agar memiliki konsistensi informasi dalam bentuk normalisasi database. Yang secara implementatif dan operasional dikendalikan oleh mesin Database Managemen System (DBMS).
Struktur dasar basisdata relasional :
- Relasional Database Management System (RDBMS) beroperasi pada lingkungan logika manusia.
- Basisdata relasional diasumsikan sebagai sekumpulan tabel-tabel.
- Setiap tabel terdiri dari serangkaian per-potongan baris/kolom
- Tabel-tabel (atau relasi) terhubung satu dengan lainnya menggunakan entitas tertentu yang digunakan secara bersama
- Tipe hubungan seringkali ditunjukkan dalam suatu skema
- Setiap tabel menghasilkan data yang lengkap dan kebebasan struktural
Keuntungan model data entity relationship :
- Secara konseptual sangat sederhana
- Gambaran secara visual
- Alat bantu komunikasi lebih efektif
- Terintegrasi dengan model basis data relasional
Kerugian model entity relationship :
- Gambaran aturan-aturan terbatas
- Gambaran relasi terbatas
- Tidak ada bahasa untuk memanipulasi data
- Kehilangan isi informasi