• Tidak ada hasil yang ditemukan

Politeknik Telkom Perancangan Basis Data Relasional

N/A
N/A
Protected

Academic year: 2018

Membagikan "Politeknik Telkom Perancangan Basis Data Relasional"

Copied!
241
0
0

Teks penuh

(1)

Politeknik Telkom Perancangan Basis Data Relasional

PERANCANGAN BASIS DATA RELASIONAL

POLITEKNIK TELKOM BANDUNG

(2)

Politeknik Telkom Perancangan Basis Data Relasional

Koordinator & Editor: Dedy Rahman Wijaya

Tim: Abdul Rohim

Elly Rosely Komala Ratna Sari

Tora Fahrudin Wahyu Hidayat

Dilarang menerbitkan kembali, menyebarluaskan atau menyimpan baik sebagian maupun seluruh isi buku dalam bentuk dan dengan cara apapun tanpa izin tertulis dari Politeknik Telkom.

Hak cipta dilindungi undang-undang @ Politeknik Telkom 2009

(3)

Politeknik Telkom Perancangan Basis Data Relasional No part of this document may be copied, reproduced, printed, distributed, modifed, removed and amended in any form by any means without prior written authorization of Telkom Polytechnic.

KATA PENGANTAR

Segala puji bagi Allah SWT, yang telah melimpahkan nikmat-Nya kepada penulis sehingga dapat menyelesaikan penulisan course ware ini. Course ware ini digunakan oleh penulis sebagai acuan untuk mata kuliah Perancangan Basis Data di Politeknik Telkom. Course ware ini ditujukan bagi mahasiswa program studi diploma.

Course ware ini terdiri dari sepuluh bab, yaitu Pengenalan Basis Data, Entity Relationship Model, Konversi ER ke Tabel, Normalisasi, Aljabar Relasional, Bahasa Basis Data, Bahasa Basis Data Lanjutan, Pengenalan Arsitektur Basis Data, dan Aplikasi Basis Data. Semua materi tersebut merupakan bahan kuliah yang sesuai dengan kurikulum yang berlaku di Politeknik Telkom.

Pada kesempatan ini, penulis menyampaikan terima kasih yang tulus kepada berbagai pihak atas segala bantuan dan dukungannya sehingga penulis dapat menyelesaikan penulisan course ware ini. Akhirnya, penulis mohon maaf jika dalam tulisan ini masih banyak kekurangan. Sumbangan ide, saran, dan kritik yang membangun untuk perbaikan diktat ini sangat penulis harapkan.

Bandung, Maret 2009

(4)

Politeknik Telkom Perancangan Basis Data Relasional

DAFTAR ISI

KATA PENGANTAR

...iii

DAFTAR ISI

...iv

Daftar Gambar

...ix

Daftar Tabel

...xii

1

PENGENALAN BASIS DATA...1

1.1. Data dan Informasi

...2

1.2. Siklus Informasi

...2

1.3. Pentingnya data dan informasi

...3

1.4. Sistem Basis Data dan Sistem File

...3

1.5. Definisi Basis Data dan Sistem Basis Data

(DBMS)

...5

1.6. Komponen Sistem Basis Data

...6

1.7. Abstraksi Data

...7

1.8. Model Basis Data

...8

1.9. Basis Data Relasional

...11

1.10.

...

Alternative Terminology

...12

1.11.

...

Perancangan Basis Data Relational

...13

1.12. Faktor penting menyangkut pemodelan data

dari dunia nyata

...13

(5)

Politeknik Telkom Perancangan Basis Data Relasional

1.13.

...

Metodologi Perancangan Basis Data

...14

1.14.

...

Bahasa Basis Data

...16

2

ENTITY

RELATIONSHIP

MODEL...23

2.1 ER Sebagai Salah Satu Pemodelan Konseptual

Basis Data

...24

2.2 Entitas dan Himpunan Entitas

...24

2.3 Atribut

...26

2.4 Relasi

...27

2.5 Derajat Himpunan Relasi

...28

2.6 Kardinalitas Relasi

...30

2.7 Key

...32

2.8 Diagram ER

...33

2.9 Constraint Cardinalitas

...34

3

KONVERSI ER KE TABEL...42

3.1 Himpunan Entitas Lemah

...43

3.2 Spesialisasi

...43

3.3 Generalisasi

...44

3.4 Agregasi

...45

3.5 Ringkasan notasi simbol di ER

...46

3.6 Penurunan skema ER ke Tabel

...47

3.7 Representasi Atribut sebagai Kolom

...47

3.8 Representasi Himpunan Entitas sebagai Tabel

...48

3.9 Representasi Relasi (* pada kardinalitas N to

N)

...49

3.10Hubungan kardinalitas dengan tabel yang

terbentuk

...49

3.11Representasi Spesialisasi (IS A)

...50

3.12Representasi Agregasi

...51

4

NORMALISASI...59

(6)

Politeknik Telkom Perancangan Basis Data Relasional

4.2 Tujuan Normalisasi

...60

4.2.1

Update Anomaly...60

4.2.2

Insertion Anomaly

...61

4.2.3

Deletion Anomaly

...61

4.3 The Three Keys

...62

4.4 Functional Dependencies

...64

4.4.1

Partial Funcional Dependency

...65

4.4.2

Transitive

Functional dependency...66

4.5 Bentuk Normal dan Langkah-Langkah

Normalisasi

...67

4.5.1

Bentuk Normal Pertama (1st Normal

Form)

...67

4.5.2

Bentuk Normal Ke Dua (2nd Normal

Form)

...69

4.5.3

Bentuk Normal Ke Tiga (3rd Normal

Form)

...71

4.5.4

Bentuk Normal Boyce Codd (BC Normal

Form)

...72

4.5.5

Bentuk-Bentuk Normal Lainnya

...73

4.6 Denormalisasi

...73

5

ALJABAR RELASIONAL...80

5.1 Query dan Aljabar Relasional

...81

5.2 Operasi Select

...82

5.3 Operasi Project

...83

5.4 Operasi Cartesian Product

...83

5.5 Operasi Unio

...84

5.6 Operasi Set Difference

...85

5.7 Operasi Intersection

...86

5.8 Operasi rename

...86

5.9 Join

...87

5.10Fungsi Agregasi

...88

5.11Operasi Division

...88

(7)

Politeknik Telkom Perancangan Basis Data Relasional

6

BAHASA BASIS DATA...93

6.1 Pendahuluan

...94

6.2 Standarisasi SQL

...94

6.3 Membangun Basidata

...96

6.3.1

Membuat BasisData

...96

6.3.2

Membuat Tabel Data

...96

6.3.3

Melakukan Perubahan pada Tabel

...103

6.4 Maintenance Data pada Basisdata

...105

6.4.1

Memasukan Data

...105

6.4.2

Merubah Data

...107

6.4.3

Menghapus Data

...108

6.5 Mengakses Basisdata

...108

6.5.1

Menganti Judul Kolom

...109

6.5.2

Function pada SQL

...110

6.5.3

Menentukan Kondisi

...111

6.5.4

Menguruntukan Data

...113

7

BAHASA BASIS DATA LANJUTAN...120

7.1 Fungsi Aggregation

...121

7.2 Query dari Beberapa Tabel

...125

7.3 Nama Alias

...127

7.4 Bentuk-bentuk Perintah Join

...128

7.4.1

LEFT

JOIN...129

7.4.2

RIGHT

JOIN...130

7.4.3

FULL

JOIN...131

7.5 Subquery

...132

8

PENGENALAN ARSITEKTUR BASIS DATA

...146

8.1 Pendahuluan

...147

8.2 Struktur DBMS

...147

8.3 Produk-produk DBMS

...149

8.4 Database Oracle

...149

(8)

Politeknik Telkom Perancangan Basis Data Relasional

8.4.2

Struktur

Database

Oracle

...150

8.4.3

Oracle

Instance...151

8.4.4

Oracle

Memory

Structure...151

8.4.5

Oracle

Process

es

Structure...153

8.4.6

Oracle

Storage

Structure...154

8.5 Arsitektur Sistem database

...156

8.5.1

Centralized Sistems

...157

8.5.2

Client

-Server Sistems

...157

8.5.3

Parallel Sistems

...158

8.5.4

Distributed Sistems

...159

8.5.5

Network types

...160

9

APLIKASI BASIS DATA...166

9.1 Pendahuluan

...167

9.2 Sistem Pendukung Keputusan

(Decision-Support Sistem)

...167

9.2.1

Analisis Data

...169

9.2.2

Penggalian Data (

Data Mining

)

...172

9.2.3

Penggudangan Data (

Data Warehousing

)

173

9.3 Basis Data Spasial (Spatial Databases)

...175

9.3.1

Representasi Informasi Geometris

...177

9.3.2

Basis Data Perancangan

...177

9.3.3

Data Geografis

...179

9.3.4

Representasi Data Geografis

...180

9.3.5

Aplikasi Data Geografis

...180

9.4 Basis Data untuk Multimedia (Multimedia

Databases)

...181

9.4.1

Pengambilan Berbasis Kesamaan

(Similarity-Based Retrieval)

...182

9.4.2

Data sinambung (

Continuous-Media

Data

)

...183

9.5 Basis Data Bergerak (Mobility and Personal

Databases)

...183

(9)

Politeknik Telkom Perancangan Basis Data Relasional

9.5.1

Model Komputasi Bergerak

...184

9.5.2

Routing dan Pemrosesan

Query...185

9.6 Sistem Pencarian Informasi (Information

Retrieval)

...185

9.7 Pengindeksan Dokumen

...187

9.7.1

B

row

sing dan Hypertext

...187

9.8 World Wide Web (WWW)

...189

9.8.1

WEB Sebagai Bentuk Aplikasi Basis Data

190

Daftar Pustaka...198

(10)

Politeknik Telkom Perancangan Basis Data Relasional

Gambar 1-2 Perkembangan

Database

...5

Gambar 1-3 Komponen DBMS...7

Gambar 1-4 Abstraksi Data...8

Gambar 1-5 Model

Database

...10

Gambar 1-6 Ilustrasi sebuah relasi...12

Gambar 1-7 Termino

log

i...12

Gambar 1-8 Pendekatan Konvensional...15

Gambar 1-9 Pendekatan ER...16

Gambar 2-1 Himpunan Entitas Mahasiswa...25

Gambar 2-2 Contoh himpunan entitas...25

Gambar 2-3 Gambaran Himpunan entitas di Tabel...25

Gambar 2-4 Contoh Atribut Komposit...26

Gambar 2-5 Entitas mahasiswa dengan Atribut...27

Gambar 2-6 Relasi di gambarkan dengan belah ketupat...27

Gambar 2-7 Himpunan Entitas Mahasiwa Ber-Relasi dengan

Himpunan Entitas Organisasi...28

Gambar 2-8 Contoh Derajat Relasi

Unary

...29

Gambar 2-9 Contoh Derajat Relasi Binary...29

Gambar 2-10 Contoh Derajat Relasi Ternary...30

Gambar 2-11 Relasi dengan Kardinalitas 1 ke 1...30

Gambar 2-12 Relasi dengan Kardinalitas 1 ke Banyak...31

Gambar 2-13 Relasi dengan Kardinalitas Banyak ke 1...31

Gambar 2-14 Relasi dengan Kardinalitas Banyak ke Banyak....32

Gambar 2-15 Contoh Diagram ER...33

Gambar 2-16

Relasi 1 ke 1

...34

Gambar 2-17

Relasi 1 ke banyak

...34

Gambar 2-18

Relasi Banyak ke 1

...35

Gambar 2-19

Relasi Banyak ke Banyak

...35

Gambar 3-1 Contoh Himpunan Entitas Lemah...43

Gambar 3-2 Contoh Spesialisasi...44

Gambar 3-3 Contoh Agregasi...45

Gambar 3-4 Relasi di pandang sebagai Himpunan Entitas...45

Gambar 3-5 Ringkasan Notasi pada Diagram ER...46

(11)

Politeknik Telkom Perancangan Basis Data Relasional

Gambar 3-6 Atribut

multivalue

d di pecah menjadi entitas baru.47

Gambar 3-7 Atribut himpunan entitas kuat di representasikan

kedalam tabel...48

Gambar 3-8 Penurunan Himpunan Entitas Lemah ke tabel...48

Gambar 3-9 Penurunan Kardinalitas relasi N to N menjadi Tabel

...49

Gambar 3-10 Representasi spesialisasi ke tabel metoda 1...50

Gambar 3-11 Representasi spesialisasi ke tabel metoda 1...51

Gambar 3-12 Representasi Agregasi untk tabel mata kuliah,

dosen dan Dosen mengajar mt kul...51

Gambar 3-13 Representasi Agregasi untuk tabel Mahasiwa dan

Mahasiwa Mengambil Mtkul...52

Gambar 4-1 Diagram Normalisasi...60

Gambar 7-1

Entitas Mahasiswa

...97

Gambar 7-2

Entitas Kurikulum

...98

Gambar 7-3

Entitas Mahasiswa dan Jurusan

...99

Gambar 7-4

Relasi Tabel Mahasiswa dan Tabel

Jurusan

...99

Gambar 9-1

Struktur DBMS secara umum

...148

Gambar 9-2

Struktur

Database

Oracle

...151

Gambar 9-3

Oracle

Instance...151

Gambar 9-4

Oracle

Memory...152

Gambar 9-5

Oracle

Process

es

...153

Gambar 9-6

Oracle

Storage...155

Gambar 9-7 Database

Functionality

...156

Gambar 9-8

Centralized Sistem

...157

Gambar 9-9 Client

-Server Sistem

...157

Gambar 9-10

Parallel Sistems

...159

Gambar 9-11

Distributed Sistem

...159

Gambar 10-1 Arsitektur

Data warehouse

...174

Gambar 10-2 Bentuk-bentuk Geografis. dan Representasinya 177

Gambar 10-3 Objek-objek 3 Dimensi yang Lebih Kompleks..178

(12)

Politeknik Telkom Perancangan Basis Data Relasional

Gambar 10-5 Pengelompokan Buku dalam Perpustakaan...188

Gambar 10-6 Pengelompokan DAC dalam Sistem Pencarian

Informasi...189

Gambar 10-7 Arsitektur Web...191

Daftar Tabel

Tabel 4-1 Contoh

Update Anomaly

...60

Tabel 4-2 Contoh Insert Anomaly...61

(13)

Politeknik Telkom Perancangan Basis Data Relasional

Tabel 4-3 Contoh Delete Anomaly...61

Tabel 4-4 Tabel Mata Kuliah...62

Tabel 4-5 Contoh Tabel...64

Tabel 4-6 Tabel Nilai...66

Tabel 4-7 Tabel Mahasiswa...67

Tabel 4-8

Versi pertama

...68

Tabel 4-9

Versi ke dua

...68

Tabel 4-10 Contoh

Tabel T-1

...69

Tabel 4-11 Contoh

Tabel T-2

...69

Tabel 4-12 Contoh

T-1hasil

...70

Tabel 4-13 Contoh

Tabel T-1-1

...70

Tabel 4-14 Contoh

Tabel T-1-2

...70

Tabel 4-15 Contoh

Tabel T-1-3

...71

Tabel 4-16 Contoh

tabel T-1-1

...72

Tabel 4-17 Contoh

Tabel T-1-1-1

...72

Tabel 4-18 Contoh

Tabel T-1-1-2

...72

Tabel 7-1

Tabel Data Mahasiswa

...97

Tabel 7-2

Data Kurikulum

...98

Tabel 7-3

Tabel Data Jurusan

...99

Tabel 7-4

Tabel Data Mahasiswa

...99

Tabel 7-10

Jenis Data pada Oracle

...101

Tabel 7-11

Data Jurusan

...106

Tabel 7-12

Data Mahasiswa

...106

Tabel 7-13

Data Jurusan

...108

Tabel 7-14

Data Mahasiswa

...108

Tabel 7-15

Output Select Jurusan

...109

Tabel 7-16

Output Select Jurusan

...109

Tabel 7-17 Operator

Kondisi

...111

Tabel 7-18

Output Select Mahasiswa menggunakan

Where

...112

Tabel 7-19

Output Select Mahasiswa menggunakan

Where

...112

(14)

Politeknik Telkom Perancangan Basis Data Relasional

Tabel 7-21

Output Order By Tabel Mahasiswa

...113

Tabel 7-22

Output Order By DESC Tabel Mahasiswa

...113

Tabel 7-23

Output Order By Dua Kolom

...114

Tabel 8-1

Data Kurikulum

...122

Tabel 8-2

Hasil

Query

Jumlah Matakuliah per

Semester

...123

Tabel 8-3

Hasil

Query

Jumlah Sks per Semester

...123

Tabel 8-4

Hasil

Query

Jumlah matakuliah dan Sks per

Semester

...124

Tabel 8-5

Hasil

Query

Kelompok Matakuliah

...124

Tabel 8-6

Perbandingan Perintah SQL untuk Limit

...125

Tabel 8-7

Mahasiswa dan tabel Jurusan

...125

Tabel 8-8

Output Relasi antar Tabel

...126

Tabel 8-9

Pengarang

...128

Tabel 8-10

Penerbit

...129

Tabel 8-11

Hasil Relasi

Left Join...130

Tabel 8-12

Hasil Relasi

Right Join...131

Tabel 8-13

Hasil Relasi

Full Join...132

Tabel 8-14

Data Penerbit

...133

Tabel 8-15

Data Buku

...133

Tabel 8-16

Data Pengarang

...134

Tabel 8-17

Hasil

Query Operator IN...134

Tabel 8-18

Hasil

Query Operator Not IN...135

Tabel 8-19

Hasil

Query Operator Exists...136

Tabel 8-20

Hasil

Query Operator Not Exists...137

Tabel 8-21

Hasil

Query Operator Komparasi...137

Tabel 8-22

Hasil

Query Operator ANY...138

Tabel 10-1

Contoh Cross-Tab

...170

Tabel 10-2

Tabel Relasional

...171

(15)

1 PENGENALAN BASIS DATA

Overview

Dalam kehidupan sehari-hari kita sering membahas mengenai data dan informasi. Informasi berasal dari kumpulan data yang disimpan secara terstruktur pada sebuah sistem yang dikenal dengan basis data (database). Pada bab awal ini akan dibahas tentang definisi, komponen sistem basis data, sistem fle, abstraksi data, bahasa basis data, database administrator dan struktur sistem.

Tujuan

1. Mahasiswa mengetahui dan mengerti konsep basis data. 2. Mahasiswa mengetahui mengenai komponen-komponen

sistem basis data.

(16)

1.1. Data dan Informasi

Menurut Turban, Aronson, and Liang (2005) data dan informasi didefinisikan sebagai berikut:

• Data, merupakan sesuatu yang menyangkut barang, kejadian, aktivitas, dan transaksi yang telah tercatat, diklasifikasikan, dan disimpan namun belum memiliki makna. Data dapat berupa nilai numerik, alphanumerik, gambar, dan suara.

Informasi, adalah data yang telah dikelola dalam bentuk tertentu untuk memberikan makna atau arti bagi penerimanya.

1.2. Siklus Informasi

• Data dan informasi akan saling berkesinambungan sehingga membentuk suatu siklus yang disebut information cycle (siklus informasi).

(17)

Gambar 1-1 Siklus informasi

1.3. Pentingnya data dan informasi

 Data dan informasi sebagai sebuah aset penting perusahaan/organisasi.

 Informasi yang benar dapat menjadikan suatu perusahaan/organisasi memperoleh margin untuk melakukan aksi.

 Data dan informasi sebagai salah satu parameter kemajuan perusahaan/organisasi (maturity level).

1.4. Sistem Basis Data dan Sistem File

(18)

data-data. Seiring dengan berkembangnya institusi, bertambahnya bagian/divisi, bertambah pula data dan aplikasi yang digunakan. Bertambahnya aplikasi, bertambah pula fle-fle yang dibuat.

Gaya sistem pemrosesan-fle tersebut menyebabkan setiap data disimpan dalam bentuk record dalam berbagai macam fle, dan diperlukan aplikasi yang berbeda dalam melakukan pengambilan record dari, dan penambahan record ke dalam fle. Hal ini berlaku pada masa sebelum adanya Sistem Basis Data (DBMS).

Menyimpan data dalam bentuk fle yang berbeda-beda, memiliki kekurangan-kekurangan:

Data redundancy dan inconsistency.

(19)

Kesulitan dalam pengaksesan data.

Dikarenakan setiap aplikasi memiliki fle tersendiri untuk penyimpanan dan pengambilan data, maka jika suatu bagian dari institusi membutuhkan data dari bagian lain, akan menemui kesulitan. Hal ini dikarenakan aplikasi yang dimiliki bagian tersebut, tidak dapat membaca fle yang terdapat di bagian lain.

Isolasi data.

Dikarenakan data tersebar dalam berbagai macam fle, dan fle tersebut dalam beragam format, pembuatan aplikasi baru akan terasa sulit ketika harus membaca format dari masing-masing fle tersebut.

Masalah integritas.

Data yang disimpan harus memenuhi hal yang dinamakan dengan consistency constraint. Jika sebuah constraint berubah, maka seluruh aplikasi yang digunakan harus mengakomodasinya. Masalah akan muncul, jika constraint melibatkan beberapa data dari fle yang berbeda-beda.

Masalah keamanan.

(20)

Gambar 1-2 Perkembangan Database

1.5. Defnisi Basis Data dan Sistem Basis Data (DBMS)

Basis data adalah penyimpanan kumpulan informasi

secara sistematik dalam sebuah komputer sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Perangkat

lunak yang digunakan untuk mengelola dan memanggil kueri

(query) basis data disebut sistem manajemen basis data

(21)

Software program

Supplements operating sistem Manages data

Queries data and generates reports Data security

Sedangkan sistem adalah sebuah tatanan yang terdiri atas sejumlah komponen fungsional yang saling berhubungan dan secara bersama-sama bertujuan untuk memenuhi suatu proses pekerjaan. Sehingga bisa dikatakan bahwa sistem basis data adalah sistem yang terdiri atas kumpulan fle-fle yang saling berhubungan dan dikelola oleh program (DBMS) yang memungkinkan beberapa pemakai dan atau program lain yang memiliki otoritas untuk mengakses dan memanipulasi data tersebut. Kelebihan pemakaian DBMS adalah:

• Data berdiri sendiri (Data Independence)

• Pengaksesan data efisien (Efficient data access) • Integritas data dan keamanan terjamin (Data integrity

and security)

• Administrasi data (Data administration)

• Dapat diakses bersamaan (Concurrent access ) • Recovery saat terjadi kegagalan (Crash recovery) • Mengurangi waktu pembangunan aplikasi (Reduced

application development time)

1.6. Komponen Sistem Basis Data

Komponen-komponen pada sebuah sistem basis data antara lain:

 Perangkat keras

 Sistem operasi

 Basis data

 DBMS (Database Management System)

 Pemakai

(22)

Gambar 1-3 Komponen DBMS

1.7. Abstraksi Data

Tujuan utama dari sistem basis data adalah untuk menyediakan fasilitas untuk view data secara abstrak bagi penggunanya. Namun bagaimana sistem menyimpan dan mengelola data tersebut, hanya diketahui oleh sistem itu sendiri. Abstraksi data merupakan level dalam bagaimana melihat data dalam sebuah sistem basis data. Berikut ini tiga level abstraksi data:

(23)
(24)

2. Level lojik

Merupakan level berikutnya pada abstraksi data, menggambarkan data apa yang disimpan pada basis data dan hubungan apa saja yang ada di antara data tersebut.

3. Level view

Merupakan level tertinggi dari abstraksi data yang hanya menunjukkan sebagian dari basis data. Banyak user dalam sistem basis data tidak akan terlibat dengan semua data atau informasi yang ada atau yang disimpan. Para user umumnya hanya membutuhkan sebagian data atau informasi dalam basis data yang kemunculannya di mata user diatur oleh aplikasi end user.

Gambar 1-4 Abstraksi Data.

1.8. Model Basis Data

Hierarchical

Memiliki struktur pohon dimana feld hanya memiliki satu buah induk (parent), masing-masing parent memiliki banyak child (anak). Model ini memiliki kecepatan yang baik.

(25)

Relationship dibuat menggunakan linked list (pointer). Berbeda dengan model hierarchical satu anak dapat memiliki beberapa induk. Model ini memiliki fleksibilitas yang tinggi.

Relational

Model ini direpresentasikan dalam tabel dua dimensi, tabel-tabel tersebut memiliki hubungan yang disebut dengan relasi. Model ini memiliki fleksibilitas dan kecepatan yang tinggi.

Object oriented

(26)
(27)

1.9. Basis Data Relasional

Dalam beberapa tahun terakhir, sistem pengelola basis data (Database Management System - DBMS) menjadi pilihan dalam hal penyimpanan data bagi sistem informasi mulai dari pemrosesan aplikasi transaksi komersial yang besar hingga ke aplikasi yang berbasis desktop PC. Kebanyakan yang digunakan pada masa ini adalah Model basis data relasional dengan menggunakan Relational Database Management System (RDBMS). RDBMS menyediakan layanan pengorganisasian data yang mudah tetapi memiliki kemampuan untuk menangani jumlah data yang sangat besar. Beberapa contoh dari RDBMS diantaranya:

 SQL Server, dibuat oleh Microsoft.  MS Access, dibuat oleh Microsoft.  Oracle Database, dibuat oleh Oracle.  MySQL, dibuat oleh MySQL AB.

 Firebird, dibuat oleh komunitas open source berdasarkan dari kode Interbase.

 PostgreSQL, dibuat oleh komunitas open source.

 DB2, dibuat oleh IBM.

Basis data relasional memiliki satu struktur “lojik” yang disebut Relation (relasi). Struktur relasi merupakan strukture data 2-dimensi dan pada level “fisik” berupa table (tabel). Attribute merepresentasikan elemen dari data yang berkaitan dengan relasi. Sebagai contoh, relasi Mahasiswa memiliki atribut-atribut seperti nim, nama, tempat lahir. tanggal_ lahir, dan alamat.

Pada buku-buku teks mengenai perancangan basis data, sebuah relasi dinotasikan secara konvensional dengan Relation(attribute1, attribute2, ..) dengan aturan : nama dari relasi dan atribut-atribut dari relasi yang berada didalam tanda kurung.

(28)

Nilai data dari atribut dari sebuah relasi akan disimpan dalam tuple atau row (baris) dari tabel. Gambar dibawah merupakan ilustrasi dari sebuah relasi.

Gambar 1-6 Ilustrasi sebuah relasi

1.10. Alternative Terminology

Table

-oriented

Set-oriented

Record

-Oriented

Table

Relation

Record

-type,

file

Row

Tuple

Record

Column

Attribute

Field

(29)

Ada beberapa istilah/ terminologi yang berkaitan dengan konsep basis data Relational. Ada beberapa cara pandang terhadap data pada konsep basis data relasional. Yang pertama adalah pandangan yang berorientasi tabel (table-oriented) dimana sebuah entity-set direpresentasikan secara lojik menjadi sebuah tabel (table) yang terdiri dari baris (row) dan kolom (column). Kedua adalah pandangan berorientasi set/kumpulan (set-oriented) dimana entity-set direpresentasikan sebagai relasi (Relation), nilai-nilai data yang sesuai dengan atributnya (attribute) disimpan dalam sebuah tempat yang dinamakan tuple. Terminologi yang terakhir adalah pandangan berorientasi record (oriented) dimana entity-set di representasikan dengan record-type/fle sedangkan nilai dari tiap-tiap entity direpresentasikan dengan record yang terstruktur berdasarkan feld-feld yang dimiliki.

1.11. Perancangan Basis Data Relational

Merupakan proses untuk merepresentasikan fakta dunia nyata (real world) yang dikehendaki ke dalam sistem komputer, sehingga mudah dipahami pemakai dengan mempertimbangkan kemudahan implementasi dan pemrosesannya.

Tujuan dari perancangan basis data :

 Memenuhi kebutuhan informasi pada saat ini dan akan datang

 Kemudahan pengembangan sesuai dengan perkembangan organisasi

 Penerapan mekanisme pengamanan data

(30)

tersebut adalah subdomain atau bisa saja sebuah proses bisnis atau aktivitas yang ada di perusahaan tersebut juga bisa kita anggap sebagai sebuah subdomain bahkan domain. Setiap dunia nyata (real world) yang ada memiliki karakter yang tidak sama/unik. Sebagai contoh dunia nyata bagi sistem perbankan pasti tidak sama dengan dunia nyata bagi sistem rumah sakit. Pertanyaannya adalah apakah dunia nyata di bank yang satu dengan bank yang lain pasti sama?

1.12. Faktor penting menyangkut pemodelan data dari dunia nyata

1. Adanya aturan, rule dari proses bisnis yang akan dijadikan model.

2. Ada struktur (keteraturan) data yang akan disimpan dan bagaimana struktur data yang akan diimplementasikan ke dalam sebuah basis data secara fisik.

3. Karakteristik dari data yang akan disimpan sudah jelas. Contoh : Dalam sistem rumah sakit misalnya ada : dokter, pasien, obat, kamar, dan lain-lain.

1.13. Metodologi Perancangan Basis Data

Merupakan cara bagaimana suatu basis data dibuat melalui tahap-tahap tertentu, mulai dari tahap investigasi masalah sampai tahap implementasinya.

Secara umum ada dua tahapan proses perancangan basis data, yaitu :

 perancangan logika basis data

 perancangan fisik basis data

1. Perancangan logika basis data

(31)

Entity / entitas adalah sekumpulan objek yang dapat diidentifikasi dan dibedakan di lingkungan pemakai – Relasi adalah hubungan yang terjadi antar kelompok

entitas.

Sasaran dari perancangan logika basis data adalah fleksibilitas model data yang dihasilkan dan efisiensi pengimplementasiannya dalam komputer.

2. Perancangan fisik basis data

Merupakan proses untuk mengimplementasikan hasil perancangan logika ke dalam komputer secara fisik yang bergantung kepada software DBMS yang dipilih. Proses yang dilakukan :

 Menentukan struktur untuk setiap tabel, meliputi nama feld, jenis, lebar dan feld kuncinya.

 Menentukan nama basis data dan nama setiap tabel, serta lokasi tempat penyimpanannya (drive, directory / folder).

 Menghitung perkiraan tempat (space) yg dibutuhkan untuk seluruh tabel dan untuk seluruh index.

 Implementasi dengan menggunakan software DBMS.

Terdapat dua pendekatan dalam perancangannya :

1. Pendekatan konvensional

Perancangan basis data tanpa melalui tahap perancangan konseptual. Secara umum mempunyai tahapan perancangan sebagi berikut:

 Pembuatan model relasi

 Normalisasi

(32)

REAL

WORLD Model Data Relasi

Skema Basis

Data

Basis Data

Pembuatan

Model relasi

Normalisasi

Implementasi melalui DBMS

Gambar 1-8 Pendekatan Konvensional

2. Pendekatan Entity-Relationship

Menggunakan pendekatan model konseptual. Secara umum, mempunyai tahapan sebagai berikut :

Pembuatan model konseptual (model E-R)

(33)

Transformasi menjadi model relasi

Nomalisasi

Implementasi dengan menggunakan DBMS tertentu (Access, SQL, dsb.). Struktur tabel, atribut kunci, aturan integritas, relasi antar tabel

REAL WORLD Model Data E-R Skema Basis

Data Basis Data Pembuatan Model Kon-septual Normalisasi Imple-mentasi melalui DBMS Model Data Relasi

Gambar 1-9 Pendekatan ER

1.14. Bahasa Basis Data

1. Data Defnition Language (DDL)

Data Defnition Language ini berfungsi untuk menspesifikasikan skema basis data. Degan bahasa ini user dimungkinkan untuk membuat tabel baru, indeks, mengubah struktur tabel, menetukan stuktur penyimpanan tabel, dan masih banyak lagi. Hasil dari kompilasi DDL adala kumpulan tabel yang tersimpan pada sebuah fle khusus yang disebut dengan kamus data (data dictionary) atau data directory. Kamus data merupakan sebuah fle yang berupa metadata, yaitu data tentang data. Kamus data ini akan selalu diakses pada suatu operasi basis data sebelum suatu fle data yang sesungguhnya diakses.

2. Interactive Data Manipulation Language (DML)

Level abstraksi yang telah dibahas sebelumnya tidak hanya berlaku pada definisi atau struktur data tetapi juga pada manipulasi data. Manipulasi data itu sendiri dapat berupa:

(34)

iii. Penghapusan informasi dari basis data.

iv. Modifikasi informasi yang tersimpan pada basis data

Pada level fisik, kita harus mendefinisikan algoritma yang memungkinkan pengaksesan yang efisien terhadap data. Pada level yang lebih tinggi, yang dipentingkan bukan hanya efisiensi akses tetapi juga efisiensi interaksi user dengan sistem.

DML merupakan bahasa yang memungkinkan user untuk mengakses atau memanipulasi data sebagaimana telah direpresentasikan oleh model data. Terdapat dua macam DML, yaitu:

 Prosedural, mengharuskan user untuk menentukan data apa yang dibutuhkan dan bagaimana untuk mendapatkan data tersebut.

 Nonprosedural, mengharuskan pemakai untuk menentukan data apa yang dibutuhkan tanpa menyebuntukan bagaimana mendapatkan data tersebut.

3. Transaction control

Transaction control adalah bahasa basis data yang mengatur transaksi yang dilakukan oleh Data Manipulation Language (DML). Transaction control ini memiliki peran yang sangat besar untuk menentukan dilakukan atau tidaknya perubahan-perubahan data yang ada pada basis data. Contoh dari transaction control ini adalah perintah commit dan rollback.

4. Embedded and Dinamic SQL, contoh C,C++,Java, Cobol, Pascal, etc.

Tidak semua DBMS memiliki fasilitas ini, salah satu contoh DBMS yang memiliki fasilitas ini adalah oracle dimana oracle dapat me-load class yang ditulis menggunakan bahasa pemrograman java kedalam database.

(35)

Rangkuman

1. Data dan informasi akan saling berkesinambungan sehingga membentuk suatu siklus yang disebut information cycle (siklus informasi).

2. Pengelolaan data dan informasi menggunaan DBMS memiliki keuntungan jika dibandingkan dengan menyimpannya menggunakan fle.

3. Basis data adalah penyimpanan kumpulan informasi secara sistematik dalam sebuah komputer sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil

kueri (query) basis data disebut sistem manajemen basis

data (Database Management System, DBMS).

4. Teradapat tiga level abstraksi data yaitu dari yang paling dasar adalah level fisik, level lojik, dan level view.

(36)

Kuis Benar Salah

1. Informasi merupakan hasil dari pengolahan data.

2. Data ditangkap oleh indera kemudian menjadi inputan dalam sebuah model untuk diubah menjadi pengetahuan dan tindakan.

3. Data merupakan salah satu parameter kemajuan sebuah organisasi.

4. Jika data disimpan dalam fle maka setiap aplikasi tidak memiliki fle tersendiri.

5. Data integrity merupakan masalah yang dapat ditemui jika kita menyimpan data menggunakan fle.

6. Model object oriented direpresentasikan dalam tabel dua dimensi, tabel-tabel tersebut memiliki hubungan yang disebut dengan relasi.

7. Perancangan basis data merupakan proses untuk merepresentasikan fakta dunia nyata (real world) yang dikehendaki ke dalam sistem komputer, sehingga mudah dipahami pemakai dengan mempertimbangkan kemudahan implementasi dan pemrosesannya.

8. Database Management System (DBMS) merupakan salah satu jenis perangkat lunak.

(37)

10. Memungkinkan beberapa aplikasi menggunakan DBMS yang sama.

Pilihan Ganda

1. Berikut ini merupakan hasil pengolahan data, kecuali… A

. Informasi

D

. DBMS B

. Pengetahuan

E

. Wisdom C

. Kebijakan

2.

Penyimpanan data menggunakan fle memiliki permasalahan sebagai berikut kecuali…

A .

Data redundancy dan inconsistency

D

. Security B

. Isolation E. Integrity

C

. Simplicity

(38)

diperhatikan adalah sebagai berikut kecuali… A

. Pendefinisian masalah

D .

Identifikasi entitas dan relasi

B

. Business process oriented E. Identifikasi produktivitas domain C

. Aturan/rule yang jelas

4. Jawaban yang paling tepat mengenaiManagement System adalah... Database A

. Menambah data D. Mengelola data B

. Mengubah data E. Memberikan data C

. Menghapus data

5. Berikut ini adalah jenis DBMS untuk skala enterpriseadalah… A

. MySQL D. SQL server

B

. Firebird E. MS Access

C

. PostgreSQL

6 Berikut ini jenis model basis data kecuali... A

. Relational D. Hirarkial B

. Heuristik E. Object oriented C

. Network

7 Berikut ini termasuk komponen basis data, kecuali…

A Hardware D Tupperware

B Operating sistem E Software C Brainware

(39)

adalah…

A

Merupakan level

terendah abstraksi D

Berhubungan langsung dengan user

B Dapat direpresentasikan dengan diagram ER. E Salah satu level konseptualabstraksi data

C

Berhubungan dengan indexing, fragmenting, dan crash recovery

9 Hal-hal berikut ini yang berhubungan dengan metodologi perancangan basis data kecuali...

A

Cara pembuatan basis

data D Perancangan lojik

B Perancangan fisik E

Penentuan entitas dan relasi

C Operasi recovery

1

0 Kelebihan DBMS kecuali…

A Data Independence D Crash recovery B Data integrity E Salah semua C Data avaibility

(40)

1. Gambarkan dan jelaskan proses pengolahan data hingga data tesebut dapat menjadi sebuah kebijakan (wisdom)! 2. Jelaskan mengenai masalah integritas data yang terjadi

jika kita menggunakan fle untuk menyimpan data!

3. Jelaskan mengenai mekanisme crash recovery pada DBMS 4. Jelaskan perbadaan antara entitas dan relasi dalam

konsep RDBMS

5. Apakah tujuan dari perancangan basis data?

(41)

Overview

Salah satu pemodelan basis data secara konseptual adalah pemodelan berbasis relasi antar entitas. Pemodelan ini dikenal karena mudah dimengerti. Konsep utama dari pemodelan ini berakar pada Entitas entitas dan relasi antar entitas. Pada bab ini akan di bahas pengertian entitas, atribut dan relasi, derajat himpunan relasi, kardinalitas relasi, serta pengenalan key sebagai salah satu constraint dalam ER.

Tujuan

1. Mahasiswa memahami definisi salah pemodelan konseptual basis data menggunakan ER.

2. Mahasiswa memahami Konsep Entitas, Atribut, Relasi dan Kardinalitas relasi.

1.1 ER Sebagai Salah Satu Pemodelan Konseptual Basis Data

(42)

tentunya harus bisa diimplementasikan kedalam bentuk tabel, karena basis data relasional hanya mengenal tabel.

ER adalah salah satu pemodelan basis data konseptual yang menggambarkan basis data ke dalam bentuk Entitas-Entitas dan Relasi yang terjadi di antara entitas-entitas yang ada. Entitas diartikan sebagai ‘objek’ didunia nyata yang bisa dibedakan dengan ‘objek’ yang lain. Relasi diartikan sebagai hubungan yang terjadi diantara satu entitas dengan entitas yang lainnya.

1.2 Entitas dan Himpunan Entitas

Definisi entitas adalah objek yang dirasa penting di sistem tersebut, yg bisa berupa :

Objek Konkrit Contoh : Orang, Buku – Objek Abstrak

Contoh : Jadwal, Pinjaman, Tabungan

(43)

Bambang Susi

Sumarno

Mahasiswa

entitas orang

Entitas orang

Himpunan entitas orang yang mempunyai kesamaan karakteristik yaitu nim, prodi, dsb membentuk himpunan entitas ‘mahasiswa’

Mahasiswa

Jadwal

Pinjaman

Atribut Entitas

Entitas 1 Entitas 2 Entitas 3

MAHASISWA

Gambar 2-10 Himpunan Entitas Mahasiswa

Sebuah entitas / himpunan entitas dapat di gambarkan / di notasikan dengan sebuah gambar persegi panjang. Berikut merupakan contoh entitas mahasiwa, jadwal dan pinjaman.

Gambar 2-11 Contoh himpunan entitas

(44)

Gambar 2-12 Gambaran Himpunan entitas di Tabel

1.3 Atribut

Atribut merupakan gambaran karakteristik dari sebuah entitas atau himpunan entitas. Contoh : atribut untuk himpunan entitas mahasiswa adalah nim, nama, alamat, ipk, program studi, hobi, dsb.

Setiap atribut mempunyai domain value set yaitu batasan batasan yg dibolehkan bagi suatu atribut.

Tipe – tipe atribut dapat dibedakan. – Simple dan Composite

Atribut Simple yaitu suatu atribut yang tidak bisa dibagi menjadi bagian yg lebih kecil lagi. Contoh atribut simple adalah Jenis Kelamin.

Atribut Composite yaitu suatu atribut yang dapat di bagi menjadi beberapa bagian. Contoh atribut composite Nama dapat di bagi menjadi nama depan dan nama belakang.

Gambar 2-13 Contoh Atribut Komposit

Single value dan multivalued

(45)

Mahasiswa

#nim

prodi ipk

nama

dari 1. Contoh untuk 1 entitas orang bisa mempunyai lebih dari 1 nilai untuk atribut hobi yang isinya musik, olahraga begitu juga untuk telp dan alamat (* karena bisa mempunyai > 1 no telp dan > 1 alamat)

Derived attribute

Derived Attribute yaitu suatu atribut yang nilainya didapatkan dari hasil pengolahan atribut lain. Contoh atribut derived adalah umur yaitu didapatkan dari perhitungan tanggal lahir dan tanggal sekarang. IPK yang didapatkan dari penjumlahan nilai di bagi dengan jumlah sks yang diambil.

Notasi atribut digambarkan dengan gambar elips. Atribut kunci biasa di beri tanda # atau garis bawah. Contoh himpunan entitas mahasiswa mempunyai atribut nim sebagai key, prodi, nama, ipk, dsb

Gambar 2-14 Entitas mahasiswa dengan Atribut

1.4 Relasi

ER menggambarkan entitas-entitas dengan atributnya yang saling berelasi. Relasi menggambarkan hubungan antara entitas satu dengan entitas yang lain sesuai dengan proses bisnisnya. Notasi relasi didalam diagram ER digambarkan dengan notasi belah ketupat.

(46)

Organisasi

Relasi mahasiswa mempunyai organisasi

mempunyai

mempunyai

Mahasiswa

Bambang

Susi Sumarno Organisai LINUX

Organisai Pecinta Satwa

Sumarno

Mempunyai organisasi Pecinta Satwa Di semester 1 tahun ajaran 2008/2009

Gambar 2-15 Relasi di gambarkan dengan belah ketupat

Gambar di atas menunjukkan hubungan antara entitas mahasiswa dan entitas organisasi. Relasi yang terjadi adalah relasi mempunyai, dimana mahasiwa mempunyai organisasi. Entitas mahasiwa memiliki atribut nim, nama, alamat, prodi, ipk, dsb. Sedangkan entitas organisasi memiliki atribut kd_organisasi, nama_organisasi, jenis_organisasi (* olahraga/kesenian/jurusan dsb). 1 Mahasiswa bisa mempunyai 0 atau lebih organisasi pada semester dan tahun ajaran tertentu. 1 Organisasi bisa di punyai 0 atau lebih mahasiswa pada semester dan tahun ajaran tertentu. Kardinalitas relasi adalah n ke n. Dampak dari kardinalitas n ke n ini, relasi menjadi atribut, primary key dari entitas mahasiwa dan primary key dari entitas organisasi masuk ke tabel relasi sebagai atribut. Atribut tambahan berupa semester dan tahun ajaran merupakan atribut tambahan pada tabel relasi mempunyai, atribut ini disebut atribut deskriptif. Atribut deskriptif ini muncul karena adanya kebutuhan dari proses bisnis untuk mencatat historis mahasiwa tersebut per semester dan tahun ajaran tertentu, sehingga bisa di lihat track record organisasi mahasiwa tersebut selama belajar di kampus dari semester ke semester berikutnya.

(47)

Gambar 2-16 Himpunan Entitas Mahasiwa Ber-Relasi dengan Himpunan Entitas Organisasi

1.5 Derajat Himpunan Relasi

Jika dilihat dari jumlah entitas yang dihubungkan oleh sebuah relasi, maka kita bisa membagi menjadi 3 macam:

Unary (Hanya me-relasi-kan 1 entitas)

Gambar 2-17 Contoh Derajat Relasi Unary

(48)

karyawan hanya bekerja untuk 1 manajer, tetapi 1 manajer bisa mempunyai banyak bawahan.

Binary (Me-relasi-kan 2 entitas)

Gambar 2-18 Contoh Derajat Relasi Binary

Relasi di atas menggambarkan entitas pelangan yang ber-relasi dengan entitas pinjaman. 1 pelanggan bisa mempunyai banyak nomor pinjaman, dan 1 nomor pinjaman hanya untuk 1 pelanggan.

Ternary (Me-relasi-kan 3 entitas)

Gambar 2-19 Contoh Derajat Relasi Ternary

(49)

karyawan bekerja di sebuah id pekerjaan tertentu dan juga bekerja di sebuah cabang tertentu. Ada 3 entitas yang terlibat dari relasi di atas

1.6 Kardinalitas Relasi

Kardinalias relasi menggambarkan banyaknya jumlah maksimum entitas dapat ber-relasi dengan entitas pada himpunann entitas yang lain. Pada himpunan relasi biner, pemetaan kardinalitas relasi dapat berupa salah satu dari pilihan berikut :

 Satu ke Satu

Gambar 2-20 Relasi dengan Kardinalitas 1 ke 1

Relasi di atas menggambarkan bahwa untuk setiap entitas di himpunan entitas A berpasangan dengan maksimal 1 entitas di himpunan entitas B. Asumsi kita akan membuat sebuah tugas yaitu menjadi pj_cuci_piring. 1 Orang di tugaskan untuk menjadi pj_cuci_piring di maksimal 1 hari. Begitupun juga jika di balik, pada 1 hari, maksimal 1 orang yang menjadi pj_cuci_piring. Dari A ke B kardinalitasnya maksimal 1, dan dari B ke A kardinalitasnya maksimal 1. Oleh karena itu relasi ini berkardinalitas 1 ke 1.

(50)

Gambar 2-21 Relasi dengan Kardinalitas 1 ke Banyak

Relasi di atas menggambarkan bahwa untuk setiap entitas di himpunan entitas A berpasangan dengan banyak entitas di himpunan entitas B. Asumsi yang berbeda di pakai ketika memandang relasi ini, 1 orang bisa memperoleh pj_cuci_piring untuk > 1 hari. Tetapi 1 hari hanya di pj-kan hanya untuk maksimal 1 orang. Dari A ke B kardinalitasnya maksimal adalah banyak, dan dari B ke A kardinalitasnya maksimal 1. Oleh karena itu relasi ini berkardinalitas 1 ke banyak.  Banyak ke Satu

Gambar 2-22 Relasi dengan Kardinalitas Banyak ke 1

(51)

kardinalitasnya maksimal adalah banyak. Oleh karena itu relasi ini berkardinalitas banyak ke 1.  Banyak ke Banyak

Gambar 2-23 Relasi dengan Kardinalitas Banyak ke Banyak

Relasi di atas menggambarkan bahwa untuk setiap entitas di himpunan entitas A berpasangan dengan maksimal banyak entitas di himpunan entitas B. Asumsikan bahwa dalam 1 hari pj_cuci_piring bisa di bebankan pada banyak orang dan 1 orang bisa di bebankan untuk menjadi pj_cuci_piring lebih dari 1 hari. Dari A ke B kardinalitasnya maksimal adalah banyak, dan dari B ke A kardinalitasnya maksimal adalah banyak. Oleh karena itu relasi ini berkardinalitas banyak ke banyak.

1.7 Key

Penggunaan key merupakan cara untuk membedakan suatu entitas didalam himpunan entitas dengan entitas lain. Key dipilih karena unik, untuk setiap entitas sehingga bisa di bedakan dari entitas yang lain. Kita bisa mendefinisikan key sebagai satu atau gabungan dari beberapa atribut yang dapat membedakan semua row dalam relasi secara unik.

Macam key ada 3 yaitu :  Superkey

(52)

kota

#nim nama

prodi ipk

#kd_org

nama

jenis umur

alamat MahasiswamempunyaimempunyaiOrganisasi

data dalam sebuah relasi secara unik. Contoh super key yaitu =

• Nim, nama, alamat, kota • Nim, nama, alamat • Nim, nama

• Nim

Candidate key

Kumpulan atribut minimal yang dapat membedakan setiap baris data dalam sebuah relasi secara unik. Contoh Nim

Primary key

Primary key merupakan salah satu dari candidate key yang terpilih. Alasan pemilihan primary key :

• Lebih sering di jadikan acuan • Lebih ringkas

• Jaminan keunikan key lebih baik Contoh dari primary key adalah Nim

1.8 Diagram ER

Merupakan diagram model konseptual untuk menggambarkan struktur logis dari basisdata berbasis grafis.

Gambar 2-24 Contoh Diagram ER

Notasi yang digunakan di Diagram ER adalah :

Garis : Link yang menghubungkan atara Entitas dengan atribut, dan entitas dengan relasi atau entitas

(53)

kota

#nim nama

prodi ipk

#kd_org

nama

jenis umur

alamat MahasiswamempunyaimempunyaiOrganisasi

kota

#nim nama

prodi ipk

#kd_org

nama

jenis umur

alamat MahasiswamempunyaimempunyaiOrganisasi

Elips dengan garis terputus : Menunjukkan atribut turunan

1.9 Constraint Cardinalitas

Dalam menggambarkam kardinalitas pada Diagram ER, digunakan garis panah (->) yang menunjukkan “Satu” atau garis biasa (—) yang menunjukkan “Banyak”.

Gambar 2-25 Relasi 1 ke 1

1 Mahasiswa hanya boleh menjabat 1 jabatan dalam 1 periode tertentu.

1 Jabatan hanya boleh di jabat oleh 1 mahasiswa dalam 1 periode tertentu.

Gambar 2-26 Relasi 1 ke banyak

1 Jabatan hanya boleh dijabat oleh 1 mahasiswa dalam 1 periode tertentu dan 1 organisasi tertentu.

(54)

kota

#nim nama

prodi ipk

#kd_org

nama

jenis umur

alamat MahasiswamempunyaimempunyaiOrganisasi

kota

#nim nama

prodi ipk

#kd_org

nama

jenis umur

alamat MahasiswamempunyaimempunyaiOrganisasi

Gambar 2-27 Relasi Banyak ke 1

1 Jenis Beasiswa boleh diberikan untuk banyak mahasiwa

1 Mahasiwa hanya boleh mendapatkan 1 Jenis beasiwa

Gambar 2-28 Relasi Banyak ke Banyak

(55)

Rangkuman

1. ER adalah salah satu pemodelan basis data ke dalam bentuk Entitas-Entitas dan Relasi yang terjadi di antara entitas-entitas yang ada.

2. Entitas diartikan sebagai ‘objek’ didunia nyata yang bisa dibedakan dengan ‘objek’ yang lain. Notasi entitas digambarkan dengan Persegi panjang.

3. Relasi diartikan sebagai hubungan yang terjadi diantara satu entitas dengan entitas yang lainnya. Notasi relasi di gambarkan dengan belah ketupat.

4. Setiap entitas mempunyai atribut yang berisi karakteristik yang mendeskripsikan dari entitas tersebut. Notasi atribut di gambarkan dengan elips.

5. Derajat himpunan relasi ada 3 macam, yaitu unary, binary dan ternary.

6. Kardinalitas relasi menggambarkan banyaknya jumlah maksimum entitas dapat berelasi dengan entitas pada himpunan entitas yang lain.

7. Pada himpunan relasi biner, pemetaan kardinaltias relasi dapat berupa salah satu dari berikut ini

a. Satu ke Satu b. Satu ke Banyak c. Banyak ke Satu d. Banyak ke Banyak

8. Key adalah satu atau gabungan dari beberapa atribut yang dapat membedakan semua row dalam relasi secara unik. Macam key dibedakan jadi 3 = super key, candidate key, primary key.

(56)

Kuis Benar Salah

1. ER merupakan satu-satunya pemodelan konseptual basis data.

2. Objek hanya didefinisikan untuk wujud yang konkrit.

3. Himpunan entitas merupakan diagram model konseptual untuk menggambarkan struktur logis dari basisdata berbasis grafis

4. Setiap atribut mempunyai domain value set yang di spesifikasikan pada masing masing atribut.

5. Yang membedakan domain set value antara atribut single dan composit adalah jika single nilainya tidak bisa dibagi menjadi bagian yang lebih kecil, sedangkan composit, nilainya dapat dibagi menjadi nilai yang lebih kecil.

6. Makna atribut composit sama dengan atribut multi valued karena bisa dipecah menjadi bagian yang lebih kecil. 7. Atribut yg didapat dari hasil pengolahan atribut lain

merupakan definisi dari Derived Attribut dengan contohnya yaitu ipk.

8. Didalam relasi tidak dibolehkan menambah atribut lagi kecuali primary key dari kedua entitas yang ber-relasi. 9. Yang membedakan derajat himpunan relasi adalah

banyaknya entitas yang ber-relasi.

10. Kardinalitas relasi menggambarkan banyaknya jumlah maksimum entitas dapat berelasi dengan entitas pada himpunan entitas yang lain.

11. Kumpulan atribut minimal yang dapat membedakan setiap baris data dalam sebuah relasi secara unik merupakan definisi dari super key.

12. Nim, nama, alamat, kota merupakan primary key. 13.Notasi Elips dobel menunjukkan atribut yang

(57)

14. Notasi Elips dengan garis terputus : Menunjukkan atribut turunan

15. Notasi garis bawah menunjukkan bahwa atribut tersebut adalah primary key.

Pilihan Ganda

Petunjuk: Pilihlah jawaban yang paling tepat!

1. Manakah yang bukan merupakan entitas dari pilihan di bawah ___________

A. Dosen D. Penjadwalan

B. Mata Kuliah E. Nasabah

C. Mempunyai

2. Notas persegi panjang bisa memberikan makna _________ A

. Entitas D. Atribut

B

. Himpunan Entitas E. Relasi C

. A dan B benar

3. Berikut ini merupakan domain value set bagi sebuahatribut didalam konse Entity Relationship, kecuali _________ A

. Simple D. Multivalued

B

. Composit E. Surrogate key

C

. Single value

(58)

A .

Muncul hanya jika 2 entitas bertemu di sebuah relasi

D .

Atribut yang dipercaya sebagai key

B

. Dibolehkan di konsep ER E. Pernyataan di atas salah semua C

. Atribut yang di turunkan dari atribut lain

5. Pada gambar di atas, derajat himpunan relasinya adalah ________

A

. Unary

D

. Four-ary B

. Binary E.

Tidak ada jawaban yang benar

C

. Ternary

6 Manakah yang benar dari gambar di atas ______

A .

Relasi di atas

berkardinalitas satu ke banyak

D .

B adalah himpunan Entitas Orang

B .

Relasi di atas

berkardinalitas banyak ke

(59)

C

. A adalah himpunan Entitas Hari

7 Pernyataan yang benar dari gambar di atas _________

A Himpunan relasi berderajat Ternary D A dan B benar

B

Merupakan kardinalitas

relasi banyak ke banyak E B dan C benar

C

Terdapat 3 tabel, yaitu himpunan entitas orang, himpunan entitas hari dan relasi

8 Notasi di atas menggambarkan ________

A

1 Mahasiswa bisa aktif di banyak organisasi D

1 Organisasi bisa di ikuti oleh banyak mahasiwa

B

1 Mahasiswa hanya bisa

aktif di 1 organisasi E B dan D benar

C

1 Organisasi hanya bisa di ikuti oleh 1 mahasiswa

9 Kardinalitas relasi dari gambar di atas adalah _______

A 1 ke 1 D Banyak ke Banyak

(60)

1 0

Dari himpunan atribut

StaffNo, StaffAddress, Skill,

mana yang merupakan candidate key paling baik ________________

A StaffNo D StaffNo dan Skill

B StaffNo dan StaffAddress E Tidak ada jawaban yang tepat

C StaffNo,StaffAddress dan Skill

Latihan

1. Buatlah sebuah entitas dan relasinya dari requirement berikut ini.

(61)

2 KONVERSI ER KE TABEL

Overview

(62)

Diagram ER ke bentuk tabel. Penekanan pada bab ini adalah kapan dan bagaimana kita menggunakan weak entity, spesilisasi dan agregasi dan bagaimana menurunkan konseptual ER kedalam tabel.

Tujuan

1. Mahasiswa memahami konsep Weak Entity, Spesialisasi dan Agregasi

2. Mahasiswa memahami konsep penurunan dari Diagram ER ke Tabel

2.1 Himpunan Entitas Lemah

Secara umum, Himpunan Entitas Lemah tidak memiliki primary key dan selalu bergantung pada entitas lain. Notasi entitas lemah digambarkan dengan double persegi panjang, sedangkan relasi untuk himpunan entitas lemah digambarkan dengan double diamond. Diskriminator / key parsial adalah atribut – atribut yg dpt membedakan entitas – entitas yang terdapat di himpunan entitas lemah. Diskriminator tidak sama dengan primary key. Konsep diskriminator hanya di pakai pada himpunan entitas lemah.

Primary key pada Himpunan Entitas lemah ada 2 yaitu

primary key dari entitas kuat yg berelasi dan diskriminator / key parsialnya.

(63)

Tunjangan

Pegawai

#nip

nama

jabatan

Nomor penerima tunjangan Nama penerima tunjangan

Besar tunjangan

Gambar 3-29 Contoh Himpunan Entitas Lemah

Relasi di atas menggambarkan bahwa seorang pegawai mendapatkan fasilitas tunjangan dari perusahaan tempat dia bekerja. Tunjangan dalam hal ini adalah entitas lemah. Tunjangan sebagai entitas tidak bisa berdiri sendiri, tunjangan harus bergantung pada entitas pegawai (* tidak akan ada tunjangan jika tidak ada pegawai).

Kardinalitas relasi yang terjadi pada himpunan entitas lemah biasanya merupakan banyak ke 1 / 1 ke banyak dengan kardinalitas 1 di himpunan entitas yang lebih kuat.

2.2 Spesialisasi

Spesialisasi merupakan proses desain top-down

dengan mendesain subgrouping didalam didalam himpunan entitas yang berbeda dari himpunan entitas. Tujuan dari spesialisasi adalah memberikan gambaran konseptual tentang perbedaan karakteristik dari himpunan entitas yang hampir serupa dengan konsep sub grouping / pengelompokan.

Subgrouping di atas menjadi himpunan entias yang levelnya lebih rendah dan memiliki atribut tersendiri yang tidak dimiliki pada level di atasnya. Atribut ini khas dan merupakan pembeda dari entitas di subgroup yang lain. IS A dinotasikan dengan gambar segitiga berlabel IS A.

(64)

Gambar 3-30 Contoh Spesialisasi

Contoh di atas menggambarkan bahwa entitas pegawai mempunyai 2 subgroup yaitu pegawai tetap dan pegawai honorer. Kedua entitas pegawai tetap dan pegawai honorer sama sama mempunyai atribut turunan yaitu nama dan id_pegawai dari entitas pegawai. Perbedaan dari pegawai tetap dan pegawai honorer terdapat di atribut yang melekat pada subgroup-nya. Atribut besar tunjangan dan gaji perbulan hanya terdapat di himpunan entitas pegawai tetap, sedangkan atribut upah per jam dan jumlah jam kerja terdapat di himpunan entitas pegawai honorer.

2.3 Generalisasi

Generalisasi merupakan proses desain bottom-up dengan mengkombinasikan jumlah himpunan entitas yang digunakan secara bersama sama. Spesialisasi dan generalisasi sama sama digambarkan dengan notasi IS A, yang membedakan adalah sudut pandangnya saja. Jika Spesialisasi kita mendefinisikan entitas secara umum kemudian mencari subgroup dari entitas tersebut, tetapi generalisasi memandang sebaliknya, dari adanya subgroup subgroup yang berbeda kemudian di cari entitas umum yang mewakili 2 himpunan entitas tersebut.

2.4 Agregasi

Agregasi adalah enkapsulasi dari entitas entitas yang berelasi (*n-n). Pada umumnya terbentuk dari kardinalitas

P e g a w a i

# I d _ p e g a w a i n a m a

I S A

P e g a w a i T e t a p P e g a w a i H o n o r e r

G a j i P e r B u l a n

U p a h P e r J a m

J u m la h J a m K e r j a

(65)

relasi banyak ke banyak. Didalam konsep agregasi terdapat istilah enkapsulasi relasi dari kedua entitas. Enkapsulasi di perlukan karena kedua himpunan entitas yang ber-relasi tersebut merupakan 1 kesatuan yang tidak bisa di pisah. Notasi agregasi di gambarkan dengan gambar persegi panjang yang membungkus himpunan entitas yang saling ber-relasi.

Gambar 3-31 Contoh Agregasi

(66)

2.5 Ringkasan notasi simbol di ER

(67)

2.6 Penurunan skema ER ke Tabel

Penurunan skema dimaksudkan untuk mengubah sebuah konsep hubungan entitas dan relasi kedalam bentuk fisik tabel tabel yang berelasi. Inti dari Entity Relationship adalah menggambarkan hubungan di dunia nyata kedalam bentuk entitas entitas yang saling ber-relasi, dari diagram ini bisa di buat kedalam bentuk tabel yang langsung di implementasikan kedalam basis data.

Secara umum penurunan diagram ER ke tabel memiliki aturan sebagai berikut :

 Setiap himpunan entitas menjadi Tabel (* baik himpunan entitas kuat atau lemah)

 Setiap atribut menjadi kolom di tabel

Kardinalitas relasi akan menentukan jumlah tabel yang terbentuk (* akan di bahas di bawah lebih detail)

2.7 Representasi Atribut sebagai Kolom

Pada atribut bertipe simple , single dan derived direpresentasikan sama persis seperti diagram ER. Tetapi untuk atribut komposit dan multivalued mempunyai aturan tersendiri.

Atribut komposit akan dipecah dengan membuat atribut terpisah untuk masing masing komponennya. Contoh atribut nama pada tabel mahasiwa, di pecah menjadi 2 kolom yaitu nama depan dan nama belakang.

(68)

Gambar 3-34 Atribut multivalued di pecah menjadi entitas baru

2.8 Representasi Himpunan Entitas sebagai Tabel

Himpunan entitas kuat di representasikan kedalam tabel dengan kolom sama persis dengan atribut yang sudah di definisikan di diagram ER. Perhatikan gambar di bawah ini :

Gambar 3-35 Atribut himpunan entitas kuat di representasikan kedalam tabel

(69)

Gambar 3-36 Penurunan Himpunan Entitas Lemah ke tabel

2.9 Representasi Relasi (* pada kardinalitas N to N)

Relasi dari Himpunan Banyak ke Banyak direpresentasikan kedalam Tabel tersendiri dengan primary key dari 2 Entitas menjadi atribut di Tabel Relasi. Perhatikan relasi banyak ke banyak berikut dan contoh penurunan ke tabel :

(70)

2.10 Hubungan kardinalitas dengan tabel yang terbentuk

Kardinalitas relasi dari Himpunan Entitas yang saling ber-relasi akan menentukan banyaknya tabel yang bisa di buat. Adapun aturannya sebagai berikut :

1 ke 1

Pilih primary key di 1 himpunan entitas untuk menjadi foreign key bagi himpunan entitas yang lain.

1 ke banyak / banyak ke 1

Primary key pada Tabel berkardinalitas sedikit menjadi foreign key pada tabel berkardinalitas banyak.

Banyak ke banyak Sudah jelas di atas

2.11 Representasi Spesialisasi (IS A)

Ada 2 pendekatan yang dipakai didalam menurunkan spesialisasi kedalam tabel.

Pendekatan 1

– Bentuklah tabel untuk level entitas yg lebih tinggi – Bentuklah tabel untuk level entitas yg lebih rendah

(*dengan memasukkan primary key pada level yg lebih tinggi ke tabel dengan level yang lebih rendah)

Gambar 3-38 Representasi spesialisasi ke tabel metoda 1

Pendekatan 2

(71)

– Bisa jadi tabel pada level tinggi tidak perlu di simpan jika spesialisasi adalah total. Jika diperlukan bisa dibuat view yang menggabungkan tabel-tabel spesialisasi.

Gambar 3-39 Representasi spesialisasi ke tabel metoda 1

2.12 Representasi Agregasi

Untuk merepresentasikan agregasi, buatlah tabel yang terdiri dari :

Foreign key dari himpunan entitas yang berhubungan

– Setiap atribut deskriptif

(72)

Gambar 3-40 Representasi Agregasi untk tabel mata kuliah, dosen dan Dosen mengajar mt kul

(73)

Rangkuman

1. Himpunan Entitas Lemah tidak memiliki primary key dan selalu bergantung pada entitas lain.

2. Notasi entitas lemah adalah doble persegi panjang, sedangkan relasinya double diamond.

3. Jika konsep primary key di pakai didalam himpunan entitas kuat, maka diskriminator dipakai sebagai pembeda antar entitas di dalam himpunan entitas lemah. Diskriminator di gambarkan sebagai garis bawah yang terputus putus.

4. Spesialisasi merupakan proses desain top-down; dengan mendesain subgrouping didalam himpunan entitas yang berbeda dari himpunan entitas.

5. Generalisasi merupakan proses desain bottom-up; mengkombinasikan jumlah himpunan entitas yang digunakan secara bersama-sama.

6. Agregasi adalah enkapsulasi dari entitas entitas yang berelasi (*n-n). Notasi agregasi adalah Persegi Panjang yang membungkus himpunan entitas biner yang saling ber-relasi.

7. Secara umum penurunan diagram ER ke tabel memiliki aturan sebagai berikut :

 Setiap himpunan entitas menjadi Tabel (* baik himpunan entitas kuat atau lemah)  Setiap atribut menjadi kolom di tabel

(74)

(* akan di bahas di bawah lebih detail)

8. Atribut komposit akan dipecah dengan membuat atribut terpisah untuk masing masing komponennya. 9. Atribut multivalued mengharuskan untuk di pecah

menjadi 2 Tabel.

10. Himpunan Weak Entity akan menjadi tabel tersendiri yang didalamnya ada kolom primary key yang merupakan identifikasi dari strong entity.

11. Kardinalitas relasi menentukan berapa banyak tabel yang terbentuk.

Kuis Benar Salah

1. Pemodelan ER adalah pemodelan konseptual sebuah basis data relasional dan pasti bisa di turunkan kedalam tabel. 2. Konsep diskriminator hanya di dapat pada himpunan

entitas lemah.

3. Spesialisasi dan Generalisasi sama sama menggunakan notasi IS A.

4. Hanya kardinalitas relasi banyak ke banyak yang menurunkan 1 tabel lagi yaitu tabel relasi.

(75)

Pilihan Ganda

Petunjuk: Pilihlah jawaban yang paling tepat!

1.

Perhatikan relasi berikut

kardinalitas relasinya adalah________

A. Banyak ke Banyak

D

. Banyak ke Banyak

B. 1 ke 1 E. Salah semua

C. 1 ke Banyak

2. Diskriminator adalah konsep yang terdapat di __________ A

. Himpunan Entitas kuat D. Spesialisasi B

. Himpunan Entitas lemah E. Generalisasi C

. Agregasi

(76)

A

. 1 Tabel D. Bisa 2 atau 3 tergantung situasi B

. 2 Tabel E. Bisa 1 atau 2 tergantung situasi

Gambar

Gambar 1-2 Perkembangan Database
Gambar 1-3 Komponen DBMS
Gambar 1-5 Model Database
Gambar 2-20 Relasi dengan Kardinalitas 1 ke 1
+7

Referensi

Dokumen terkait

Bahasa formal untuk query basis data relasional adalah bahasa yang digunakan untuk meminta informasi yang diinginkan dari basis data.. Sebelum adanya basis data

Sebuah sistem basis data (DBMS) yang handal dapat dilihat dari mekanisme cara kerja yang optimal dalam melakukan eksekusi proses pada perintah-perintah SQL (query) yang dibuat oleh

 Data value adalah data aktual atau Data value adalah data aktual atau informasi yang disimpan pada tiap data.. informasi yang disimpan pada tiap

Desain Sistem Basis Data Logical adalah proses pembentukan model yang berasal dari informasi yang digunakan dalam suatu perusahaan yang didasarkan pada model data

Multi user, pada sistem ini ada lebih dari satu akun user yang dapat mengakses satu atau lebih data atau informasi, perangkat keras, perangkat lunak melalui setiap

Teknik yang digunakan pada perancangan basis data dibagi dalam tiga tahap, yaitu perancangan basis data konseptual (conseptual database design), perancangan basis

Model untuk menjelaskan hubungan antar data dalam basis data berdasarkan suatu persepsi bahwa real word terdiri dari objek-object dasar yang mempunyai hubungan

Sistem Manajemen Basis Data Sistem manajemen basis data atau DBMS, adalah perangkat lunak yang di desain untuk membantu menangani koleksi data dalam jumlah besar yang dibutuhkan dalam