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.
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 (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:
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 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.
Gambar 1. Simbol Strong Entity
Contoh: Tabel Mahasiswa
NIM |
Nama |
Jurusan |
12345 |
John Doe |
Informatika |
67890 |
Jane Smith |
Ekonomi |
Gambar 2. Simbol Weak Entity
Contoh: Tabel Detail Pengiriman
No. Pengiriman |
No. Pesanan |
Barang |
Jumlah |
001 |
123 |
Keyboard |
5 |
002 |
456 |
Mouse |
3 |
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 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 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 (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 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.
Berikut adalah contoh sederhana pembuatan ERD sederhana pada suatu sistem informasi akademik, kita akan buat pada diagram.io
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)
Kardinalitas :
Hubungan :
https://www.dicoding.com/blog/memahami-erd/
https://www.dewaweb.com/blog/entity-relationship-diagram/
https://medium.com/@mluthfiridhwan/mengenal-entity-relationship-diagram-erd-4fd9646f14a7
https://medium.com/@soni.dumitru/what-is-an-entity-relationship-diagram-erd-13daee5b2a
https://betterprogramming.pub/what-is-an-entity-relationship-diagram-d5db69a87971