Skip to main content

4. Entitas-Relationship Database.html

 

Entitas-Relationship Database

Pendahuluan

Sebelum membangun rumah, pemilik rumah umumnya meminta seorang arsitek untuk membuat sketsa agar rumah sesuai dengan harapannya dan pembangunannya efektif serta efisien dalam hal bahan dan anggaran. Hal serupa juga berlaku dalam menyusun sebuah database. Dalam menyusun database, perlu membuat sketsa agar lebih efektif dan efisien. Ada berbagai aplikasi yang dapat digunakan, seperti LucidChart, Draw.io, Microsoft Visio, PowerDesigner, dan sebagainya. Aplikasi-aplikasi tersebut menggunakan konsep yang sama, yaitu Entity Relationship Diagram (ERD). Entity Relationship Diagram (ERD) adalah gambaran hubungan antara objek atau data yang saling terkait dalam bentuk diagram. ERD menggambarkan hubungan antara kumpulan data dalam database. Dengan implementasi ERD, redundansi data dapat diminimalisir dan jumlah hubungan antar data dapat diperkecil sebelum menyusun database.

 

Entity Relationship Diagram

ERD (Entity Relationship Diagram) adalah sebuah diagram yang digunakan untuk merancang database dan menampilkan hubungan antara entitas dan atributnya secara rinci. Dengan ERD, database yang sedang dibangun dapat diorganisir dengan lebih terstruktur dan terlihat lebih teratur.

Selain digunakan untuk merancang database, ERD juga berguna dalam melakukan debugging pada database jika terjadi masalah. Debugging database bisa menjadi tugas yang rumit, terutama jika database tersebut memiliki banyak tabel dan memerlukan penulisan SQL yang kompleks. Dengan menggunakan ERD untuk menggambarkan skema database, kamu dapat dengan mudah menemukan masalah yang terjadi dalam database dan menyelesaikannya dengan lebih efisien.

 

Model Data ERD

Model Data ERD (Entity Relationship Diagram) merupakan tahap awal dalam merancang sistem yang tepat. Sebelum memulai perancangan, penting untuk memahami jenis-jenis model data yang digunakan, karena model data tersebut akan berpengaruh pada pengembangan sistem dan berfungsi sebagai dokumentasi untuk arsitektur data. Terdapat tiga jenis model data yang dibagi dalam ERD, dan berikut penjelasannya:

  1. Model Data Konseptual: Model data konseptual merupakan model data yang paling abstrak dan menyajikan data dengan tingkat detail yang tinggi. Model ini digunakan sebagai dasar untuk membuat satu atau lebih model data logis. Tujuan utama dari pengembangan model data konseptual adalah memberikan gambaran yang jelas mengenai struktur database, termasuk entitas dan relasi antara entitas-entitas tersebut.
  2. Model Data Logis: Model data logis adalah pengembangan dari model data konseptual. Dalam proses pembuatannya, model data logis menjadi lebih terperinci dari model data konseptual dan dibuat setelah model data konseptual selesai. Model data logis digunakan untuk menambahkan informasi secara eksplisit ke unsur-unsur model konseptual. Beberapa komponen dalam model data logis termasuk entitas data master, operasional, dan transaksional.
  3. Model Data Fisik: Model data fisik merupakan pengembangan dari masing-masing model data logis. Model data fisik umumnya digunakan untuk merancang sebuah database. Model ini menggambarkan implementasi fisik dari struktur data, termasuk tipe data, indeks, ukuran, dan lainnya. Model data fisik berfokus pada bagaimana data akan disimpan dan diorganisir dalam basis data.

 

Komponen ERD

Setelah memahami model data yang terkait dengan ER diagram, kita akan menjelaskan tentang komponen-komponen yang digunakan dalam pembuatan ER diagram. ERD memiliki empat komponen utama yang digunakan untuk memodelkan sistem secara efektif. Berikut adalah penjelasan mengenai komponen-komponen tersebut.

Berikut ini adalah komponen utama dalam ERD:

Entitas

Entitas adalah objek atau konsep yang ada dalam dunia nyata yang dapat diidentifikasi dan direpresentasikan dalam basis data. Entitas memiliki atribut-atribut yang menjelaskan karakteristik atau properti dari entitas tersebut. Contohnya, dalam konteks basis data universitas, entitas dapat berupa mahasiswa, mata kuliah, dosen, atau departemen. Setiap entitas memiliki atribut-atribut spesifik yang menggambarkan informasi terkait entitas tersebut. Misalnya, entitas mahasiswa dapat memiliki atribut seperti NIM, nama, tanggal lahir, atau jurusan. Atribut-atribut ini membantu menggambarkan entitas secara lebih rinci dan memberikan informasi yang diperlukan dalam basis data.

  1. Entitas Kuat (Strong Entity): Entitas kuat adalah entitas yang dapat berdiri sendiri secara independen dan memiliki kunci utama (primary key) yang unik. Entitas ini tidak bergantung pada entitas lain untuk eksistensinya.

Gambar 1. Simbol Strong Entity

Contoh: Tabel Mahasiswa

NIM

Nama

Jurusan

12345

John Doe

Informatika

67890

Jane Smith

Ekonomi

  1. Entitas Lemah (Weak Entity): Entitas lemah adalah entitas yang bergantung pada entitas kuat (entitas pemilik) untuk eksistensinya. Entitas ini tidak memiliki kunci utama yang unik secara mandiri, tetapi memiliki kunci parsial (partial key) yang bergantung pada entitas pemilik.

Gambar 2. Simbol Weak Entity

Contoh: Tabel Detail Pengiriman

No. Pengiriman

No. Pesanan

Barang

Jumlah

001

123

Keyboard

5

002

456

Mouse

3

  1. Entitas Asosiatif (Associative Entity): Entitas asosiatif adalah entitas yang digunakan untuk menghubungkan dua atau lebih entitas lain dalam hubungan banyak-ke-banyak (many-to-many). Entitas ini dapat memiliki atribut sendiri selain atribut yang mewakili hubungan antara entitas-entitas tersebut.

Gambar 3. Simbol Weak Entity

Contoh: Tabel Pemesanan

No. Pesanan

NIM

Tanggal

123

12345

2022-05-10

456

67890

2022-06-15

Dalam contoh-contoh di atas, entitas kuat seperti Mahasiswa berdiri sendiri dengan kunci utama yang unik (NIM). Entitas lemah seperti Detail Pengiriman bergantung pada entitas pemilik (No. Pesanan) untuk eksistensinya. Sedangkan entitas asosiatif seperti Pemesanan digunakan untuk menghubungkan dua entitas lain (No. Pesanan dan NIM) dalam hubungan banyak-ke-banyak.

Perlu dicatat bahwa tabel-tabel di atas hanya memberikan gambaran tentang struktur data dalam bentuk tabel, dan masih perlu ditambahkan atribut-atribut tambahan sesuai kebutuhan dan hubungan antar entitas.


 Atribut

Atribut adalah elemen dasar dalam sebuah basis data yang merepresentasikan karakteristik atau properti dari sebuah entitas. Dalam konteks basis data, atribut adalah bagian terkecil dari informasi yang dapat diidentifikasi dan disimpan. Atribut memberikan informasi yang spesifik tentang entitas tersebut, seperti nama, usia, alamat, atau nomor telepon. Setiap entitas dalam basis data memiliki atribut-atribut yang relevan dengan entitas tersebut. Misalnya, dalam entitas "Mahasiswa", atribut-atribut yang mungkin ada adalah NIM (Nomor Induk Mahasiswa), nama, jurusan, tanggal lahir, dan sebagainya. Setiap atribut memiliki tipe data yang menggambarkan jenis nilai yang dapat disimpan dalam atribut tersebut, seperti teks, angka, tanggal, atau boolean.

 

Atribut memiliki peran penting dalam membangun struktur data dalam basis data. Mereka membantu menggambarkan dan mengidentifikasi entity secara unik, serta memberikan informasi yang diperlukan untuk pengolahan data. Dalam sebuah tabel dalam basis data, atribut ditampilkan sebagai kolom-kolom yang merepresentasikan karakteristik entitas. Penggunaan atribut yang tepat dan pengelolaan atribut yang baik dalam basis data sangat penting untuk menyimpan, mengorganisir, dan mengakses informasi dengan efisien. Atribut juga memainkan peran penting dalam pengambilan keputusan dan analisis data dalam konteks sistem informasi.

Berikut adalah beberapa jenis atribut yang digunakan pada ER-Diagram

Jenis Atribut

Simbol

Deskripsi

Atribut Utama

Atribut yang menjadi bagian dari kunci utama entitas. Digunakan untuk mengidentifikasi setiap entitas secara unik.

Atribut Turunan

Atribut yang nilainya dihasilkan atau dihitung dari atribut lain dalam entitas. Nilainya tidak disimpan secara langsung, melainkan dihitung atau dihasilkan dari atribut lain.

Atribut Komposit

Atribut yang terdiri dari beberapa subatribut yang lebih kecil. Merepresentasikan karakteristik kompleks yang terdiri dari beberapa bagian.

Atribut Multivalued

Atribut yang dapat memiliki beberapa nilai atau multiple instances. Dalam satu entitas, atribut ini dapat memiliki lebih dari satu nilai.

Atribut Kunci

 

(Key Attribute) adalah atribut yang menjadi bagian dari kunci utama (Primary Key) entitas. Kunci utama digunakan untuk mengidentifikasi setiap entitas secara unik dalam basis data. Digunakan untuk membentuk hubungan antara entitas dalam hubungan one-to-many atau many-to-many.

Atribut Nul

 

 

Atribut yang dapat memiliki nilai null atau tidak memiliki nilai. Merepresentasikan bahwa nilai atribut tersebut belum diketahui atau tidak relevan.

 Kardinalitas

Kardinalitas dalam Entity Relationship Diagram (ERD) adalah atribut yang menentukan jumlah entitas yang terkait dalam sebuah hubungan antara entitas. Kardinalitas menggambarkan batasan atau keharusan mengenai jumlah entitas yang terlibat dalam hubungan tersebut. Kardinalitas pada ERD dapat dinyatakan dengan menggunakan notasi simbol atau angka yang ditempatkan di sepanjang garis hubungan antara entitas. Beberapa jenis kardinalitas yang umum digunakan adalah:

Kardinalitas

Notasi

Deskripsi

One-to-One

1:1

Satu entitas di satu sisi hubungan terhubung dengan satu entitas di sisi lainnya.

One-to-Many

1:N

Satu entitas di satu sisi hubungan terhubung dengan banyak entitas di sisi lainnya.

Many-to-One

N:1

Banyak entitas di satu sisi hubungan terhubung dengan satu entitas di sisi lainnya.

Many-to-Many

N:M

Banyak entitas di satu sisi hubungan terhubung dengan banyak entitas di sisi lainnya.

Zero or One

0..1

Satu entitas di satu sisi hubungan terhubung dengan nol atau satu entitas di sisi lainnya.

Zero or Many

0..N

Satu entitas di satu sisi hubungan terhubung dengan nol atau banyak entitas di sisi lainnya.

Kardinalitas membantu dalam memahami jumlah entitas yang terlibat dalam hubungan, baik itu hubungan one-to-one, one-to-many, many-to-one, atau many-to-many. Dengan memahami kardinalitas, kita dapat merancang struktur database yang sesuai dengan kebutuhan dan memastikan konsistensi data dalam sistem.

 Relasi

Relasi (Relationship) adalah salah satu komponen utama dalam Entity Relationship Diagram (ERD) yang digunakan untuk menggambarkan keterkaitan atau hubungan antara dua atau lebih entitas dalam sistem. Relasi menunjukkan bagaimana entitas-entitas tersebut saling terhubung dan berinteraksi satu sama lain.

Gambar 4. Relasi pada ERD

Dalam ERD, relasi dapat memiliki tipe yang berbeda, seperti:

Gambar 5. Tipe Tipe Relasi

Tipe Relasi

Deskripsi

Contoh

One-to-One

Satu entitas dalam hubungan ini berkorelasi dengan satu entitas lainnya secara langsung.

Misalnya, satu karyawan memiliki satu nomor identitas.

One-to-Many

Satu entitas dalam hubungan ini berkorelasi dengan banyak entitas lainnya.

Misalnya, satu departemen memiliki banyak karyawan.

Many-to-One

Banyak entitas dalam hubungan ini berkorelasi dengan satu entitas lainnya.

Misalnya, banyak mahasiswa berkorelasi dengan satu universitas.

Many-to-Many

Banyak entitas dalam hubungan ini berkorelasi dengan banyak entitas lainnya.

Misalnya, banyak mahasiswa memiliki banyak mata kuliah dan sebaliknya.

Relasi dalam ERD direpresentasikan dengan menggunakan garis yang menghubungkan entitas yang terkait, dan sering kali memiliki simbol atau tanda panah untuk menunjukkan arah hubungan. Kardinalitas dapat ditambahkan pada relasi untuk mengindikasikan jumlah minimum dan maksimum entitas yang terlibat dalam hubungan

 Garis

Garis pada Entity Relationship Diagram (ERD) adalah komponen terakhir ada dalam ERD sendiri garis digunakan untuk menunjukkan hubungan entitas dalam ERD. Selain menjadi penghubung, garis juga dapat menunjukkan alur atau flow dari suatu ERD.

 

Cara Membuat ERD

Berikut adalah contoh sederhana pembuatan ERD sederhana pada suatu sistem informasi akademik, kita akan buat pada diagram.io

  1. Menentukan entitas, contohnya kita akan memasukan dosen, mahasiswa, mata kuliah, serta kelas sebagai entitas.
  2. Menentukan attribute, setelah itu kenakan atribut dalam entitas yang sudah di buat, seperti ini

Mahasiswa:

nim: nomor induk mahasiswa (integer) PK

nama_mhs: nama lengkap mahasiswa (string)

alamat_mhs: alamat lengkap mahasiswa (string)

Dosen:

nip: nomor induk pegawai (integer) PK

nama_dosen: nama lengkap dosen (string)

alamat_dosen: alamat lengkap dosen (string)

Mata_kuliah:

kode_mk: kode untuk mata kuliah (integer) PK

nama_mk: nama lengkap mata kuliah (string)

deskripsi_mk: deskripsi singkat mengenai mata kuliah (string)

Ruang:

kode_ruang: kode untuk ruang kelas (string) PK

lokasi_ruang: deskripsi singkat mengenai lokasi ruang kelas (string)

kapasitas_ruang: banyaknya mahasiswa yang dapat ditampung (integer)

  1. Penentuan Kardinalitas Relasi

Kardinalitas :

Hubungan :

    1. ruang digunakan untuk mata_kuliah:
      1. Tabel utama: ruang
      2. Tabel kedua: mata_kuliah
      3. Relationship: One-to-one (1:1)
      4. Attribute penghubung: kode_ruang (FK kode_ruang di mata_kuliah)
    2. dosen mengajar mata_kuliah:
      1. Tabel utama: dosen
      2. Tabel kedua: mata_kuliah
      3. Relationship: One-to-many (1:n)
      4. Attribute penghubung: nip (FK nip di mata_kuliah)
    3. dosen membimbing mahasiswa:
      1. Tabel utama: dosen
      2. Tabel kedua: mahasiswa
      3. Relationship: One-to-many (1:n)
      4. Attribute penghubung: nip (FK nip di mahasiswa)
    4. mahasiswa mengambil mata_kuliah:
      1. Tabel utama: mahasiswa, mata_kuliah
      2. Tabel kedua: mhs_ambil_mk
      3. Relationship: Many-to-many (m:n)
      4. Attribute penghubung: nim, kode_mk (FK nim, kode_mk di mhs_ambil_mk)
  1. Pembuatan ERD


Last modified: Wednesday, 9 August 2023, 2:20 PM