• Tidak ada hasil yang ditemukan

MODUL 1 SEPUTAR PERANCANGAN DATABASE. 1.1 Entity-Relationship Model (ER Model) dan Entity Relationship Diagram (ERD)

N/A
N/A
Protected

Academic year: 2021

Membagikan "MODUL 1 SEPUTAR PERANCANGAN DATABASE. 1.1 Entity-Relationship Model (ER Model) dan Entity Relationship Diagram (ERD)"

Copied!
16
0
0

Teks penuh

(1)

MODUL 1

SEPUTAR PERANCANGAN DATABASE

TUJUAN PRAKTIKUM

1. Praktikan mampu menggambarkan ERD dengan baik dan benar dengan ER Modeling. 2. Praktikan dapat memahami konsep Basis Data Relasional.

3. Praktikan mampu menyelesaikan permasalahan basis data yang diberikan. 4. Praktikan mampu merancang database sederhana.

PERLENGKAPAN

1. Modul Praktikum Basis Data 2. Microsoft Excel

LANDASAN TEORI

1.1 Entity-Relationship Model (ER Model) dan Entity Relationship Diagram (ERD)

Entity-Relationship Model adalah model untuk mendeskripsikan isi suatu basis data dalam bentuk entitas, atribut, dan relationship antar entitas. ER Model ini diperkenalkan pada tahun 1976 oleh P.P. Chen. ER Model terdiri objek-objek dasar berupa entitas yang dapat merepresentasikan data yang ada. Dimana entitas tersebut memiliki suatu atribut dan dapat berhubungan dengan entitas lain melalui relationship. Fungsi dari model ini sendiri yaitu untuk menjembatani objek-objek nyata dengan basis data.

Apabila kumpulan entitas dalam ER Model telah dihubungkan secara lengkap dengan atribut dan relasinya, maka akan didapatkan Entity Relationship Diagram (ERD). Dimana ERD itu sendiri adalah diagram yang menggambarkan strutkur entitas dan hubungan antar entitas tersebut, untuk menggambarkannya digunakan beberapa notasi dan simbol. Berikut ini adalah notasi-notasi yang terdapat dalam Entity Relationship Diagram (ERD).

No Simbol/Notasi Arti

(2)

2 Weak Entity The

3 Relationship The

4 Identifying Relationship The

5 Attribute (Simple) 6 Key Attribute 7 Multivalued Attribute 8 Composite Attribute 9 Derived Attribute 10 Total Participation

11 Cardinality ratio 1:N for E1:E2

in R

12 Structural Constraint (min,

max) on Participation of E in R

Berikut ini adalah penjelasan dari notasi-notasi yang digunakan di ERD.

1. Entitas (Entity) adalah objek atau hal spesifik yang dapat diidentifikasi dalam lingkungan pemakai yang kemudian direpresentasikan dalam database. Simbol dari entitas ini biasanya digambarkan dengan bentuk persegi panjang. Ada dua jenis entitas yakni: 1) Strong entity (entitas kuat) merupakan entitas yang mandiri, yang keberadaannya

tidak bergantung pada keberadaan entitas yang lainnya. Entitas kuat selalu memiliki karakteristik yang unik disebut identifier (sebuah atribut tunggal atau gabungan atribut-atribut yang secara unik dapat digunakan untuk membedakannya dari entitas kuat yang lain).

2) Weak entity (entitas lemah) merupakan entitas yang keberadaannya sangat bergantung pada keberadaan entitas yang lainnya. Entitas lemah tidak memiliki

(3)

identifier sendiri. Entitas lemah tidak memiliki arti apa-apa tanpa kehadiran entitas di mana mereka bergantung. Entitas yang di mana entitas lemah bergantung dinamakan identifying owner. Secara umum, dalam diagram ER entitas lemah memiliki atribut yang berperan sebagai partial identifier (identifier yang berfungsi secara sebagian). 2. Atribut (Attribute) adalah sifat atau karakteristik yang digunakan untuk mendeskripsikan

sebuah entitas. Contoh: Entitas mahasiswa mempunyai atribut NIM, nama, jenis kelamin, tanggal lahir, dan sejenisnya yang mencirikan bahwa dia mahasiswa. Isi data dari atribut ini hanya boleh diisi dengan 1 data. Setiap mahasiswa hanya memiliki 1 NPM, 1 Nama, 1 Alamat. Simbol dari atribut ini biasanya digambarkan dengan bentuk oval. Ada beberapa jenis atribut yakni:

1) Simple Attribute (Atribut biasa) merupakan atribut yang memiliki nilai pasti dan tidak ganda. Misalnya: bagi setiap mahasiswa yang di kuliah di satu kampus, mereka hanya memiliki satu atribut NIM, jenis kelamin, dan sebagainya yang tidak bernilai ganda. 2) Composite Attribute (Atribut gabungan) merupakan atribut yang memiliki nilai

gabungan dari beberapa atribut lainnya. Misalnya: nama bisa terdiri dari nama depan, nama tengah dan nama belakang atau alamat yang bisa terdiri dari jalan, nomor, kecamatan, kota.

3) Multi-valued Attribute (Atribut bernilai ganda) merupakan atribut yang memiliki nilai bisa lebih dari satu. Misalnya: no handphone yang dimiliki entitas mahasiswa, bisa saja satu mahasiswa memiliki lebih dari satu no hanphone.

4) Derived Attribute merupakan atribut yang nilainya dapat diperoleh dari nilai atribut lain. Misalnya: umur bisa menjadi atribut untuk seorang manusia, tetapi umur tersebut hanya dapat diperoleh, jika terdapat atribut tanggal lahir. Maka, umur adalah derived attribute yang nilainya bisa didapatkan dari kalkulasi tanggal lahir.

5) Key Attribute merupakan atribut yang memiliki nilai unik. Di mana nilai tersebut tidak berubah-ubah, seperti NIM, ID pegawai, dan sejenisnya. Key attribute juga tidak bisa bernilai NULL. Untuk atribut jenis ini, masih ada kemungkinan untuk menjadi composite attribute. Kemudian, untuk setiap entitas bisa saja memiliki lebih dari satu Key attribute. Contohnya, taksi yang memiliki nomor taksi dan plat mobil yang unik. 3. Relasi (Relationship) merupakan hubungan yang terjadi antar satu atau lebih entitas.

Relasi digambarkan dengan notasi belah ketupat. Ada jenis relasi rekursif dimana relasa ini menghubungkan satu entitas ke entitas itu sendiri.

(4)

4. Derajat Relasi atau Kardinalitas merupakan derajat yang menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lain. Macam-macam kardinalitas, misalkan hubungan antara entitas A dan B:

1) Satu ke satu (one to one), maksudnya adalah setiap anggota entitas A hanya boleh berhubungan dengan satu anggota entitas B, begitu pula sebaliknya.

Contoh : Rektor dengan (dan) Universitas dengan relasi memimpin, mahasiswa dengan NIM dengan relasi memiliki, dll

2) Satu ke banyak (one to many), maksudnya adalah setiap anggota entitas A dapat berhubungan dengan lebih dari satu anggota entitas B tetapi tidak sebaliknya.

Contoh : Pembeli dengam Mobil dengan relasi membeli, Dosen dengan Mahasiswa dengan relasi Perwalian, dll

3) Banyak ke banyak (many to many), maksudnya adalah Setiap anggota entitas A dapat berhubungan dengan banyak anggota entitas B dan sebaliknya.

Contoh : Pegawai dengan Proyek dengan relasi Bekerja pada, Pegawai dengan Bagian dengan relasi Ditugaskan ke, dll.

(5)

1.2 Model Relasional

Model relasional merupakan tabel 2 dimensi yang mempunyai karakteristik seperti di bawah ini yaitu :

 Baris berisi data tentang entitas.

 Kolom berisi data tentang atribut dari entitas.  Cell pada tabel memeang sebuah nilai single.  Semua masukan pada kolom harus jenis yang sama.  Setiap kolom mempunyai nama yang unik.

 Susunan kolom tidak penting.  Susunan baris juga tidak penting.  Tidak boleh ada dua baris yang serupa.

1.3 Pemetaan Entity Relationship Diagram ke Model Relasional

1. Untuk Entitas kuat :

Buat satu relasi, masukkan semua atribut sederhana dari ERD menjadi atribut pada model relasional (MR)

Primary key (PK) pada ERD menjadi PK pada Model Relasional (MR).

2. Untuk Entitas lemah :

Buat satu relasi, masukkan semua atribut sederhana ERD menjadi atribut pada MR. Masukkan PK dari entitas kuat pemilik entitas lemah ini, sehingga menjadi Foreign

key (FK) di sini.

PK relasi ini adalah partial key-nya + FK. 3. Untuk relationship 1 to 1 :

Masukkan PK dari entitas yang berpartisipasi tidak penuh (partial participation) -- yang digambarkan dengan garis tunggal -- ke relasi yang berpartisipasi penuh (total

participation) --yang digambarkan dengan garis ganda -- menjadi FK pada relasi ini.

Jika terdapat atribut pada relationship, masukkan ke relasi yang berpartisipasi penuh.

PK pada relasi ini adalah sama dengan PK pada ERD. 4. Untuk relationship 1 to Many (1 to N) :

Masukkan PK dari entitas sisi 1 ke relasi sisi N, sehingga menjadi FK pada relasi baru ini.

Jika terdapat atribut pada relationship, masukkan ke relasi yang berada pada sisi N. PK relasi ini adalah sama dengan PK pada ERD.

(6)

5. Untuk relationship many to many (N to N) :

Buat satu relasi tersendiri, yang atributnya terdiri atas PK-PK dari masing-masing entitas yang berpartisipasi.

PK-PK tersebut menjadi FK pada relasi baru ini.

Gabungan FK-FK tersebut adalah PK baru pada relasi ini.

Jika terdapat atribut pada relationship-nya, masukkan juga sebagai atribut anggota. 6. Untuk multivalued attribute (atribut bernilai banyak) :

Buat satu relasi tersendiri, yang atributnya terdiri atas atribut bernilai banyak tersebut ditambah dengan PK dari entitas pemilik atribut bernilai banyak tersebut. PK relasi ini adalah gabungan atribut-atribut tersebut di atas.

7. Untuk relationship n-ary (keterhubungan yang lebih dari dua) :

Buat satu relasi tersendiri, yang atribut-atributnya terdiri atas PK-PK dari setiap entitas yang berpartisipasi.

PK-PK tersebut menjadi FK pada relasi baru ini.

Gabungan FK-FK tersebut adalah PK baru pada relasi ini.

Jika terdapat atribut pada relationship-nya, masukkan juga sebagai atribut anggota.

1.4 Normalisasi

Normalisasi merupakan teknik analisis data yang mengorganisasikan atribut-atrbut data dengan cara mengelompokkan sehingga terbentuk entitas yang non redundant, stabil, dan fleksible.

Normalisasi dilakukan sebagai uji coba pada suatu relasi secara berkelanjutan untuk menentukan apakah relasi itu sudah baik, yaitu dapat dilakukan proses insert, update, delete, dan modifikasi pada satu atau beberapa atribut tanpa mempengaruhi integritas data dalam relasi tersebut.

Sebuah tabel yang merangkum semua kelompok data yang saling berhubungan, bukan merupakan tabel yang baik disebut Tabel Universal atau Unnormalized Table. Biasanya didapat dari form data dari user bisnis (diusahakan mendapat form yang sudah terisi data). Ada 3 bentuk Normalisasi yaitu :

1) Bentuk Normal ke Satu (1NF) Syarat :

 Tidak ada set atribut yang berulang atau bernilai banyak (multivalued attribute), atribut composite atau kombinasi antara keduanya.

(7)

 Tiap atribut hanya memiliki satu pengertian.

Setiap atribut dalam tabel tersebut harus bernilai atomic (satu cell hanya menampung satu nilai)

2) Bentuk Normal ke Dua (2NF) Syarat :

 Bentuk normal 2NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk 1NF, dan semua atribut selain primary key secara utuh memiliki Functional Dependency pada primary key.

 Sebuah tabel tidak memenuhi 2NF jika ada atribut yang ketergantungannya (Functional Dependency) hanya bersifat parsial saja (hanya tergantung pada sebagian dari primary key)

 Jika terdapat atribut yang tidak memiliki ketergantungan terhadap primary key, maka atribut tersebut harus dipindah atau dihilangkan.

3) Bentuk Normal ke Tiga (3NF) Syarat :

 Bentuk data telah memenuhi kriteria bentuk normal ke dua.

Tidak ada atribut non primary key yang memiliki ketergantungan terhadap

atribut non primary key yang lainnya (tidak terdapat ketergantungan transitif). Seluruh atribut bukan kunci pada suatu relasi hanya memiliki ketergantungan fungsional terhadap primary key di relasi itu saja.

1.5. Ketergantungan pada Normalisasi

a) Functional Dependency (Ketergantungan Fungsional)

Notasi: A B

A dan B adalah atribut dari sebuah tabel. Berarti secara fungsional B tergantung pada A. Jika ada 2 baris data dengan nilai A yang sama, maka nilai B juga sama.

(8)

 Nrp namaMhs

Karena untuk setiap nilai nrp yang sama, maka nilai namaMhs juga sama.  {Namakul, nrp} NiHuruf

Karena attribut Nihuruf tergantung pada Namakul dan nrp secara bersama-sama. Dalam arti lain untuk Namakul dan nrp yang sama, maka NiHuruf juga sama, karena Namakul dan nrp merupakan key (bersifat unik).

b) Transitive Dependency (Ketergantungan Transitif)

Definisi bentuk dependensi transitif adalah sebagai berikut : Atribut Z mempunyai dependensi transitif terhadap X, bila : 1)Y memiliki dependensi fungsional terhadap X. (XY) 2)Z memiliki dependensi fungsional terhadap Y. (YZ) Sehingga : X Y Z

(9)

1.6 Contoh Kasus ERD

Di sebuah universitas, ketika masa registrasi mulai berdatangan, mahasiswa pasti melakukan registrasi mata kuliah. Mahasiswa wajib mengambil minimal 1 mata kuliah di setiap semesternya agar mereka dapat menyelesaikan perkuliahan mereka sesuai dengan SKS yang ada. Di setiap mata kuliah tentunya ada beberapa orang dosen yang akan mengajar mata kuliah tersebut. Setiap mata kuliah pasti ada 1 koordinator mata kuliah yang berasal dari kalangan dosen.

Ketika seorang mahasiswa sudah mencapai tingkat akhir, mahasiswa tersebut pasti mengambil tugas akhir. Ketika menjalani tugas akhir tersebut, mahasiswa pasti dibimbing oleh 1 dosen pembimbing.

Buatlah ERD sederhana dengan atribut-atribut penting (2 saja) untuk setiap entitasnya, kemudian gambarkan juga model relasionalnya. Setelah itu, buatlah tabel database serta lakukan normalisasinya.

Jawaban :

1. Entity Relationship Diagram

MAHASISWA MATA KULIAH DOSEN MENGAMBIL MEMBIMBING MENGAJAR N N N 1 N N

NIM NAMAMHS KODE NAMA_MATKUL

(10)

2. Model Relasional MAHASISWA MATA KULIAH DOSEN MENGAMBIL MEMBIMBING MENGAJAR N N N 1 N N

NIM NAMAMHS KODE NAMA_MATKUL

NIP Nama KODE NIM KODE NIP NIP Tabel Mahasiswa Tabel Dosen

Tabel Mata Kuliah

Tabel Mengambil

NIM NAMAMHS NIP

NIP Nama

(11)

Tabel Mengajar

NIM KODE

(12)

1.7 Contoh Kasus Normalisasi

Diberikan sebuah tabel universal di bawah ini dan lakukan normalisasi sampai bentuk

ketiga.

Bentuk Normal ke 1 (1NF)

Tabel Perkuliahan belum memenuhi syarat 1NF karena kolom Telepon bersifat multivalue.

Solusi agar tabel Perkuliahan memenuhi syarat 1NF adalah dengan melakukan pemecahan tabel atau dekomposisi tabel. Namun perlu diingat, dekomposisi tabel harus dilakukan dengan cermat agar data tetap konsisten (perubahan hanya terjadi pada struktur tabel tetapi tidak ada perubahan pada data).

Perhatikan bahwa (NIM) (Telepon). Dengan demikian, kita dapat memecah tabel Perkuliahan menjadi tabel DataPerkuliahan dan DataNomorTelepon seperti

(13)

Tabel DataPerkuliahan dan DataNomorTelepon tidak memiliki atribut yang bersifat multivalue. Tabel DataPerkuliahan dan DataNomorTelepon juga tidak memiliki lebih dari satu atribut

dengan domain yang sama.

Dengan demikian dapat disimpulkan bahwa tabel DataPerkuliahan dan DataNomorTelepon telah memenuhi syarat 1NF dan siap untuk diperiksa apakah memenuhi syarat bentuk normal level berikutnya (2 NF).

Bentuk Normal ke 2 (2NF)

Untuk mengonversi tabel ke bentuk nomal kedua, kita memisahkan tabel DataPerkuliahan menjadi beberapa tabel.

Untuk lebih jelasnya perhatikan tabel DataPerkuliahan hasil tahap sebelumnya:

Perhatikan bahwa:

1. (nim, kode_mk) adalah candidate key.

2. FD1: (nim) (nama_mhs, kd_jur, nama_jur) 3. FD2: (kode_mk) (nama_mk, sks)

4. FD3: (nim,kode_mk) nilai

(14)

1. FD 1: (nim,kode_mk) (nama_mhs,kd_jur,nama_jur) secara parsial. 2. FD 2: (nim,kode_mk) (nama_mk,sks) secara parsial .

Walaupun tabel DataPerkuliahan telah memenuhi syarat 1NF namun karena terjadi

partial functional dependency maka tabel T-1 DataPerkuliahan belum memenuhi syarat

2NF.

Solusinya adalah dengan melakukan dekomposisi terhadap tabel DataPerkuliahan dengan tetap menjaga agar datanya tetap konsisten. Hal ini dapat dilakukan dengan melakukan dekomposisi tabel sesuai FD1, FD2 dan FD3 yang telah kita analisis sebelumnya. Adapun hasil dekomposisi dari tabel DataPerkuliahan adalah 3 tabel berikut ini :

(15)

Ketiga tabel hasil dekomposisi tersebut sudah tidak mengalami partial functional

dependency. Dengan demikian ketiga tabel tersebut telah memenuhi syarat 2NF dan

siap untuk diperiksa apakah memenuhi syarat bentuk normal level berikutnya (3NF). Adapun Tabel DataNomorTelepon (hasil dekomposisi pada tahap 1NF) juga tidak mengalami partial functional dependency sehingga sudah memenuhi 2NF, tidak perlu didekomposisi lagi dan dapat langsung diperiksa apakah memenuhi 3NF bersama-sama dengan tabel DataJurusan, T-1-2 Matakuliah dan Nilai.

Bentuk Normal ke 3 (3NF)

Umumnya jika sebuah tabel telah memenuhi syarat bentuk normal ke tiga (3NF) maka tabel tersebut sudah dianggap ‘cukup normal’. Bentuk normal ke 3 adalah bentuk normal yang biasanya menjadi syarat minimum bagi sebuah desan tabel.

Untuk lebih jelasnya perhatikan tabel DataJurusan dari tahap sebelumnya:

Perhatikan bahwa:

 FD1: (nim) (nama_mhs, kd_jur, nama_jur)

 FD2: (kd_jur) (nama_jur) Berarti Terjadi Transitive FD:

(16)

Walaupun tabel DataJurusan telah memenuhi syarat 2NF namun karena terjadi

transitive functional dependency maka tabel

DataPerkuliahan belum memenuhi syarat 3NF. Solusinya adalah dengan melakukan dekomposisi terhadap tabel DataJurusan dengan tetap menjaga agar datanya tetap konsisten sesuai FD1dan FD2. Adapun hasil dekomposisi dari tabel DataJurusan adalah 2 tabel berikut ini:

Gambar

Tabel Mata Kuliah
Tabel Mengajar
Tabel  Perkuliahan  belum  memenuhi  syarat  1NF  karena  kolom  Telepon  bersifat  multivalue
Tabel DataPerkuliahan dan DataNomorTelepon tidak memiliki atribut yang bersifat multivalue

Referensi

Dokumen terkait

Seperti telah diuraikan diatas, sistem manajemen dalam hal penerapan total productive maintenance memerlukan suatu basis kelompok-kelompok maintenance yang berfokus

flavicarva dengan AgNO 3 dan waktu reaksinya.NPP yang dihasilkan dalam kondisi optimumlah yang akan diuji selektivitasnya terhadap beberapa logam yang sering terdapat di

ENTITY-RELATIONSHIP DIAGRAM (ERD) menampilkan relasi dari kumpulan entitas yang disimpan dalam database. Dengan kata lain, kita dapat mengatakan bahwa diagram ER membantu >>

Entity-Relationship adalah salah satu metode pemodelan basis data yang digunakan untuk menghasilkan skema konseptual namun dalam implementasinya tidak bergantung

pertama, pemohon. Majelis Hakim di dalam persidangan akan meneliti apakah orang yang mengajukan perkara permohonan dispensasi tersebut berhak mengajukan atau tidak. Pada

keluarga dengan minat beli mahasiswa menunjukkan bahwa tidak terdapat hubungan antara karakteristik keluarga (besar keluarga, pendidikan orang tua, pekerjaan orang tua, usia

Karena tingkat ketidakpastian yang relatif tinggi dari data-data laju transpor nitrogen global, pada saat ini tidak mungkin untuk menentukan apakah siklus nitrogen di laut

Gambar 2 menunjukkan Entity Relationship Diagram (ERD). Entity Relationship Diagram.. Top- Struk Akuntan Poli Co pada ga Dari menu aksesny navigas Master, Dari mengak Passwor