Selasa, 07 April 2015

ENTITY RELATIONSHIP DIAGRAM (ER-D)

ENTITY RELATIONSHIP DIAGRAM (ER-D)
Sebelum kita mengenal tentang ERD, alangkah lebih baiknya kita mengenal terlebih dahulu tentang basis data. Bila diterjemahkan per kata basis mengandung arti yaitu basis adalah tampungan, tempat, ataupun wadah dalam bentuk yang masih utuh sedangkan data adalah kumpulan informasi yang mempunyai relasi dengan yang lain  sehingga membentuk informasi yang valid. Jadi, basis data merupakan sekumpulan data yang berelasi sehingga membentuk data yang valid dan sistematis seperti contoh kumpulan data tentang film yang ada di usaha rental film, dsb.
Baiklah, setelah kita mengetahui basis data seperti apa, sekarang kita masuk ke pembahasan yaitu Entity Relationship Diagram (ERD). Sebelumnya dari kalian ada yang sudah mengetahui apa itu ERD? Dari katanya kelihatan bahwa penulisan hubungan berdasarkan diagram ya? Hehe.. Nah, sebenarnya ERD itu sebagai aplikasi pengubahan tampilan ke dunia nyata yang berasal dari basis data dengan memanfaatkan sejumlah perangkat konseptual menjadi sejumlah diagram data yang sistematis. Dengan kata lain, ERD adalah model data tingkat konseptual dalm perancangan basis data. Model ini sebagai dasar para desainer basis data untuk membuat basis data. Tujuan adanya ERD yaitu mempermudah perancangan penyajian data agar mudah dimengerti karena sifatnya yang memiliki hubungan satu sama lain.
Komponen Entity Relationship Diagram
            Dalam ERD pun mempunyai beberapa komponen yaitu sebagai berikut :
1.         Entitas
Entitas merupakan individu yang mewakili sesuatu yang nyata dan dapat dibedakan dari sesuatu yang lain. Artinya, entitas adalah individu yang berbeda dalam sebuah basis data. Entitas dalam ERD disajikan dalam bentuk persegi panjang. Berikut contoh entitas yaitu pegawai, direktur, kepala sekolah, mahasiswa, dan seterusnya.









Text Box: pegawai
Text Box: direktur
Text Box: kepala sekolah
Text Box: mahasiswa
 


entitas pegawai       entitas direktur          ent. kepala sekolah     entitas mahasiswa



2.      Atribut
Atribut ialah karakteristik dari entity yang menyediakan penjelasan rinci tentang entity tersebut. Atribut dalam ERD disajikan dalam bentuk oval.
Donut: alamat_pegawaiOval: nama_pegawaiOval: #id_pegawaiBeberapa contoh atribut yang ada pada pegawai sebagai berikut id_pegawai, nama_pegawai, alamat_pegawai, dsb.

     atribut id_pegawai             atribut nama_pegawai             atribut alamat_pegawai
Atribut yang memiliki tanda # atau garis bawah merupakan atribut yang unik.
Atribut juga mempunyai bentuk yang berbeda dan terbagi menjadi tiga bagian yaitu:
1)      Oval: #id_pegawaiAtribut umum, atribut yang sering digunakan dalam karakteristik entitas dengan bentuk seperti berikut :

2)      Oval: umurAtribut turunan, atribut yang biasa digunakan untuk menghitung angka yang mempunyai batas awal dan batas akhir seperti umur, tgl, dsb dengan bentuk atribut seperti berikut:

3)      Donut: alamat_pegawaiAtribut multitask, atribut yang digunakan ketika dalam sebuah atribut mempunyai atribut yang lain misalkan alamat, telpon, dsb dengan bentuk atribut seperti berikut:

3.      Relasi
Relasi yaitu hubungan diantara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. Artinya, relasi adalah hubungan antar entitas. Relasi pada ERD disajikan dalam bentuk belah ketupat. Beberapa contoh relasi yaitu memimpin, memberi, mencatat, dan sebagainya.



relasi mencatat               relasi mencatat                        relasi memberi







Diamond: memimpin


Diamond: mencatat



Diamond: memberi


 




4.      Kardinalitas
Kardinalitas relasi menyatakan jumlah maksimum entitas yang dapat berelasi dengan entitas himpunan entitas lain. Beberapa kardinalitas yang terjadi diantara dua himpunan entitas adalah sebagai berikut:
1)      One to One
Kardinalitas yang menghubungkan antar entitas yang masing-masingnya satu entitas. Relasi one-to-one memiliki tujuan sebagai berikut:
·         Memindahkan data ke tabel lain memungkinkan untuk membuat query yang lebih cepat;
·         Mengisolasi dan menghindarkan nilai NULL pada tabel utam;
·         Membuat sebagian data yang susah diakses.
Contoh kardinalitas One-to-One dengan menggunakan entitas direktur, perusahaan, dan relasi memimpin:


 



ERD tersebut jika ditransformasikan ke tabel adalah sebagai berikut:
direktur           : id_direktur, nama, alamat
perusahaan      : kode_perusahaan, nama, alamat

2)      One to Many dan Many to One
Kardinalitas One to Many terjadi apabila satu entitas yang berhubungan dengan banyak entitas. Sedangkan Many to One terjadi apabila banyaknya entitas yang berhubungan dengan asatu entitas.
Relasi One to Many atau Many to One terjadi apabila sebuah data yang ada pada tabel pertama memiliki beberapa data yang sama pada tabel kedua atau tabel kedua memiliki beberapa data yang sama pada tabel pertama.
                  

                  
                   ERD tersebut jika ditransformasikan ke tabel adalah sebagai berikut:
                   wali kelas        : nip, nama, alamat
                   siswa               : nis, nama, jenis_kelamin, alamat, nip
3)      Many to Many
Kardinalitas Many to Many terjadi ketika banyak entitas yang berhubungan dengan banyak entitas juga. Relasi Many to Many terjadi jika sebuah data yang ada pada tabel pertama memilki beberapa data yang sama pada tabel kedua, begitupun sebaliknya. Pada relasi ini, tabel pertama dan kedua diizinkan memiliki beberapa data yang sama dengan kedua table tersebut. Berikut contoh perancangan dari kardinalitas Many to Many yang memiliki entitas pegawai, pembeli, dan relasi melayani.


 



ERD tersebut jika ditransformasikan ke tabel sebagai berikut:
pegawai           : id_pegawai, nama_pegawai, jenis_kelamin, alamat
pembeli            : id_pembeli, nama_pembeli, jenis_kelamin, alamat
melayani          : id_melayani, id_pegawai, id_pembeli

Transformasi ERD ke Tabel
       Model Entity Relationship (ER) yang disajikan dengan Diagram bukanlah sebuah basis data yang relasional. Karena itu, maka diperlukan proses transformasi dari sebuah ERD menjadi suatu basis data relasional lengkap dengan tabel-tabel. Rancangan basis data relasional hasil transformasi sendiri bergantung kepada desain awal ERD yang telah dibuat.
       Pada relasi Many to Many ini tabel relasi akan dibuat menjadi tabel dengan atributnya adalah primary key dari masing-masing tabel yang berelasi. Primary key pad atabel relasi akan menjadi foreign key.
Berikut adalah transformasi ERD tersebut ke tabel.
1)        Membuat tabel pegawai:
mysql> create table pegawai(
    -> id_pegawai varchar(10) primary key,
    -> nama_pegawai varchar(25) not null,
    -> jenis_kelamin varchar(10) not null,
    -> alamat varchar(50) not null
    -> );
Query OK, 0 rows affected (0.24 sec)




2)        Membuat tabel pembeli:
mysql> create table pembeli(
    -> id_pembeli varchar(10) primary key,
    -> nama_pembeli varchar(25) not null,
    -> jenis_kelamin varchar(10) not null,
    -> alamat varchar(50) not null
    -> );
Query OK, 0 rows affected (0.27 sec)

3)        Membuat tabel melayani:
mysql> create table melayani(
    -> id_melayani int auto_increment primary key,
    -> id_pegawai varchar(10) not null,
    -> foreign key(id_pegawai) references pegawai(id_pegawai),
    -> id_pembeli varchar(10) not null,
    -> foreign key(id_pembeli) references pembeli(id_pembeli)
    -> );
Query OK, 0 rows affected (0.52 sec)


Tidak ada komentar:

Posting Komentar

Cara Install Dual Boot Linux Mint dan Windows 10

Apa itu Dual Boot ? Dual Boot adalah bagaimana kita membuat Laptop/PC yang kita gunakan terpasang lebih dari ...