• Tidak ada hasil yang ditemukan

Perancangan Basis Data Relasional PERANCANGAN BASIS DATA RELASIONAL

N/A
N/A
Protected

Academic year: 2021

Membagikan "Perancangan Basis Data Relasional PERANCANGAN BASIS DATA RELASIONAL"

Copied!
212
0
0

Teks penuh

(1)

PERANCANGAN BASIS DATA RELASIONAL

POLITEKNIK TELKOM BANDUNG

(2)

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.

(3)

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

Penulis,

(4)

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

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

(5)

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.10

Hubungan kardinalitas dengan tabel yang terbentuk ... 49

3.11

Representasi Spesialisasi (IS A) ... 50

3.12

Representasi Agregasi... 51

4

NORMALISASI ... 59

4.1

Definisi Normalisasi ... 60

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

(6)

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.10

Fungsi Agregasi ... 88

5.11

Operasi Division ... 88

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)

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.4.1

Arsitektur Database Oracle... 149

8.4.2

Struktur Database Oracle ... 150

8.4.3

Oracle Instance ... 151

8.4.4

Oracle Memory Structure ... 151

8.4.5

Oracle Processes 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

(8)

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.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

Browsing dan Hypertext ... 187

9.8

World Wide Web (WWW) ... 189

9.8.1

WEB Sebagai Bentuk Aplikasi Basis Data ... 190

(9)

Daftar Gambar

Gambar 1-1 Siklus informasi... 2

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 Terminologi ... 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

(10)

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

Gambar 3-6 Atribut multivalued 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 Processes ... 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

(11)

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

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

Gambar 10-4 Objek sebagai Data Raster dan Data Vektor ... 180

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

Gambar 10-6 Pengelompokan DAC dalam Sistem Pencarian

Informasi... 189

Gambar 10-7 Arsitektur Web ... 191

(12)

Daftar Tabel

Tabel 4-1 Contoh Update Anomaly ... 60

Tabel 4-2 Contoh Insert Anomaly ... 61

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

(13)

Tabel 7-19 Output Select Mahasiswa menggunakan Where ... 112

Tabel 7-20 Contoh Perintah Like ... 112

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

(14)
(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 file, 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).

• Data ditangkap oleh indera kemudian menjadi inputan dalam sebuah model untuk diubah menjadi informasi bagi penerimanya yang nantinya akan membantu pengambilan keputusan dan menjadi sebuah hasil tindakan.

(17)

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

Pada sebuah institusi, data merupakan salah satu hal yang sangat penting. Setiap bagian/divisi dari institusi memiliki data sendiri-sendiri. Tapi setiap bagian pun membutuhkan sebagian data dari bagian yang lain. Hal ini yang biasa dikenal sebagai “shared data”. Setiap divisi memiliki aplikasi sendiri-sendiri dalam melakukan manipulasi dan pengambilan data tersebut. Setiap aplikasi memiliki file-file dalam sistem operasi yang digunakan untuk menyimpan data-data. Seiring dengan berkembangnya institusi, bertambahnya bagian/divisi, bertambah pula data dan aplikasi yang digunakan. Bertambahnya aplikasi, bertambah pula file-file yang dibuat.

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

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

Data redundancy dan inconsistency.

Dikarenakan programer yang berbeda membuat file dan aplikasi masing-masing, menyebabkan beragam format dan aplikasi yang dibuat. Bahkan, aplikasi pun dibuat menggunakan bahasa pemrograman yang berbeda-beda. Lebih jauh lagi, data atau informasi yang sama bisa terdapat dalam beberapa file yang berbeda. Ini yang disebut dengan redundancy. Redundancy data ini lama kelamaan akan menyebabkan inconsystency dari data.

(18)

Kesulitan dalam pengaksesan data.

Dikarenakan setiap aplikasi memiliki file 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 file yang terdapat di bagian lain.

Isolasi data.

Dikarenakan data tersebar dalam berbagai macam file, dan file tersebut dalam beragam format, pembuatan aplikasi baru akan terasa sulit ketika harus membaca format dari masing-masing file 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 file yang berbeda-beda.

Masalah keamanan.

Tidak semua pengguna dari basis data dapat mengakses semua data. Hal ini akan sulit dilakukan jika menggunakan gaya penyimpanan data dalam file.

(19)

Gambar 1-2 Perkembangan Database

1.5. Definisi 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 (Database Management System, DBMS). DBMS memiliki karakteristik sebagai berikut:

Software program

(20)

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 file-file 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

(21)

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:

1. Level fisik

Merupakan level terendah pada abstraksi data yang menunjukkan bagaimana sesungguhnya data disimpan. Pada level ini pemakai melihat data sebagai gabungan dari struktur dan datanya sendiri.

(22)

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 field hanya memiliki satu buah induk (parent), masing-masing parent memiliki banyak child (anak). Model ini memiliki kecepatan yang baik.

Network

(23)

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

Object Oriented Database adalah sebuah sistem database yang menggabungkan semua konsep object oriented seperti pewarisan, abstraksi, enkapsulasi, dll. Model ini dapat berinteraksi dengan baik dengan bahasa pemrograman berorientasi objek seperti java dan C++.

(24)
(25)

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.

Contohnya: Mahasiswa(NIM, Nama, Alamat, Jenis_kelamin …).

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

(26)

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

Gambar 1-7 Terminologi

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

(27)

Terminologi yang terakhir adalah pandangan berorientasi record (record-oriented) dimana entity-set di representasikan dengan record-type/file sedangkan nilai dari tiap-tiap entity direpresentasikan dengan record yang terstruktur berdasarkan field-field 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

Istilah „dunia nyata‟ (real world) bermakna terhadap keseluruhan data yang belum terstruktur yang secara nyata ada/terkait dalam lingkup sistem yang sedang ditinjau. Dunia nyata disini bisa dikatakan sebagai sebuah domain secara utuh/penuh maupun subdomain, sebagai contoh jika kita menganggap suatu perusahaan sebagai suatu domain maka kita dapat menganggap unit-unit yang ada dalam perusahaan 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.

(28)

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

Merupakan proses pendefinisian entitas dan relasi (Relationship) dari dunia nyata yang dirancang, berdasarkan kebutuhan informasi dan pengolahan data dari organisasi yang bersangkutan.

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 field, jenis, lebar dan field kuncinya.

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

(29)

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

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

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)  Identifikasi entitas dan atributnya  Pendefinisian relasi antar entitas  Penentuan atribut relasi antar entitas  Menggambar diagram E-R

REAL WORLD Model Data Relasi Skema Basis Data Basis Data Pembuatan Model relasi Normalisasi Implementasi melalui DBMS

(30)

 Transformasi menjadi model relasi

 Nomalisasi

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

Gambar 1-9 Pendekatan ER

1.14. Bahasa Basis Data

1. Data Definition Language (DDL)

Data Definition 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 file khusus yang disebut dengan kamus data (data dictionary) atau data directory. Kamus data merupakan sebuah file yang berupa metadata, yaitu data tentang data. Kamus data ini akan selalu diakses pada suatu operasi basis data sebelum suatu file 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:

i. pengambilan informasi yang tersimpan pada basis data.

REAL WORLD Model Data E-R Skema Basis Data Basis Data Pembuatan Model Kon-septual Normalisasi Imple-mentasi melalui DBMS Model Data Relasi

(31)

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.

5. Authorization, untuk mendefinisikan hak akses spesifik terhadap objek-objek basis data.

(32)

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 file.

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.

5. Basis data relasional memiliki satu struktur “lojik” yang disebut Relation (relasi). Struktur relasi merupakan struktur data 2-dimensi dan pada level “fisik” berupa table (tabel).

(33)

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 file maka setiap aplikasi tidak memiliki file

tersendiri.

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

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.

9. Data yang disimpan dalam DBMS tidak dapat diakses secara bersamaan. 10. Memungkinkan beberapa aplikasi menggunakan DBMS yang sama.

(34)

Pilihan Ganda

1. Berikut ini merupakan hasil pengolahan data, kecuali…

A. Informasi D. DBMS

B. Pengetahuan E. Wisdom

C. Kebijakan 2.

Penyimpanan data menggunakan file memiliki permasalahan sebagai berikut kecuali…

A. Data redundancy dan inconsistency D. Security

B. Isolation E. Integrity

C. Simplicity 3.

Dalam menganalisis suatu domain, hal-hal yang harus 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 mengenai Database Management System adalah... A. Menambah data D. Mengelola data

B. Mengubah data E. Memberikan data C. Menghapus data

5. Berikut ini adalah jenis DBMS untuk skala enterprise adalah…

A. MySQL D. SQL server

B. Firebird E. MS Access

(35)

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

8 Hal yang benar mengenai level view pada abstraksi data adalah… A

Merupakan level terendah

abstraksi D Berhubungan langsung dengan user B Dapat direpresentasikan dengan diagram ER. E Salah satu level konseptual abstraksi 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

10 Kelebihan DBMS kecuali…

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

(36)

Latihan

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 file 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?

(37)

2 ENTITY RELATIONSHIP MODEL

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.

(38)

2.1 ER Sebagai Salah Satu Pemodelan Konseptual Basis Data

Didalam membuat sebuah Basis Data, hal pertama yang harus dilakukan adalah mendesain tabel tabel yang akan digunakan untuk menyimpan data sesuai bisnis proses yang kita inginkan. Proses konseptual adalah pandangan secara konsep tentang basis data. Pandangan konseptual ini 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.

2.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

Bambang adalah salah satu contoh dari entitas. Sedangkan bambang, susi, sumarno merupakan himpunan entitas orang. Dapat kita katakan bahwa

Himpunan Entitas (Entity Set): Sekelompok entitas yang sejenis dan

berada dalam lingkup yang sama. Kumpulan entitas orang dengan karakteristik mempunyai nim, prodi, dsb bisa kita katakan merupakan himpunan entitas mahasiwa. Entitas menunjuk kepada pada individu suatu objek sedangkan himpunan entitas menunjuk pada rumpun (family) dari

(39)

Gambar 2-1 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-2 Contoh himpunan entitas

Setiap entitas mempunyai atribut yang melekat pada entitas tersebut.

Berikut gambaran konseptual basis data (* entitas dan atribut) yang direfleksikan kedalam bentuk fisik dari basis data (* tabel dan kolom).

Gambar 2-3 Gambaran Himpunan entitas di Tabel

Mahasiswa

Jadwal

Pinjaman

Bambang Susi Sumarno

Mahasiswa

entitas orang Entitas orang

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

Atribut Entitas

Entitas 1 Entitas 2 Entitas 3

(40)

2.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-4 Contoh Atribut Komposit

Single value dan multivalued

Atribut Single value yaitu suatu atribut yang bisa di isi paling banyak 1 nilai untuk setiap baris data. Contoh atribut single value adalah Jenis Kelamin.

Atribut Multivalued yaitu suatu atribut yang bisa lebih dari 1 nilai yang sejenis untuk setiap baris data. Contoh atribut mutlivalued value adalah Alamat, No telp dan hobi. Ketiga atribut tersebut bisa berisi lebih 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

(41)

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-5 Entitas mahasiswa dengan Atribut 2.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.

Perhatikan contoh relasi antara mahasiswa dengan organisasi berikut.

Gambar 2-6 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,

Mahasiswa

#nim prodi ipk

nama

Organisasi

Relasi mahasiswa mempunyai organisasi

mempunyai

memp

unyai

(42)

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.

Berikut merupakan contoh gambaran antara entitas mahasiwa dan entitas organisasi.

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

2.5 Derajat Himpunan Relasi

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

Bambang

Susi Sumarno Organisai LINUX

Organisai Pecinta Satwa

Sumarno

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

(43)

Gambar 2-8 Contoh Derajat Relasi Unary

Relasi di atas menggambarkan entitas karyawan yang ber-relasi dengan entitas karyawan. Entitas karyawan bisa merupakan karyawan biasa tetapi bisa juga merupakan manajer. Relasi yang terjadi yaitu relasi karyawan bekerja untuk manajer (* entitas manajer adalah salah satu karyawan juga). Perhatikan kardinalitas relasinya, 1 karyawan hanya bekerja untuk 1 manajer, tetapi 1 manajer bisa mempunyai banyak bawahan.

Binary (Me-relasi-kan 2 entitas)

Gambar 2-9 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.

(44)

Ternary (Me-relasi-kan 3 entitas)

Gambar 2-10 Contoh Derajat Relasi Ternary

Relasi di atas menggambarkan entitas karyawan yang ber-relasi dengan entitas cabang dan entitas pekerjaan melalui relasi bekerja_di. 1 karyawan bekerja di sebuah id pekerjaan tertentu dan juga bekerja di sebuah cabang tertentu. Ada 3 entitas yang terlibat dari relasi di atas

2.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

(45)

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.  Satu ke Banyak

Gambar 2-12 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

(46)

Relasi di atas menggambarkan bahwa untuk setiap entitas di himpunan entitas A berpasangan dengan maksimal 1 entitas di himpunan entitas B. Asumsikan bahwa untuk 1 hari pj_cuci_piring boleh di berikan pada banyak orang, sedangkan 1 orang hanya di berikan tugas untuk menjadi pj_cuci_piring sebanyak maksimal 1 hari. Dari A ke B kardinalitasnya maksimal adalah 1, dan dari B ke A kardinalitasnya maksimal adalah banyak. Oleh karena itu relasi ini berkardinalitas banyak ke 1.

 Banyak ke Banyak

Gambar 2-14 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.

2.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

(47)

Superkey yaitu satu atau lebih atribut (kumpulan atribut) yang dapat membedakan satiap baris 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

2.8 Diagram ER

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

Gambar 2-15 Contoh Diagram ER

Notasi yang digunakan di Diagram ER adalah :

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

Elips dobel : Menunjukkan atribut yang multivalued

Elips dengan garis terputus : Menunjukkan atribut turunan

kota #nim nama prodi ipk #kd_org nama jenis umur

alamat Mahasiswa mem Organisasi puny

aime mpun yai

(48)

2.9 Constraint Cardinalitas

Dalam menggambarkam kardinalitas pada Diagram ER, digunakan

garis panah (->) yang menunjukkan ―Satu‖ atau garis biasa (—) yang

menunjukkan ―Banyak‖.

Gambar 2-16 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-17 Relasi 1 ke banyak

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

1 Mahasiswa boleh menjabat 1 jabatan dalam 1 periode tertentu di organisasi yang berbeda.

kota #nim nama prodi ipk #kd_org nama jenis umur

alamat Mahasiswa mem Organisasi puny aime mpun yai kota #nim nama prodi ipk #kd_org nama jenis umur

alamat Mahasiswa mem Organisasi

puny aime mpun yai

(49)

Gambar 2-18 Relasi Banyak ke 1

1 Jenis Beasiswa boleh diberikan untuk banyak mahasiwa 1 Mahasiwa hanya boleh mendapatkan 1 Jenis beasiwa

Gambar 2-19 Relasi Banyak ke Banyak

1 Mahasiswa boleh mengambil banyak mata kuliah 1 Mata kuliah boleh diambil banyak mahasiwa

kota #nim nama prodi ipk #kd_org nama jenis umur

alamat Mahasiswa mem Organisasi puny aime mpun yai kota #nim nama prodi ipk #kd_org nama jenis umur

alamat Mahasiswa mem Organisasi puny

aime mpun yai

(50)

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.

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

(51)

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 multivalued.

14. Notasi Elips dengan garis terputus : Menunjukkan atribut turunan 15. Notasi garis bawah menunjukkan bahwa atribut tersebut adalah primary

(52)

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 sebuah atribut didalam konse Entity Relationship, kecuali _________

A. Simple D. Multivalued

B. Composit E. Surrogate key

C. Single value 4.

Dibawah ini merupakan alasan yang benar tentang makna Atribut deskriptif ________

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

(53)

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 banyak E. Relasi di atas di petakan kedalam 3 tabel C. A adalah himpunan Entitas Hari

7 Pernyataan yang benar dari gambar di atas _________ A Himpunan relasi berderajat D A dan B benar

(54)

Ternary

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

B 1 ke banyak E Tidak ada jawaban yang benar C Banyak ke 1

10 Dari himpunan atribut merupakan candidate key paling baik ________________

StaffNo, StaffAddress, Skill,

mana yang

A StaffNo D StaffNo dan Skill

B StaffNo dan StaffAddress E Tidak ada jawaban yang tepat C StaffNo,StaffAddress dan Skill

(55)

Latihan

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

Di sebuah perusahaan, terdapat kepentingan untuk mencatat detail logistik dari setiap kantor cabang. Contoh barang barang logistik adalah Meja , Kursi, Lemari, Komputer. Setiap cabang bisa mempunyai setiap barang tersebut sesuai kebutuhan. Untuk setiap logistik ada merknya sendiri sendiri, bisa berbeda beda. Sistem basis data di inginkan bisa mencatat historis dari barang logistik yang ada, barang tersebut kapan datang, kondisinya masih bagus atau sudah rusak. Sehingga manajemen bisa membuat sebuah anggaran untuk mengganti logistik-logistik yang sudah usang.

(56)

3 KONVERSI ER KE TABEL

Overview

Pemodelan ER adalah pemodelan konseptual sebuah basis data relasional. Desain ER bisa di konversikan kedalam bentuk tabel fisik yang akan di simpan di dalam basis data. Didalam bab ini akan di bahas lebih lanjut dari ER yaitu tentang weak entity, spesialisasi, agregasi dan penurunan 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

(57)

3.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.

Diskriminator di notasikan dengan garis bawah yang putus putus.

Gambar 3-1 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.

3.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

Tunjangan

Pegawai

#nip nama jabatan Nomor penerima tunjangan Nama penerima tunjangan Besar tunjangan

(58)

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.

Sifat dari spesialisasi adalah inheritan atribut yaitu atribut pada level tinggi secara otomatis akan di turunkan pada level di bawahnya.

Gambar 3-2 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.

3.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

Pegawai

#Id_pegawai nama

IS A

Pegawai Tetap Pegawai Honorer Gaji Per Bulan

Upah Per Jam

Jumlah Jam Kerja Besar

(59)

3.4 Agregasi

Agregasi adalah enkapsulasi dari entitas entitas yang berelasi (*n-n).

Pada umumnya terbentuk dari kardinalitas 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-3 Contoh Agregasi

Gambar di atas menunjukkan relasi dosen mengajar sebuah mata kuliah dan mahasiswa mengambil mata kuliah yang diajarkan oleh dosen tertentu. Agregasi di perlukan dikarenakan tidak di mungkinkan mahasiwa untuk mengambil mata kuliah tanpa adanya dosen yang bersedia untuk mengajar mata kuliah tersebut. Dalam kasus di atas menekankan bahwa himpunan entitas dosen harus ber-relasi terlebih dahulu dengan himpunan entitas mata kuliah, kemudian relasinya di pandang sebagai 1 entitas yang ber-relasi dengan himpunan entitas mahasiwa lewat ber-relasi mengambil. Primary key dari kedua himpunan entitas dosen dan mata kuliah akan secara implisit masuk ke relasi mengajar dengan di tambah 2 atribut deskriptif (* semester dan thn_ajaran). Relasi tersebut di anggap sebagai 1 entitas seperti gambar di bawah ini.

(60)

3.5 Ringkasan notasi simbol di ER

(61)

3.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)

3.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.

Atribut multivalued mengharuskan untuk di pecah menjadi 2 Tabel.

Atribut multivalued M dari entitas E direpesentasikan oleh tabel terpisah EM. Perhatikan gambar di bawah yang menunjukkan bagaimana penurunan sebuah atribut multivalued :

Gambar

Gambar 1-2 Perkembangan Database
Gambar 1-3 Komponen DBMS  1.7.  Abstraksi Data
Gambar 1-4 Abstraksi Data.
Gambar 1-5 Model Database
+7

Referensi

Dokumen terkait

Formulir Data Nasabah Bank Jatim, data sekunder, 2013.. mengenai persetujuan penggunaan data pribadi nasabah yang telah dicantumkan dalam formulir data nasabah tersebut.

Sedanglkan faktor penghambat terjadinya hubungan antar anggota Persaudaraan Setia hati Terate antara lain yaitu perbedaan kesibukan diluar organisasi UKM pencak silat UINSA surabaya

Penggunaan Ac-Di-Sol sebagai disintegran dengan kadar 3% (F3) memberikan hasil yang optimal terhadap mutu fisik dan laju disolusi Orally Disintergating Tablet Piroksikam dengan

Hasil penelitian ini juga didukung oleh pernyataan Maryuni dan Anik, (2013), yang menyatakan bahwa respon ibu terhadap permasalahan bayi BBLR sangat mempengaruhi

Tujuan dari penelitian ini adalah untuk mengidentifikasi rasio-rasio keuangan yang memiliki dengan tujuan untuk mendapatkan bukti empiris bahwa capital adequacy ratio, bia-

Dari hasil penelitian diketahui bahwa usia, masa kerja dan sikap berhubungan dengan kepatuhan perawat dalam melakukan dokumentasi reassessment nyeri dengan p value =

Suami mengetahui bahwa sekarang ini sangatlah aman untuk hamil dan persalinan dibandingkan masa lalu, tetapi suami tidak bisa berhanti mengkhawatirkan bahwa sesuatu akan terjadi

Matematika pada hakikatnya matematika merupakan suatu ilmu yang didasarkan atas akal (rasio) yang berhubungan benda-benda dalam pikiran yang abstrak atau matematika