Model Data dan ERD (Entity Relationship Diagram)

image

1. ๐Ÿ“Œ Pengertian Model Data

Model data adalah representasi struktur data dalam sistem basis data yang menggambarkan:

  • Entitas (data)
  • Relasi antar data
  • Aturan (constraints)

Model data membantu dalam perancangan database yang terstruktur dan efisien.


2. ๐ŸŽฏ Tujuan Model Data

  • Memudahkan perancangan database
  • Menghindari redundansi data
  • Menjamin konsistensi data
  • Menjadi blueprint sebelum implementasi database

3. ๐Ÿงฉ Jenis-Jenis Model Data


3.1 ๐Ÿ“Š Model Konseptual

https://images.openai.com/static-rsc-4/pJugYJu1O5gRhvad6ufIZQEAJQdx8m_qJmhyyCZKVxlcHlJk5C4U5Cl_W26usuWiK8jc9oxAJ6i5cMUWTROY4jMppskBFCAOgMHhEMKA7leGW1TELu3GezAfzb4Np7ZLQXFAYLB_rOagzC-K44m1fV2bgUsGIe5bu05waTlO1kvLIKzEuaawoFNutqKzfJ1i?purpose=fullsize
https://images.openai.com/static-rsc-4/lIahgmp6zRBKMYYceENPMxZhxtgjmYLQBVGMGoTI5lgC7R4clvBRCFZ4ETvkBOuCJdYn7GfO22mH8ovhv2aY7Opy_QhKndB3CeeuPNmAMFNsafe9I7P9a4lGx3ECsQwooCGnmfwZGHttff-R6mtLxSg5xd5ru2KSARUcoQ8IQThYTZvhMEk03g8Os3mHFc9P?purpose=fullsize
https://images.openai.com/static-rsc-4/83OhBKNmUhjkihezm5l8EYXusnQTXyJeWnERCEWxfI9JOM7OQPS352jkF-xUiIPkaPb-PuUCK8Vhmdu44s3xZI93XrR-6dWsX058CIVUfPY9B8VUsHwnDl6BtotY95gWQsz17qk7KX4keVpZrcO4QL3wL30od4EQTvc_R-_otSYo0NbedKWRdXAP0kO74Ol8?purpose=fullsize

7

๐Ÿ“Œ Ciri:

  • Tingkat tinggi (high-level)
  • Fokus pada entitas dan relasi
  • Tidak detail teknis

3.2 ๐Ÿงฑ Model Logikal

https://images.openai.com/static-rsc-4/XH97h2IB7_VbZN5RaLYtQwXTkHfC0u4nTnv6Y0A7X-owB4d_8-Hfefr__o_hKj82wJel3a6mf7tLuFi4QCZ2rIjt90NiNBDKRWqj_lXgE2IH3qOo7n5ObXBOigkEBM0ei2CmCh6oqBorN3C6-B5ol1bXn5y8HfB-syNuFqLwc1Yu74uJjMw98Qf91n-OvGG8?purpose=fullsize
https://images.openai.com/static-rsc-4/j_HWUCi0QxjOQUgQ6rtDF-ZORsVYVTGL8_w6UblPLpq4_66w_y7S1jl_g56BH6zjh4MW5ChlE7DoCjStxoa-jUiOJli3fL1u3wScuUPkEpxSTuoQew_E33zCH_iFv2FbRDhev5pG9lS9znpfZ3nXY5XjT9oVWsHxfZaF_1RdLzzf8zv7Bc2UPpMAltCZvbJD?purpose=fullsize
https://images.openai.com/static-rsc-4/8sMbaYpCCEFfWP5qjsFSKARiHfKylXmbp-DglmD4c4_L1B2D7P2efVOgAh-k2mS1RFi6mCPCXKn48DyB1sDyjFQVcLls2zRwcXUA-AWSSICZ0YtlimuEjPF_Fy23EEn2nonRDb2l7bXZBCJdZkw1xxuNJbDh1MeBSgSUo9WTD2Jvlklmqybc177I15_001XL?purpose=fullsize

8

๐Ÿ“Œ Ciri:

  • Sudah ada atribut
  • Menentukan primary key dan relasi
  • Tidak tergantung DBMS

3.3 ๐Ÿ’พ Model Fisikal

https://images.openai.com/static-rsc-4/dI9nFdlUj89fKvXfb2ZcjPKqTGmjPzFk7CkxcSMKWkbRdAZMZ0BzmclgNN3OC1PKk7iv7HBlQCBnjJP1XPkWgL0_Jz9mE1uxlSFnu7Gge5iSaUp4O-VIewtDsFInKhCXCKyHZGoNoa-UEmCQpZ0H725Ru5wDjueVpeRV1Sa6Y210GmBmCueGu0S0A_twlBaq?purpose=fullsize
https://images.openai.com/static-rsc-4/hD586iID3u2ii1eno0ICLrtPOy-5WHo-gMtImKcCQCWjP2x0eBC_JdRNCwVUpMgfx8JSK4BfR4FONffGF_NSyCIjeCZLKnSHpBaxr1Nw5W8sSnI4L94Hd7rA-BTHKJoERx6x0KjBF-bYDhMIh-VOsMgnmlKfbOLuy4JiXj8JJNp0IpSzQA040GR9nnof3egu?purpose=fullsize
https://images.openai.com/static-rsc-4/4FPblEJdEhNYncUZyK-qWQmk_z_4YR2IwP_AGZrpQWVichDezDWLmX1cnF8DwrfUbiIjR5l40rRTCMM_bzSO1uex4HDnOoHKUP372ZAiZULRdjxWX04cR9kTXMFAe6es_lK369q743eDCDiaZK-FRUOCpwyuxTqNlC0aIUQ2FkHcG5oGWEcAnmD4x38wRQNH?purpose=fullsize

8

๐Ÿ“Œ Ciri:

  • Detail teknis (tipe data, index)
  • Digunakan untuk implementasi DBMS

4. ๐Ÿ”ท Pengertian ERD

ERD (Entity Relationship Diagram) adalah diagram yang digunakan untuk menggambarkan hubungan antar entitas dalam database.


5. ๐Ÿงฑ Komponen ERD


5.1 ๐Ÿง Entitas (Entity)

https://images.openai.com/static-rsc-4/rXE_mVXJ8u_7Mm8rm6zL8C9E8fHtnoqMoj0tRZxbnc1bH9ATX2HyBcomMfxMreUb6s9kqX7wfYuhpABkrSvLGCFp-Ucv-6Xlu5-7J7ATXAKlUj-LF4gB8DoUksiz8G9nXp2OJU05E32qMFERZitfhe5J2KG6MaFAgasrva4mxh59bxk53wVQ6t4eY1i50fYS?purpose=fullsize
https://images.openai.com/static-rsc-4/pJugYJu1O5gRhvad6ufIZQEAJQdx8m_qJmhyyCZKVxlcHlJk5C4U5Cl_W26usuWiK8jc9oxAJ6i5cMUWTROY4jMppskBFCAOgMHhEMKA7leGW1TELu3GezAfzb4Np7ZLQXFAYLB_rOagzC-K44m1fV2bgUsGIe5bu05waTlO1kvLIKzEuaawoFNutqKzfJ1i?purpose=fullsize
https://images.openai.com/static-rsc-4/fJRJfAXaAmEjbZ3SYCNxGhKJqz1uj1_U3ukcMAal1nsq2aIRgWLIy7ymROW173wbhINPp07ZcgRwhEFnqrT5ora7uwtehzFDmSA_P5uZmEISWMklgooHUgI5iQk7t4x-yxpCw_gPxhLs3-ny6pAoGFuTNhW_mEVl2jPDyacnC_bpm8YKGD0HPM27XpJkQlJ4?purpose=fullsize

7

๐Ÿ“Œ Pengertian:

Objek yang memiliki data (contoh: Mahasiswa, Dosen)


5.2 ๐Ÿท๏ธ Atribut (Attribute)

https://images.openai.com/static-rsc-4/JPFVXfqTWGTZX425nkCXg3TNzQ0TQB2XMzZxnShHxW0n0jG8xowkCdY7It0GM-V3FDOXzZCRWnkvvYV1mDLPB0M1_qzleup7__AWkXgeWbf9B6P4Jacbc8Xdnwo60D3MgPIcKs7AwY1ul4p7uii61OciJsPlQVhnK3KbJAroNozbsxXwRj-FqJXr3ngKa4ad?purpose=fullsize
https://images.openai.com/static-rsc-4/SmeuxenyNb4hVpTow9mE_119SUPeFjdY2RGgGAdrldB85Ysmk0KiYTpc5ohp1rmdyRg15JWocPwlhKJiuOGw-c4-RUNnyMbAqinr94ioNTdLWXH5q4HNGjly0wjJFKz2bUgB1hEm1GvCPbVT3uaDEdv03KBSb8nQOtnKoi79m3zBsWXwwodTbgitWnMo7cfo?purpose=fullsize
https://images.openai.com/static-rsc-4/MOA04_eGiL5mmC5BpxIFiZcOHRHfw3TphA_PAgyGX7QldHaJ9uTCdb4d6F55l2RYTv92Ujch3bnUNSPBx8IOeZwhXJX_6k_gekHCAfuaFV-ATPkv-DdjvjbBmdJ9pDgCiZHgXXHwek_vaP9_DqcRHCRrVwMfCmi68MsA2zkIr4WJ_8IxiI4q-fmfu4GbYORz?purpose=fullsize

6

๐Ÿ“Œ Jenis:

  • Primary Key
  • Attribute biasa
  • Multivalue
  • Composite

5.3 ๐Ÿ”— Relasi (Relationship)

https://images.openai.com/static-rsc-4/yttwcg0utOPA-qnnAIfDY5yjdhvObkvKuIs1GXualandqxya57uy_hoOlJfgTEWhtj6pnvgH_XHfKudpqL3Le9wwq8L6QL5wC7m3rSBkp8_p8MDHkoybEk4qg-Vm_AQSAzBPA35ds2jdP11NZNzvU4u64i2JTzaQ6N9J8k-nTLffmzyeDfl_-EjiXzI9IQoA?purpose=fullsize
https://images.openai.com/static-rsc-4/pJugYJu1O5gRhvad6ufIZQEAJQdx8m_qJmhyyCZKVxlcHlJk5C4U5Cl_W26usuWiK8jc9oxAJ6i5cMUWTROY4jMppskBFCAOgMHhEMKA7leGW1TELu3GezAfzb4Np7ZLQXFAYLB_rOagzC-K44m1fV2bgUsGIe5bu05waTlO1kvLIKzEuaawoFNutqKzfJ1i?purpose=fullsize
https://images.openai.com/static-rsc-4/EI_vOCg2eCg7Laz5uwHiSwLS1GBRomCvwWuDcmtvo63hKNu6iGwZCGf7mH7yqNa5PNcFh4-vbtDzVX6U0FlFt348aSUuPHyl4NQu95JU65tLC7ClUoELmIw1TUewF8yxAkBBnmnpU5kFNNeR20Js671oaR_XuIG9zofr9IvMINQEvv0xf6pFf95lL7Jqli7D?purpose=fullsize

7

๐Ÿ“Œ Jenis:

  • One to One (1:1)
  • One to Many (1:N)
  • Many to Many (M:N)

6. ๐Ÿ“Š Contoh ERD Sederhana

https://images.openai.com/static-rsc-4/LvDpIBC862jX7r_oWAcXwlq8ML4o9HN75TARh-9P2TQ1FhCSHMzTL-eUIUZnqJD1h9Zyqq7ZBPqeQ_JDZN-Az5moARW2UrMeQlftdOaLiLJPqbC7VYtygYEGd9R-3Xo-AeUX34U_M5CiYiDCdFj0JMy5tw2CJDs9dUQSih23T6n5sGkvz7t6tN6rVRwW10-w?purpose=fullsize
https://images.openai.com/static-rsc-4/VS1clrrIiEGsWeH_kUMtrl9UM4_zgaLdgFyXAN3BnbCs85WKAu22iENxOxDCHzpjmRSLJ-CzQt1Qho-9MaeiBoZxbMFoj2avjPmQFNPHXWp4Pd9t8pDBye3r9GV_rY2Or0mwqNsAMUDXqBVwW4tLnzf9I9jgIGYd3yskKaZ6B8MeiOaYL98JNPJ6KxJr741F?purpose=fullsize
https://images.openai.com/static-rsc-4/I3cGctL_QfEGdA7X_f8-nMEfoKF8QsDKXsPRGMqgzEAdELFFlFOzxA0_lADP62DrLVsQsRqhyJMzKS1uxmgPX5NDLFyMG0YRDGk74OX_QOTNZEYbARaEM72Hr2Trx47397oNlHuQDFqC4ZkJ3o5pQIr_a_q5Ly2QyaBHCrgE0llVH1xjtnYNaVEdRyNpoo96?purpose=fullsize

6

๐Ÿ“Œ Studi Kasus:

Sistem Akademik:

  • Mahasiswa
  • Mata Kuliah
  • KRS

7. ๐Ÿ”„ Transformasi ERD ke Database

Contoh:

Entitas:

  • Mahasiswa (NIM, Nama)
  • MataKuliah (KodeMK, NamaMK)

Relasi:

  • KRS

8. ๐Ÿ’ป Implementasi MySQL

CREATE DATABASE akademik;
USE akademik;CREATE TABLE mahasiswa (
nim VARCHAR(10) PRIMARY KEY,
nama VARCHAR(100)
);CREATE TABLE matakuliah (
kode_mk VARCHAR(10) PRIMARY KEY,
nama_mk VARCHAR(100)
);CREATE TABLE krs (
nim VARCHAR(10),
kode_mk VARCHAR(10),
PRIMARY KEY (nim, kode_mk),
FOREIGN KEY (nim) REFERENCES mahasiswa(nim),
FOREIGN KEY (kode_mk) REFERENCES matakuliah(kode_mk)
);

9. ๐ŸŒ Implementasi PHP Sederhana

<?php
$conn = mysqli_connect("localhost", "root", "", "akademik");$query = "SELECT * FROM mahasiswa";
$result = mysqli_query($conn, $query);while($row = mysqli_fetch_assoc($result)){
echo $row['nim']." - ".$row['nama']."<br>";
}
?>

10. ๐Ÿงช Latihan Sederhana

Latihan 1:

Buat ERD untuk sistem:

  • Perpustakaan
    • Buku
    • Anggota
    • Peminjaman

Latihan 2:

Tentukan:

  • Primary key
  • Relasi antar tabel

11. ๐Ÿ“ Tugas Praktikum

๐ŸŽฏ Tugas:

Buat sistem database Sistem Penjualan

๐Ÿ“Œ Ketentuan:

  1. Buat ERD
  2. Implementasi MySQL
  3. Buat tampilan PHP sederhana

๐Ÿ“Œ Entitas minimal:

  • Produk
  • Pelanggan
  • Transaksi

Contoh Struktur:

CREATE TABLE produk (
id_produk INT AUTO_INCREMENT PRIMARY KEY,
nama_produk VARCHAR(100),
harga INT
);CREATE TABLE pelanggan (
id_pelanggan INT AUTO_INCREMENT PRIMARY KEY,
nama VARCHAR(100)
);CREATE TABLE transaksi (
id_transaksi INT AUTO_INCREMENT PRIMARY KEY,
id_produk INT,
id_pelanggan INT,
FOREIGN KEY (id_produk) REFERENCES produk(id_produk),
FOREIGN KEY (id_pelanggan) REFERENCES pelanggan(id_pelanggan)
);

12. ๐ŸŽฏ Kesimpulan

  • Model data adalah dasar desain database
  • ERD membantu visualisasi struktur data
  • Implementasi dilakukan menggunakan SQL
  • ERD โ†’ Tabel โ†’ Program (PHP)

13. ๐Ÿ“š Diskusi

  1. Apa perbedaan model konseptual dan fisikal?
  2. Mengapa ERD penting?
  3. Apa fungsi primary key?
  4. Bagaimana mengubah ERD menjadi tabel?