Perancangan Basis Data Menggunakan ERD

image

1. πŸ“Œ Pengertian Perancangan Basis Data

Perancangan basis data adalah proses merancang struktur database agar:

  • Data tersimpan dengan baik
  • Mudah diakses
  • Minim redundansi
  • Mendukung kebutuhan sistem

2. 🎯 Tujuan Perancangan Database

  • Menghasilkan database yang efisien
  • Menghindari duplikasi data
  • Menjamin integritas data
  • Mempermudah pengembangan aplikasi

3. 🧠 Tahapan Perancangan Basis Data

https://images.openai.com/static-rsc-4/YD7-YgmefdvGCQlh0WkMLwAepN7UEryPKf600C6AkZJLQo0uVvmSpRh5x_YM7HjjJMzTUeb1ufZ17-f9ORD3bAu-rRInmA8WDKiW4JUVGkv8juxYvp6tjJUX6DflokA9RjE40jDhfHvEwRyfeHs-XnrZ2C4hVwW9QXZt7t-rhR0zxvz9y7rtowpshi0FuIIx?purpose=fullsize
https://images.openai.com/static-rsc-4/83OhBKNmUhjkihezm5l8EYXusnQTXyJeWnERCEWxfI9JOM7OQPS352jkF-xUiIPkaPb-PuUCK8Vhmdu44s3xZI93XrR-6dWsX058CIVUfPY9B8VUsHwnDl6BtotY95gWQsz17qk7KX4keVpZrcO4QL3wL30od4EQTvc_R-_otSYo0NbedKWRdXAP0kO74Ol8?purpose=fullsize
https://images.openai.com/static-rsc-4/8sMbaYpCCEFfWP5qjsFSKARiHfKylXmbp-DglmD4c4_L1B2D7P2efVOgAh-k2mS1RFi6mCPCXKn48DyB1sDyjFQVcLls2zRwcXUA-AWSSICZ0YtlimuEjPF_Fy23EEn2nonRDb2l7bXZBCJdZkw1xxuNJbDh1MeBSgSUo9WTD2Jvlklmqybc177I15_001XL?purpose=fullsize

7

πŸ“Œ Tahapan:

  1. Analisis kebutuhan
  2. Perancangan konseptual (ERD)
  3. Perancangan logikal
  4. Perancangan fisikal
  5. Implementasi database

4. πŸ”· ERD dalam Perancangan Database

ERD (Entity Relationship Diagram) adalah alat utama untuk menggambarkan struktur database secara visual.


5. 🧩 Komponen ERD


5.1 🧍 Entitas

https://images.openai.com/static-rsc-4/lIahgmp6zRBKMYYceENPMxZhxtgjmYLQBVGMGoTI5lgC7R4clvBRCFZ4ETvkBOuCJdYn7GfO22mH8ovhv2aY7Opy_QhKndB3CeeuPNmAMFNsafe9I7P9a4lGx3ECsQwooCGnmfwZGHttff-R6mtLxSg5xd5ru2KSARUcoQ8IQThYTZvhMEk03g8Os3mHFc9P?purpose=fullsize
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

7

Contoh:

  • Mahasiswa
  • Produk
  • Pelanggan

5.2 🏷️ Atribut

https://images.openai.com/static-rsc-4/JbmrtzbiyMtF2mgHic3vzuA4KrWoE6tjP2FKBIbOxfLXoa-mIXVYpL0JNrPQZAuG-kDwXEndl6LZf5nuflIU8hkkd2CSS225O0mHF1Ighl6-4981ErnDvY5El0ittbfNrTHpvKxGUXngMAJVSU3zDMNiHWUz6XUiVdN-gD-cQ7It7XOALQEOD7Y0_yjpibOl?purpose=fullsize
https://images.openai.com/static-rsc-4/uG_ZswZb8xu7IazLn9dJF3VtGYodsueM3vvnRFi7aHoQ2mOrSOOec9NQHRfwKciGnOp3axo71RkaLikBBcfe5GkQDJs-P9E5u7Vl8JORBJ-lAoTTbLOK_DlUSDxpP5ujfnhFScB6spKV47m2FLsIEq3718zTTsybhgith7IUnYMtDl-CF4wamx25kuPT_RXH?purpose=fullsize
https://images.openai.com/static-rsc-4/oOEfzFXEyfjz04f7Q9FE20vDY53npyK7e6xHMYb0pTaL9RpsIiU-mfr985VneuSJEKWqFl1pTJkSuBDO-AmFl4aHofpxEbkA4IfR01LZI7bXtr7lnP6NCHLaMadfXLFvqz44UuNFFYG1zUyAYJG77E7zFU9cjJaEVK2B28p7txzkHrd5fSpFcUaga8u_RpU6?purpose=fullsize

6

Contoh:

  • Nama
  • ID
  • Alamat

5.3 πŸ”— Relasi

https://images.openai.com/static-rsc-4/divV7P56t6Ev366xAULMV5brYkUVILK1ZgCWt1nP6USMjZFn5EQlodWreL1oUYUFWeMMQgbXdoxMhERLRlVQr7McFfV-1-gw-JjbYBjEBfOG5fX2aP_d6tU-e-iTiSlAMh22bJPiA0FYXTUGzHW_OoM2QL601dWS9kPqs-8EBh4lJa9y26IIkTKWdPjHkI4u?purpose=fullsize
https://images.openai.com/static-rsc-4/-TTXeRFeYbBW41ufLv1G1hjMay3kizaReSQcpsfK2fjUz6G49Mlka1l12IlocEv1ZPwlJFwcHuXxDLLxcjOgyLaz3uRLzvVr_3CCllrxh70sI4u1xH1qTCaDhEptstoLAXK4h47Sy2hRrzv47Mcd3vBS9OAPhXnRIQ5DZECVZ3Qc5LiH8RXScqQTXnZHjraN?purpose=fullsize
https://images.openai.com/static-rsc-4/yKNk_gGXeKMxBhBXB3B-3sqOYgsEi2YMTQL2XqTdn2YKSxmv2SWXAmEnXW1Fdq66Vav483nrmwjoJEhr8ns2HYtdeLoUkdd-npnzNnqnM639lejnKpMG4rLEgELM5uJPTTEv9nISOBw9nJxwWhAeepN_fjxEluW_cSORohMYsyNthaxhSDgG5T-SV_YfZqNO?purpose=fullsize

7

Jenis:

  • 1:1
  • 1:N
  • M:N

6. πŸ“Š Contoh Studi Kasus

πŸŽ“ Sistem Akademik

https://images.openai.com/static-rsc-4/azrWOg1BkdEEORscQzmWlAy0V75tBoEXkXVV4EOqxYb5saLuu2kmFEtvL53WSQS1t__3nr-_CU-gZpOy3tx3NjWXqYtq8kvTY6QyCu-MqiT4Zsq9PppUf7gLfOrVzvm-hvLQCuvAycBa91uI39X6var7R4106mXKrRr3eG7teFix0LZWQCH9vcvJnm_8NO43?purpose=fullsize
https://images.openai.com/static-rsc-4/4iSRHJfKsg5ywhXJZmCLIUwlcLB6DTMIgQC9wM8gcYpljnbSUwieF7t6sjlXw1XqVlHV7lCk2F6GDifw6JA-OYzCczp-M45HVtcxY_I8DvjPs1o5jTlf-7iGtLhG3t482ZCtb6wk14WYGRLapfAm8ijwMt2Lt1ByitLUu2ksKptfVDYbzbuK0Hosxrgelgrx?purpose=fullsize
https://images.openai.com/static-rsc-4/MajwAo_BjhOsw_f_COORsO2YpXnJnyAlWG9LxXX8F4uUF1zy8CarliF9ttMiyKuFoFmpfKPVnaw2i-plIF0zTBlwNeVHA5_pESZj-TLhCfG7OXRSu5B8t0PepPTxLC-cDYjtLLvD9zR6zjZXxn5d6qqLxybiJFZ1PueiEfOVbAkG9W6HzXwfbWNkIkP8G6Rk?purpose=fullsize

5

πŸ“Œ Entitas:

  • Mahasiswa
  • MataKuliah
  • KRS

πŸ“Œ Relasi:

  • Mahasiswa mengambil MataKuliah

7. πŸ”„ Transformasi ERD ke Tabel

πŸ“Œ Mapping:

  • Entitas β†’ Tabel
  • Atribut β†’ Kolom
  • Relasi β†’ Foreign Key

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

Entitas:

  • Buku
  • Anggota
  • Peminjaman

🎯 Latihan 2:

Tentukan:

  • Primary Key
  • Relasi

11. πŸ“ Tugas Praktikum


🎯 Tugas: Sistem Penjualan

https://images.openai.com/static-rsc-4/Sbme3svZxB_QYVk4VCzqADP_aT8ntwPABLhVDyNpRpySovhVqbzH4UYGL72Ie99LK5jhJFNktbuxnbP5YbXz422WUg64bCF2sme7f1OWrSOAzJB-3oItBElQsMsydInalYEAEyKyw9TCXfmo_Zmwy2eVYCu0LGpE40nrc4mcM9nqLNzRKP2oJXXasczYTWxd?purpose=fullsize
https://images.openai.com/static-rsc-4/PmneWCvP1R33OeZAMe6PBsCHczWGp6FPRiQJvCwNBs5zSYyR2kEThF4WSc_w1QvV1afJ11q8jJRg-s7eb0OaurCxNjELyzblOUcnt-5Jf9_sTh5fLdq2wVzxhxwIo3_1BcXeQABKrlIBuJ4PBgIR6MX9y1DMB-cRiKB5D-XWwfxIyymBuYGydhjr_NbdTNHh?purpose=fullsize
https://images.openai.com/static-rsc-4/TES5Yl8YVere1oefEvl4wvw8dxo9dOZkj_r_HZq9j7k5Xk8jEJmvi_x7U65WznUVhovFkiB7izyHsodM_o8rIg-viTlt2-gsw_V-5AUColCnyvOwQk-O2mQl0B0TldADdVxxVvpitbhTM3Jm7k0fwAqLNlOdycCOpk3JMZBpjB1dqocwpfh0ikHl2oSrOIdL?purpose=fullsize

7

πŸ“Œ Ketentuan:

  1. Buat ERD
  2. Implementasi database
  3. Tampilkan data dengan PHP

πŸ“Œ Struktur Database:

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. 🧠 Normalisasi (Singkat)

https://images.openai.com/static-rsc-4/S4ZjVQu389z8_yTRiZ1PwzHBkXLLHum_AOpnDWdvEf5-2N6xX8Trh8nmaVgP_GXSAGxSY4ZShLu9X4Yu4Vq9Y5F9oNBdTARoCwKqkW46lLrVHuq6PCm8r9WAmuRH8GPeSnpfWNxjf0IDHYL4bi8rvMOaKNydXpZhK-jY5aKOh6d_pHOkDepGjzaB4DF9EcIa?purpose=fullsize
https://images.openai.com/static-rsc-4/4StCyI-EAI1-cgu0Iix6w7_igZGA4dbrHWQen6CLXB4TQmsUW9dAOKlgbhWQaWJGZRpy7qsMBeUhbsuqW9hU9CcaHXoT--yOEx5Lr7jWaxQAACXSNereDWiK5k3Rxanoiy2nzN9HSIkukqVV-qtv0IL_qlFCfzaI5wQcVtvilKirH_fS8ecCmOCkEfs_Aq8t?purpose=fullsize
https://images.openai.com/static-rsc-4/9IvP4k8tNF0Yy1lBxcGbqDTe2a-389wt64xsAlKrFdSLzp24GCQXX2RpvRKIkfSbxnPl7hQTjnQPKx2_jNdr_3wnYFbZ3w-i7Oi29Sd7SFgS3J-HtT2V2KB1YArByyunVkP7w-imgrUnURj578wljfCyit8P5-i3AIgAZWQq7moup66DeS8Z3P4v9g3i3lRN?purpose=fullsize

7

πŸ“Œ Tujuan:

  • Menghilangkan redundansi
  • Meningkatkan efisiensi

13. 🎯 Kesimpulan

  • ERD adalah alat penting dalam perancangan database
  • Membantu visualisasi hubungan data
  • ERD β†’ Tabel β†’ Implementasi SQL β†’ Aplikasi

14. πŸ“š Diskusi

  1. Apa fungsi ERD?
  2. Bagaimana mengubah ERD ke tabel?
  3. Apa itu relasi M:N?
  4. Mengapa normalisasi penting?