Model data: hierarkis, jaringan, relasional, objek

From OnnoWiki
Revision as of 08:58, 13 April 2025 by Onnowpurbo (talk | contribs) (Created page with "Berikut adalah **Modul 3: Model Data dan Entity Relationship (ER)** yang dirancang untuk mata kuliah *Sistem Basis Data*, dengan fokus pada berbagai model data (Hierarkis, Jar...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Berikut adalah **Modul 3: Model Data dan Entity Relationship (ER)** yang dirancang untuk mata kuliah *Sistem Basis Data*, dengan fokus pada berbagai model data (Hierarkis, Jaringan, Relasional, dan Objek), serta implementasi dasar menggunakan MySQL di Ubuntu 24.04.

---

    1. **Modul 3: Model Data dan Entity Relationship (ER)**
      1. **Tujuan Pembelajaran**

Setelah mempelajari modul ini, mahasiswa mampu: - Menjelaskan berbagai jenis model data: hierarkis, jaringan, relasional, dan objek. - Memahami konsep Entity-Relationship (ER). - Mengimplementasikan model relasional dan desain ER menggunakan MySQL di Ubuntu 24.04.

---

      1. **3.1 Pengantar Model Data**

Model data adalah cara untuk mendeskripsikan struktur logis dari data, hubungan antar data, serta aturan integritasnya. Berikut adalah beberapa jenis model data:

---

      1. **3.2 Model Data Hierarkis**
    • Definisi:**

Model data yang menyusun data secara bertingkat seperti pohon (tree structure). Setiap parent dapat memiliki banyak child, tetapi setiap child hanya memiliki satu parent.

    • Contoh:**

Struktur organisasi perusahaan: - CEO

 - Manager  
   - Karyawan
    • Catatan:**

Model ini **tidak digunakan** secara langsung di MySQL, tapi bisa divisualisasikan melalui struktur tabel dengan relasi `parent-child`.

---

      1. **3.3 Model Data Jaringan (Network Model)**
    • Definisi:**

Memungkinkan setiap record memiliki banyak parent dan banyak child. Hubungan direpresentasikan melalui pointer atau relasi eksplisit.

    • Contoh:**

Dalam sistem proyek: - Seorang karyawan bisa terlibat di banyak proyek. - Satu proyek bisa melibatkan banyak karyawan.

    • Implementasi MySQL (Relasi Many-to-Many):**

```sql -- Tabel Karyawan CREATE TABLE karyawan (

   id_karyawan INT PRIMARY KEY,
   nama VARCHAR(50)

);

-- Tabel Proyek CREATE TABLE proyek (

   id_proyek INT PRIMARY KEY,
   nama_proyek VARCHAR(50)

);

-- Tabel relasi banyak ke banyak CREATE TABLE karyawan_proyek (

   id_karyawan INT,
   id_proyek INT,
   PRIMARY KEY (id_karyawan, id_proyek),
   FOREIGN KEY (id_karyawan) REFERENCES karyawan(id_karyawan),
   FOREIGN KEY (id_proyek) REFERENCES proyek(id_proyek)

); ```

---

      1. **3.4 Model Data Relasional**
    • Definisi:**

Model data yang paling umum digunakan saat ini, data disimpan dalam bentuk tabel (relasi), dan relasi dihubungkan melalui *foreign key*.

    • Contoh MySQL (Relasi Satu ke Banyak):**

```sql -- Tabel Mahasiswa CREATE TABLE mahasiswa (

   nim VARCHAR(10) PRIMARY KEY,
   nama VARCHAR(50)

);

-- Tabel Nilai CREATE TABLE nilai (

   id_nilai INT PRIMARY KEY AUTO_INCREMENT,
   nim VARCHAR(10),
   mata_kuliah VARCHAR(50),
   nilai INT,
   FOREIGN KEY (nim) REFERENCES mahasiswa(nim)

); ```

---

      1. **3.5 Model Data Berorientasi Objek**
    • Definisi:**

Model ini menggabungkan konsep dari OOP (Object-Oriented Programming) seperti class, inheritance, dan encapsulation ke dalam basis data.

    • Catatan:**

MySQL tidak mendukung sepenuhnya model ini, namun konsep objek bisa ditiru lewat tipe data JSON atau penggunaan prosedur dan trigger.

    • Contoh Pendekatan Obyek di MySQL (menggunakan JSON):**

```sql CREATE TABLE produk (

   id INT PRIMARY KEY,
   nama_produk VARCHAR(50),
   spesifikasi JSON

);

-- Insert data INSERT INTO produk VALUES (1, 'Laptop', JSON_OBJECT('RAM', '16GB', 'CPU', 'Intel i7')); ```

---

      1. **3.6 Entity Relationship (ER) Model**
    • Definisi:**

ER Model digunakan untuk merancang skema basis data sebelum diubah menjadi tabel relasional. ERD (Entity Relationship Diagram) merepresentasikan entitas, atribut, dan relasi antar entitas.

        1. Komponen ER:

- **Entitas:** Objek nyata (misalnya: Mahasiswa, Dosen) - **Atribut:** Ciri dari entitas (misalnya: nama, NIM) - **Relasi:** Hubungan antar entitas (misalnya: Mahasiswa mengikuti Mata Kuliah)

---

      1. **3.7 Studi Kasus & Implementasi ER ke MySQL**
    • Desain ER:**

- Entitas: Mahasiswa, Dosen, Mata Kuliah - Relasi: Dosen mengajar Mata Kuliah, Mahasiswa mengikuti Mata Kuliah

    • Implementasi di MySQL Ubuntu 24.04:**

```sql CREATE TABLE dosen (

   id_dosen INT PRIMARY KEY,
   nama_dosen VARCHAR(50)

);

CREATE TABLE matakuliah (

   id_matkul INT PRIMARY KEY,
   nama_matkul VARCHAR(50),
   id_dosen INT,
   FOREIGN KEY (id_dosen) REFERENCES dosen(id_dosen)

);

CREATE TABLE mahasiswa (

   nim VARCHAR(10) PRIMARY KEY,
   nama VARCHAR(50)

);

CREATE TABLE krs (

   nim VARCHAR(10),
   id_matkul INT,
   PRIMARY KEY (nim, id_matkul),
   FOREIGN KEY (nim) REFERENCES mahasiswa(nim),
   FOREIGN KEY (id_matkul) REFERENCES matakuliah(id_matkul)

); ```

---

      1. **3.8 Kesimpulan**

- Model data relasional adalah yang paling banyak digunakan di dunia nyata. - Entity Relationship Diagram membantu mendesain database yang efisien. - MySQL mendukung penuh model relasional dan bisa meniru model lainnya secara terbatas. - Implementasi ERD ke tabel MySQL sangat penting sebagai dasar membangun sistem informasi.

---

Kalau kamu mau saya bantu juga buat versi PowerPoint atau diagram ER-nya, tinggal bilang ya!