Merancang Database dengan ERD

Database merupakan bagian penting dari sebuah sistem aplikasi. Oleh karena itu, merancang struktur database yang bagus adalah sebuah keharusan. Struktur database yang bagus akan membantu tim pengembang software untuk mengurangi redundansi dan inkonsistensi data, serta meningkatkan skalabilitas dalam perawatan dan pengembangan. Salah satu cara untuk merancang database adalah dengan menggambar ERD, Entity Relationship Diagram.

Pada artikel kali ini, Teknovidia akan membahas mengenai ERD. Kami akan menjelaskan mengenai definisi ERD, notasi yang digunakan, jenis model data, cara membuat, tools yang sering digunakan, dan contoh dari ERD. Mari kita simak.

Baca juga

Apa itu ERD?

ERD merupakan singkatan dari Entity Relationship Diagram. ERD adalah diagram yang menggambarkan desain basis data sebuah sistem. ERD menjelaskan apa saja entitas (entity) yang disimpan pada database, dan bagaimana hubungan (relationship) antar entitas tersebut. Oleh karena itu, diagram ini disebut Entity Relationship Diagram, diagram yang menggambarkan hubungan antar entitas.

Apa yang dimaksud dengan ENTITAS?

Entitas pada ERD, dapat menggambarkan orang, organisasi, objek, atau transaksi bisnis. Sedangkan hubungan (relationship) menggambarkan relasi antar entitas dalam sistem.

Sejarah ERD

Peter Chen, seorang anggota fakultas dari Universitas Carnegie-Mellon di Pittsburgh, diberi kredit pada pengembangan model ERD untuk perancangan database pada tahun 1970. Ketika menjadi asisten profesor di MIT Sloan School of Management tahun 1976, dia mempublikasikan paper dengan judul “The Entity-Relationship Model: Toward a Unified View of Data”.

Namun, pada rentang 1960-1970, Charles Bachman dan A.P.G. Brown mengerjakan model data yang mirip dengan milik Chen. Bachman menyebutnya sebagai jenis Data Structure Diagram, yang dinamai dengan Bachman Diagram.

Brown mempublikasikan implementasi Bachman Diagram dalam sebuah pemodelan sistem yang sesungguhnya. Kemudian James Martin menyempurnakan model ERD tersebut. Hasil karya dari Chen, Bachman, Brown, Martin, dan kontributor lainnya ini digunakan dalam UML (Unified Modeling Language). UML saat ini banyak digunakan dalam perancangan software.

Kapan harus Membuat ERD?

ERD memang kebanyakan dibuat untuk merancang database sebuah aplikasi yang akan dibangun. Namun, ada kasus-kasus tertentu dimana ERD juga perlu dibuat. Berikut di antaranya:

  • Modifikasi Database – tergantung dari besar kecilnya perubahan, selalu ada risiko jika struktur database diubah. Untuk mengurangi risiko ini, ada baiknya Anda membuat ERD-nya. Beberapa tools SQL client memiliki fungsi untuk membuat otomatis ERD dari database yang ada. Anda dapat memanfaatkan fungsi tersebut untuk membuat ERD-nya. Dengan membuat ERD, Anda dapat mengetahui perubahan yang dilakukan akan berdampak pada bagian apa saja.
  • Debug SQL – mencari kesalahan pada sebuah query SQL merupakan tantangan tersendiri. Apalagi jika melibatkan banyak tabel. Anda dapat membuat ERD dari database agar lebih mudah membaca query yang dibuat. Sehingga kesalahan pada query SQL dapat lebih cepat ditemukan.
  • Pembuatan Database – beberapa tools desain ERD maupun SQL client, menyediakan fungsi untuk membuat database otomatis dari ERD yang dibuat. Kebalikan dari fungsi sebelumnya, yang membuat ERD dari database, fungsi ini membuat database dari ERD. Dengan membuat database otomatis dari ERD, akan mempercepat pekerjaan Anda.
  • Membantu Identifikasi Kebutuhan Pengguna – dengan membuat ERD, Anda dapat lebih mudah untuk mempresentasikan kebutuhan pengguna yang sudah diperoleh. Visualisasi dalam bentuk ERD, akan membantu Anda berkomunikasi lebih baik dengan pengguna.

Keterbatasan ERD

Beberapa keterbatasan merancang database menggunakan ERD antara lain:

  • Hanya untuk data relasional
  • Tidak dapat digunakan untuk data tidak terstruktur
  • Sulit untuk diintegrasikan dengan database yang sudah ada

Notasi ERD

Notasi pada ERD dapat dibagi ke dalam entitas, atribut, relasi, dan kardinalitas. Kita akan membahas setiap notasi tersebut satu-persatu.

1. Entitas

Entitas dalam ERD dapat menggambarkan orang, organisasi, objek, atau transaksi dalam sistem. Dalam penamaan entitas, sebaiknya gunakan kata benda. Pada ERD, entitas digambarkan dengan sebuah persegi panjang, seperti di bawah ini.

Notasi Entitas pada ERD

2. Atribut

Atribut adalah properti atau karakteristik yang melekat pada entitas. Contohnya entitas Siswa, memiliki atribut NIS, Nama, Tempat Lahir, Tanggal Lahir, Alamat, dsb. Atribut digambarkan dengan oval memanjang horizontal pada ERD, seperti di bawah ini.

Atribut yang menjadi pembeda (unik) antara satu entitas yang sama, disebut dengan Primary Key. Primary Key digambarkan dengan memberikan garis bawah pada atribut yang unik.

Notasi Atribut dari entitas Siswa pada ERD

3. Relasi

Relasi menggambarkan hubungan antar dua entitas. Contohnya adalah Siswa yang dapat mengambil beberapa Ekskul. Relasi ini digambarkan dengan simbol belah ketupat seperti di bawah ini.

Notasi Relasi yang menghubungkan entitas Siswa dengan Ekskul

4. Kardinalitas

Kardinalitas menggambarkan jumlah entitas yang terlibat dalam sebuah relasi. Contohnya, seorang Siswa dapat mengambil banyak (N) Ekskul. Dan satu Ekskul dapat diambil banyak (N) Siswa. Untuk menggambarkan kardinalitas, dapat dilihat seperti di bawah ini.

Notasi Kardinalitas menunjukkan jumlah entitas yang terlibat dalam relasi

Jenis Model Data

ERD biasanya digambarkan dalam 3 level abstraksi:

  • Conceptual Data Model
  • Logical Data Model
  • Physical Data Model

1. Conceptual Data Model

Conceptual Data Model menggambarkan rancangan database secara garis besar dalam sistem. Pada level ini belum terlihat tabel-tabel apa yang akan dibuat pada database. Hanya menggambarkan entitas dan relasi apa saja yang ada di dalam sistem.

2. Logical Data Model

Logical Data Model menggambarkan level rancangan yang lebih tinggi dari conceptual data model. Pada data model ini, tabel-tabel sudah terbentuk. Baik entitas maupun relasi akan diubah ke dalam tabel. Atribut juga dipetakan menjadi kolom atau field pada tabel database.

3. Physical Data Model

Tingkatan yang terakhir adalah Physical Data Model. Pada data model ini, sedekat mungkin digambarkan sesuai dengan spesifikasi DBMS (Database Management System) yang digunakan. Penggunaan Primary Key, Foreign Key, dan Index sudah digambarkan pada model ini. Tipe data juga dituliskan sesuai yang didukung oleh DBMS aplikasi.

Cara Membuat ERD

Jika Anda masih belum terbiasa membuat ERD, jangan khawatir. Berikut ini beberapa tips dari kami bagaimana membuat ERD ini:

1. Pahami lingkup sistem yang akan dibuat aplikasinya. Coba tuliskan entitas, atribut, relasi, dan kardinalitas dalam sebuah narasi. Komunikasikan narasi ini kepada pengguna untuk meminta koreksi dan persetujuan.

2. Gambarkan semua entitas pada lembar kerja.

3. Tuliskan atribut dari semua entitas.

4. Lakukan analisis relasi apa yang terjadi antar entitas.

5. Tambahkan kardinalitas pada setiap relasi.

6. Buat Logical dan Physical Data Model.

7. Realisasikan pada sistem database sesungguhnya.

Bagi Anda yang ingin mempelajari lebih lanjut bagaimana merancang database dengan ERD, dapat menonton video dari Ibu Kusrini dari Universitas Amikom Yogyakarta berikut ini:

Penjelasan mengenai ERD dari Ibu Kusrini dari Universitas Amikom Yogyakarta

Contoh ERD – Sistem Informasi Perpustakaan

Agar Anda lebih memahami ERD secara keseluruhan, berikut kami lampirkan contoh ERD dari Sistem Informasi Perpustakaan. Silakan pahami dulu narasi sistem sebagai berikut:

Perpustakaan Vidyaneka menyewakan berbagai macam buku, mulai dari komik, novel, hingga buku motivasi. Setiap buku memiliki harga sewa masing-masing. Bagi yang ingin meminjam bukunya, harus mendaftarkan diri sebagai anggota. Sistem mencatat nama, nomor telepon, dan alamat anggota. Setelah terdaftar sebagai anggota, baru dapat menyewa buku. Sistem akan mencatat tanggal peminjaman, tanggal harus dikembalikan, dan buku apa saja yang dipinjam.

Setelah mempelajari deskripsi sistem yang akan dibuat, kita tuliskan entitas dan atributnya sebagai berikut:

1. Buku, atribut: Kode Buku, Jenis Buku, Nama Buku, Harga Sewa

2. Anggota, atribut: Kode Anggota, Nama Anggota, No. Telp, Alamat

Relasi antar entitasnya antara lain:

1. Meminjam, atribut: Kode Peminjaman, Tgl. Pinjam, Tgl. Pengembalian

Dan kardinalitas sebagai berikut:

  • 1 Anggota dapat meminjam N Buku
  • 1 Buku dapat dipinjam N Anggota

Maka gambar ERD-nya adalah sebagai berikut:

ERD Sistem Perpustakaan
ERD dari Sistem Perpustakaan Vidyaneka

Leave a Comment