1. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data i
PERANCANGAN BASIS DATA RELASIONAL
POLITEKNIK TELKOM
BANDUNG
2009
2. Politeknik Telkom Perancangan Basis Data Relasional
ii Perancangan Basis data
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
No part of this document may be copied, reproduced, printed, distributed, modified,
removed and amended in any form by any means without prior written
authorization of Telkom Polytechnic.
3. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data iii
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. Politeknik Telkom Perancangan Basis Data Relasional
iv Perancangan Basis data
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
2.6 Kardinalitas Relasi...........................................................30
2.7 Key..................................................................................32
2.8 Diagram ER.....................................................................33
5. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data v
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
5.1 Query dan Aljabar Relasional.........................................81
6. Politeknik Telkom Perancangan Basis Data Relasional
vi Perancangan Basis data
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.4 Bentuk-bentuk Perintah Join ........................................128
7.4.1 LEFT JOIN ......................................................................129
7.4.2 RIGHT JOIN ...................................................................130
7. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data vii
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. Politeknik Telkom Perancangan Basis Data Relasional
viii Perancangan Basis data
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
Daftar Pustaka ..............................................................198
9. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data ix
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
Gambar 3-1 Contoh Himpunan Entitas Lemah..........................43
10. Politeknik Telkom Perancangan Basis Data Relasional
x Perancangan Basis data
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
Gambar 9-10 Parallel Sistems...................................................159
Gambar 9-11 Distributed Sistem..............................................159
Gambar 10-1 Arsitektur Data warehouse ................................174
11. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data xi
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. Politeknik Telkom Perancangan Basis Data Relasional
xii Perancangan Basis data
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
Tabel 7-16 Output Select Jurusan............................................109
Tabel 7-17 Operator Kondisi.....................................................111
Tabel 7-18 Output Select Mahasiswa menggunakan Where ...112
13. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data xiii
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
Tabel 10-2 Tabel Relasional .....................................................171
14.
15. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data 1
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.
3. Mahasiswa mengetahui mengenai abstraksi data dan Database Language.
16. Politeknik Telkom Perancangan Basis Data Relasional
2 Perancangan Basis data
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.
Gambar 1-1 Siklus informasi
17. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data 3
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. Politeknik Telkom Perancangan Basis Data Relasional
4 Perancangan Basis data
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. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data 5
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
• Supplements operating sistem
20. Politeknik Telkom Perancangan Basis Data Relasional
6 Perancangan Basis data
• 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
Aplikasi lain
21. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data 7
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. Politeknik Telkom Perancangan Basis Data Relasional
8 Perancangan Basis data
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
Relationship dibuat menggunakan linked list (pointer). Berbeda dengan
model hierarchical satu anak dapat memiliki beberapa induk. Model
ini memiliki fleksibilitas yang tinggi.
23. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data 9
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++.
25. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data 11
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. Politeknik Telkom Perancangan Basis Data Relasional
12 Perancangan Basis data
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
direpresentasikan sebagai relasi (Relation), nilai-nilai data yang sesuai dengan
atributnya (attribute) disimpan dalam sebuah tempat yang dinamakan tuple.
27. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data 13
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. Politeknik Telkom Perancangan Basis Data Relasional
14 Perancangan Basis data
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).
Menghitung perkiraan tempat (space) yg dibutuhkan untuk seluruh
tabel dan untuk seluruh index.
Implementasi dengan menggunakan software DBMS.
29. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data 15
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. Politeknik Telkom Perancangan Basis Data Relasional
16 Perancangan Basis data
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.
ii. Pemasukan informasi baru ke dalam basis data.
iii. Penghapusan informasi dari basis data.
iv. Modifikasi 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
DBMSModel
Data
Relasi
31. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data 17
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. Politeknik Telkom Perancangan Basis Data Relasional
18 Perancangan Basis data
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. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data 19
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. Politeknik Telkom Perancangan Basis Data Relasional
20 Perancangan Basis data
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
C. PostgreSQL
6 Berikut ini jenis model basis data kecuali...
A. Relational D. Hirarkial
35. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data 21
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. Politeknik Telkom Perancangan Basis Data Relasional
22 Perancangan Basis data
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. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data 23
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. Politeknik Telkom Perancangan Basis Data Relasional
24 Perancangan Basis data
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
individu tersebut.
39. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data 25
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
MAHASISWA
40. Politeknik Telkom Perancangan Basis Data Relasional
26 Perancangan Basis data
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
> 1 alamat)
41. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data 27
– 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
Mahasiswa
42. Politeknik Telkom Perancangan Basis Data Relasional
28 Perancangan Basis data
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:
Unary (Hanya me-relasi-kan 1 entitas)
Bambang
Susi
Sumarno
Organisai LINUX
Organisai Pecinta Satwa
Sumarno
Mempunyai organisasi Pecinta Satwa
Di semester 1 tahun ajaran 2008/2009
43. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data 29
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. Politeknik Telkom Perancangan Basis Data Relasional
30 Perancangan Basis data
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
Gambar 2-11 Relasi dengan Kardinalitas 1 ke 1
Relasi di atas menggambarkan bahwa untuk setiap entitas di
himpunan entitas A berpasangan dengan maksimal 1 entitas di
45. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data 31
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
Gambar 2-13 Relasi dengan Kardinalitas Banyak ke 1
46. Politeknik Telkom Perancangan Basis Data Relasional
32 Perancangan Basis data
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
yang dapat membedakan semua row dalam relasi secara unik.
Macam key ada 3 yaitu :
Superkey
47. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data 33
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 Organisasi
mem
puny
aime
mpun
yai
48. Politeknik Telkom Perancangan Basis Data Relasional
34 Perancangan Basis data
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 Organisasi
mem
puny
aime
mpun
yai
kota#nim
nama
prodi
ipk
#kd_org
nama
jenis
umur
alamat
Mahasiswa Organisasi
mem
puny
aime
mpun
yai
49. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data 35
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 Organisasi
mem
puny
aime
mpun
yai
kota#nim
nama
prodi
ipk
#kd_org
nama
jenis
umur
alamat
Mahasiswa Organisasi
mem
puny
aime
mpun
yai
50. Politeknik Telkom Perancangan Basis Data Relasional
36 Perancangan Basis data
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. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data 37
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
key.
52. Politeknik Telkom Perancangan Basis Data Relasional
38 Perancangan Basis data
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. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data 39
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. Politeknik Telkom Perancangan Basis Data Relasional
40 Perancangan Basis data
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 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
55. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data 41
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. Politeknik Telkom Perancangan Basis Data Relasional
42 Perancangan Basis data
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. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data 43
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
TunjanganPegawai
#nip
nama
jabatan
Nomor
penerima
tunjangan
Nama penerima
tunjangan
Besar tunjangan
58. Politeknik Telkom Perancangan Basis Data Relasional
44 Perancangan Basis data
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
subgroup yang berbeda kemudian di cari entitas umum yang mewakili 2
himpunan entitas tersebut.
Pegawai
#Id_pegawainama
IS A
Pegawai Tetap Pegawai Honorer
Gaji Per Bulan
Upah Per Jam
Jumlah Jam KerjaBesar
tunjangan
59. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data 45
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 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.
Gambar 3-4 Relasi di pandang sebagai Himpunan Entitas
60. Politeknik Telkom Perancangan Basis Data Relasional
46 Perancangan Basis data
3.5 Ringkasan notasi simbol di ER
Gambar 3-5 Ringkasan Notasi pada Diagram ER
61. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data 47
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 3-6 Atribut multivalued di pecah menjadi entitas baru
62. Politeknik Telkom Perancangan Basis Data Relasional
48 Perancangan Basis data
3.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-7 Atribut himpunan entitas kuat di representasikan kedalam
tabel
Himpunan entitas lemah akan menjadi tabel tersendiri yang
didalamnya ada kolom primary key yang merupakan identifikasi dari himpunan
entitas kuat. Contoh di bawah menggambarkan himpunan entitas lemah di
turunkan kedalam tabel.
Gambar 3-8 Penurunan Himpunan Entitas Lemah ke tabel
63. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data 49
3.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 :
Gambar 3-9 Penurunan Kardinalitas relasi N to N menjadi Tabel
3.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.
64. Politeknik Telkom Perancangan Basis Data Relasional
50 Perancangan Basis data
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
3.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-10 Representasi spesialisasi ke tabel metoda 1
Pendekatan 2
– Bentuklah tabel untuk tiap himpunan entitas dengan semua atribut
lokal dan turunan.
– Bisa jadi tabel pada level tinggi tidak perlu di simpan jika spesialisasi
adalah total. Jika diperlukan bisa dibuat view yang menggabungkan
tabel-tabel spesialisasi.
65. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data 51
Gambar 3-11 Representasi spesialisasi ke tabel metoda 1
3.12 Representasi Agregasi
Untuk merepresentasikan agregasi, buatlah tabel yang terdiri dari :
– Foreign key dari himpunan entitas yang berhubungan
– Setiap atribut deskriptif
– Atribut baru untuk primary key di tabel relasi
Gambar 3-12 Representasi Agregasi untk tabel mata kuliah, dosen dan
Dosen mengajar mt kul
66. Politeknik Telkom Perancangan Basis Data Relasional
52 Perancangan Basis data
Gambar 3-13 Representasi Agregasi untuk tabel Mahasiwa dan
Mahasiwa Mengambil Mtkul
67. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data 53
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
Kardinalitas relasi akan menentukan jumlah tabel yang terbentuk
(* 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.
68. Politeknik Telkom Perancangan Basis Data Relasional
54 Perancangan Basis data
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.
5. Agregasi hanya bisa dilakukan pada kardinalitas relasi banyak ke banyak.
69. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data 55
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
3.
2 Entitas dengan kardinalitas relasi 1 ke banyak akan menghasilkan
__________ tabel
A. 1 Tabel D. Bisa 2 atau 3 tergantung situasi
B. 2 Tabel E. Bisa 1 atau 2 tergantung situasi
C. 3 Tabel
4.
Perhatikan relasi berikut
Relasi di atas merupakan contoh dari relasi _________
70. Politeknik Telkom Perancangan Basis Data Relasional
56 Perancangan Basis data
A. Agregasi D. Weak Entity
B. Spesialisasi E. Salah semua
C. Generalisasi
5.
Banyak tabel yang bisa di hasilkan dari relasi di soal nomor 4 di atas adalah
_________
A. 3 Tabel D. 6 Tabel
B. 4 Tabel E. 7 Tabel
C. 5 Tabel
6
Gambar himpunan entitas berikut menggambarkan _______
A. Himpunan Entitas D. Relasi
B. Himpunan Entitas Lemah E. Atribut
C. Himpunan Entitas Kuat
7.
Banyak tabel yang bisa di hasilkan dari relasi di soal nomor 4 di atas adalah
_________
A. 3 Tabel
B. 4 Tabel E. 7 Tabel
C. 5 Tabel
C Network
8 Setiap atribut pasti menjadi 1 kolom. Pernyataan tersebut _______
A Benar D. Salah pada kondisi tertentu
B Salah E. C dan D benar
C Benar pada kondisi tertentu
9 Ketika sebuah nilai atribut mempunyai multivalued maka langkah kita
adalah _______
A Menjadikannya entitas D. Tidak di ikuntukan menjadi kolom
B Biarkan saja E. Tidak ada jawaban yang tepat
C
Membuat banyak kolom untuk
mengatasi multivalued tersebut
71. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data 57
10 Semua ER adalah benar. Pernyataan tersebut _______
A Mutlak benar D. Tidak di ikuntukan menjadi kolom
B Mutlak salah E. Tidak ada jawaban yang tepat
C
Mutlak salah karena hanya ada 1
ER yang benar
72. Politeknik Telkom Perancangan Basis Data Relasional
58 Perancangan Basis data
Latihan
1. Turunkan Diagram ER berikut kedalam tabel!
73. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data 59
4 NORMALISASI
Overview
Bab ini akan membahas konsep normalisasi database berikut konsep-konsep
lain yang mendasarinya. Dalam bab ini juga akan ditampilkan contoh
penerapan normalisasi untuk tabel-tabel sederhana dalam kasus database
akademik di sebuah perguruan tinggi.
Tujuan
1. Mahasiswa memahami definisi dan tujuan normalisasi
2. Mahasiswa mampu mengidentifikasi super key, candidate key dan primary
key dari sebuah table
3. Mahasiswa mampu mengidentifikasi functional dependency yang ada pada
sebuah tabel, termasuk partial dan transitive FD
4. Mahasiswa mengenal bentuk normal pertama, ke dua, ke tiga dan BCNF
serta mampu melakukan normalisasi dengan menerapkan bentuk-bentuk
normal tersebut
5. Mahasiswa mengenal sekilas tentang bentuk-bentuk normal lain dan
memahami konsep denormalisasi
74. Politeknik Telkom Perancangan Basis Data Relasional
60 Perancangan Basis data
4.1 Definisi Normalisasi
Normalisasi adalah langkah-langkah sistematis untuk menjamin bahwa
struktur database memungkinkan untuk general purpose query dan bebas dari
insertion, update dan deletion anomalies yang dapat menyebabkan hilangnya
integritas data (E.F. Codd, 1970)
4.2 Tujuan Normalisasi
Pada dasarnya normalisasi dilakukan untuk memperbaiki desain tabel
yang kurang baik sehingga penyimpanan data menjadi lebih efisien dan bebas
anomali data. Untuk memperjelas pemahaman tentang proses normalisasi,
perhatikan diagram berikut:
Gambar 4-1 Diagram Normalisasi
Intinya, normalisasi dilakukan terhadap desain tabel yang sudah ada
dengan tujuan untuk meminimalkan redundansi (pengulangan) data dan
menjamin integritas data dengan cara menghidari 3 Anomali Data: Update,
Insertion dan Deletion Anomaly.
4.2.1 Update Anomaly
Tabel 4-1 Contoh Update Anomaly
NIM Nama_Mhs Kd_Jur Nama_Jur Kode_MK Nama_MK SKS Nilai
1-01 Tukimin TE Elektro TE-001 Elektronika 3 A
1-01 Tukimin TE Elektro DU-001 English 2 A
2-01 Jamilah IF Informatika IF-001 Algoritma 3 B
2-01 Jamilah IF Informatika DU-001 English 2 C
2-02 Maemunah IF Informatika IF-002 Database 2 A
Tabel di atas adalah contoh tabel yang memiliki desain yang kurang baik.
Perhatikan bahwa jika kita ingin meng-update jumlah sks mata kuliah
English dari 2 menjadi 3 sks, maka kita harus mengupdate lebih dari 1
record, yaitu baris 2 dan 4.
Jika hanya salah satu baris saja yang di-update, maka data menjadi tidak
konsisten (ada mata kuliah English dengan 2 sks dan ada mata kuliah
75. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data 61
English dengan 3 sks) . Kondisi seperti inilah yang disebut dengan update
anomaly.
4.2.2 Insertion Anomaly
Tabel 4-2 Contoh Insert Anomaly
NIM Nama_Mhs Kd_Jur Nama_Jur Kode_MK Nama_MK SKS Nilai
1-01 Tukimin TE Elektro TE-001 Elektronika 3 A
1-01 Tukimin TE Elektro DU-001 English 2 A
2-01 Jamilah IF Informatika IF-001 Algoritma 3 B
2-01 Jamilah IF Informatika DU-001 English 2 C
2-02 Maemunah IF Informatika IF-002 Database 2 A
Pada tabel yang sama seperti contoh di atas, terjadi pula insertion anomaly.
Misalkan terdapat mahasiswa baru dengan nim 1-02 bernama „Zubaedah‟
dengan kode jurusan „TE‟ dan nama jurusan „Elektro‟.
Data mahasiswa tersebut tidak dapat dimasukkan ke dalam tabel sebab
dia belum mengambil kuliah apapun (misalnya karena belum melakukan
registrasi). Kondisi inilah yang disebut dengan insertion anomaly.
4.2.3 Deletion Anomaly
Tabel 4-3 Contoh Delete Anomaly
NIM Nama_Mhs Kd_Jur Nama_Jur Kode_MK Nama_MK SKS Nilai
1-01 Tukimin TE Elektro TE-001 Elektronika 3 A
1-01 Tukimin TE Elektro DU-001 English 2 A
2-01 Jamilah IF Informatika IF-001 Algoritma 3 B
2-01 Jamilah IF Informatika DU-001 English 2 C
2-02 Maemunah IF Informatika IF-002 Database 2 A
Pada contoh tabel di atas terjadi deletion anomaly. Perhatikan bahwa jika
kita menghapus data mahasiswa bernama „Maemunah‟ maka kita harus
menghapus data pada baris ke 5, hal ini akan mengakibatkan kita juga
kehilangan data mata kuliah „Database‟. Kondisi inilah yang disebut dengan
deletion anomaly.
Selain 3 anomali di atas, ada beberapa konsep yang mendasari
normalisasi. Adapun konsep-konsep penting yang mendasari normalisasi
76. Politeknik Telkom Perancangan Basis Data Relasional
62 Perancangan Basis data
adalah konsep mengenai super key, candidate key, primary key, functional
dependency dan tentu saja bentuk-bentuk normal yang menjadi acuan kita
dalam melakukan normalisasi terhadap desain sebuah tabel. Pemahaman
terhadap konsep-konsep ini sangat penting dan akan dibahas di beberapa
sub bab berikutnya.
4.3 The Three Keys
Konsep tentang key adalah konsep yang penting untuk memahami
keterkaitan antar atribut data dalam tabel dan akan sangat berguna dalam
proses normalisasi. Dalam setiap tabel, terdapat 3 macam key:
a) Super key
Super key adalah satu atribut atau gabungan atribut (kolom) pada tabel
yang dapat membedakan semua baris secara unik.
b) Candidate key
Candidate key disebut juga dengan minimal super key, yaitu super key yang
tidak mengandung super key yang lain. Setiap candidate key pasti
merupakan super key, namun tidak semua super key akan menjadi
candidate key.
c) Primary key
Primary key adalah salah satu candidate key yang dipilih (dengan berbagai
pertimbangan) untuk digunakan dalam DBMS. Tiap tabel hanya memiliki 1
primary key, namun primary key tersebut bisa saja dibentuk dari beberapa
atribut (kolom).
Untuk memperjelas pemahaman kita terhadap 3 macam key di atas,
perhatikan contohnya pada tabel mata_kuliah di bawah ini:
Tabel 4-4 Tabel Mata Kuliah
Kode_MK Nama_MK Semester SKS
DU-001 English 2 2
DU-002 Kalkulus 1 3
IF-001 Algoritma 1 3
IF-002 Database 2 3
IF-003 Artificial Intelligence 5 2
TE-001 Elektronika 4 3
Beberapa super key dari tabel di atas adalah:
1. (kode_mk)
77. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data 63
Dari 6 baris data yang ada pada tabel di atas tak ada satupun yang
memiliki kode_mk yang sama.
2. (nama_mk)
Demikian pula dengan nama_mk, masing-masing baris data memiliki
nama_mk yang unik. Tidak ada satupun baris data yang memiliki kolom
nama_mk dengan nilai yang sama persis.
3. (kode_mk,nama_mk,semester)
Walaupun beberapa baris data memiliki kolom semester dengan nilai
yang sama (misalnya baris 1&4, baris 2&3) namun tidak ada satupun
baris data yang memiliki kombinasi kode_mk, nama_mk dan semester
yang sama persis.
4. (kode_mk,nama_mk, sks)
Kombinasi kode_mk, nama_mk dan sks juga digolongkan sebagai
super key dengan alasan yang kurang lebih sama dengan poin 3.
5. (kode_mk,nama_mk, semester, jml_temu)
Kombinasi kode_mk, nama_mk, semester dan jml_temu juga
digolongkan sebagai super key dengan alasan yang kurang lebih sama
dengan poin 3 dan 4.
Sedangkan yang bukan super key adalah:
1. (sks)
Perhatikan bahwa kolom sks tidak bisa membedakan baris data secara
unik, contohnya baris data 2,3, 4 dan 6 sama-sama memiliki kolom sks
bernilai 3.
2. (semester)
Kolom semester juga tidak bersifat unik, contohnya baris data 1 dan 4
sama-sama memiliki kolom semester bernilai 2
3. (semester, sks)
Kombinasi semester dan sks juga tidak membedakan tiap baris data
secara unik, contohnya baris data ke 2 dan 3 sama-sama memiliki kolom
semester bernilai 1 dan sama-sama memiliki kolom sks bernilai 3
Candidate key dari tabel mata_kuliah dipilih dari super key yang sudah ada.
Super key yang akan menjadi candidate key adalah super key yang tidak
mengandung super key lain di dalamnya.
Perhatikan 5 super key yang sudah kita peroleh dari analisis sebelumnya:
1. (kode_mk)
2. (nama_mk)
3. (kode_mk,nama_mk,semester)
78. Politeknik Telkom Perancangan Basis Data Relasional
64 Perancangan Basis data
4. (kode_mk,nama_mk, sks)
5. (kode_mk,nama_mk, semester, jml_temu)
Super key yang hanya teridiri dari satu atribut data pasti akan menjadi
candidate key sebab tidak mungkin mengandung super key yang lain. Oleh
karena itu super key pada poin 1 dan 2 otomatis menjadi candidate key.
Super key pada poin 3 tidak menjadi candidate key sebab dalam kombinasi
(kode_mk, nama_mk, semester) terdapat super key yang lain yaitu
(kode_mk). Dengan demikian, poin 4 dan 5 juga bukan candidate key.
Dari analisis ini, kita memperoleh 2 buah candidate key yaitu
(kode_mk) dan (nama_mk). Salah satu dari beberapa candidate key ini akan
dipilih untuk digunakan dalam DBMS sebagai primary key. Ada beberapa
pertimbangan untuk memilih primary key, di antaranya adalah jaminan
keunikan yang lebih kuat, representasi yang lebih baik dan lain-lain.
4.4 Functional Dependencies
Functional dependency (FD) atau kebergantungan fungsional adalah
constraint atau batasan/ ketentuan antara 2 buah himpunan atribut pada
sebuah tabel.
JIka A dan B adalah himpunan atribut dari tabel T, kebergantungan
fungsional antara A dan B biasanya dinyatakan dalam notasi notasi A B.
Notasi A B berarti:
A menentukan B
B secara fungsional bergantung kepada A.
A B jika memenuhi syarat berikut ini :
Pada sebuah tabel T, jika ada dua baris data atau lebih dengan nilai atribut A
yang sama maka baris-baris data tersebut pasti akan memiliki nilai atribut B
yang sama Namun hal ini tidak berlaku sebaliknya.
Untuk lebih jelasnya perhatikan tabel berikut ini:
Tabel 4-5 Contoh Tabel
NIM Nama_Mhs Kd_Jur Nama_Jur Kode_MK Nama_MK SKS Nilai
1-01 Tukimin TE Elektro TE-001 Elektronika 3 A
1-01 Tukimin TE Elektro DU-001 English 2 A
2-01 Jamilah IF Informatika IF-001 Algoritma 3 B
2-01 Jamilah IF Informatika DU-001 English 2 C
2-02 Maemunah IF Informatika IF-002 Database 2 A
79. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data 65
Contoh kebergantungan fungsional yang terdapat pada tabel di atas:
NIM Nama_mhs
Untuk setiap baris data, jika NIM = 1-01 pasti Nama_mhs =
„Tukimin‟, walaupun belum tentu semua mahasiswa yang bernama
Tukimin memiliki NIM = 1-01
NIM Kd_jur
Untuk setiap baris data, jika NIM = 1-01 pasti Kd_jur = „TE‟,
walaupun tidak semua baris data dengan kd_jur „TE‟ memiliki kolom
NIM bernilai 1-01
NIM Nama_Jur
Untuk setiap baris data dengan kolom NIM bernilai 1-01 pasti
memiliki kolom Nama_Jur = „Elektro‟, walaupun tidak semua orang
di jurusan Elektro memiliki NIM = 1-01. Demikian pula tidak semua
baris data pada tabel dengan kolom Nama_Jur = „Elektro‟ memiliki
kolom NIM = 1-01
Penulisan kebergantungan fungsional dari 3 poin di atas dapat diringkas
menjadi (NIM) (nama_mhs, kd_jur, nama_jur)
Dengan demikian, dari tabel tersebut dapat kita simpulkan beberapa
kebergantungan fungsional (FD) sebagai berikut:
• FD1: (nim) (nama_mhs, kd_jur, nama_jur)
• FD2: (kd_jur) (nama_jur)
• FD3: (kode_mk) (nama_mk, sks)
• FD4: (nim,kode_mk) (nilai)
Ada beberapa jenis kebergantungan fungsional, di antaranya yaitu:
a. Partial Functional dependency
b. Transitive Functional dependency
c. Multivalued Functional dependency
Ketiganya adalah konsep penting dalam normalisasi, namun dalam sub bab ini
kita hanya akan membahas mengenai Partial Functional dependency dan
Transitive Functional dependency.
4.4.1 Partial Funcional Dependency
Partial Functional dependency atau kebergantungan fungsional parsial
terjadi bila:
• B A
• B adalah bagian dari candidate key
80. Politeknik Telkom Perancangan Basis Data Relasional
66 Perancangan Basis data
Dengan kata lain jika (B,C) adalah candidate key dan B A maka A
bergantung secara parsial terhadap (B,C) atau (B,C) menentukan A
secara parsial.
Untuk lebih jelasnya perhatikan tabel berikut ini:
Tabel 4-6 Tabel Nilai
NIM Nama_Mhs Kode_MK Nilai
1-01 Tukimin TE-001 A
1-01 Tukimin DU-001 A
2-01 Jamilah IF-001 B
2-01 Jamilah DU-001 C
2-02 Maemunah IF-002 A
Pada tabel di atas perhatikan bahwa:
1. Super key : (nim,kode_mk), (nim,nama_mhs,kode_mk) dan
(nim,nama_mhs,kode_mk,nilai)
2. Dari super key yang sudah diperoleh pada poin 1, maka dipilih
super key yang akan menjadi candidate key yaitu (nim,kode_mk)
3. FD: (nim) (nama_mhs)
Dari analisis poin 2 dan 3 maka dapat disimpulkan bahwa terjadi
kebergantungan fungsional parsial dimana (nama_mhs) bergantung
kepada (nim,kode_mk) secara parsial atau dapat juga dikatakan bahwa
(nim,kode_mk) menentukan (nama_mhs) secara parsial.
4.4.2 Transitive Functional dependency
Transitive Functional dependency atau kebergantungan fungsional transitif
terjadi jika:
A B
B C
Jika A B dan B C maka A C. Dengan kata lain A bergantung
secara transitif terhadap C melalui B atau A menentukan C secara
transitif melalui B.
Untuk lebih jelasnya perhatikan contoh tabel berikut ini:
81. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data 67
Tabel 4-7 Tabel Mahasiswa
NIM Nama_Mhs Kd_Jur Nama_Jur
1-01 Tukimin TE Elektro
1-01 Tukimin TE Elektro
2-01 Jamilah IF Informatika
2-01 Jamilah IF Informatika
2-02 Maemunah IF Informatika
FD1: (nim) (nama_mhs, kd_jur, nama_jur)
FD2: (kd_jur) (nama_jur)
Dengan demikian dapat disimpulkan bahwa (nama_jur) bergantung
secara transitif terhadap (nim) melalui (kd_jur) atau dapat juga dikatakan
bahwa (nim) (nama_jur) secara transitif melalui (kd_jur).
4.5 Bentuk Normal dan Langkah-Langkah Normalisasi
Bentuk Normal adalah sekumpulan kriteria yang harus dipenuhi oleh
sebuah desain tabel untuk mencapai tingkat/level bentuk normal tertentu.
Parameter yang biasanya digunakan dalam menentukan kriteria bentuk normal
adalah Functional dependency & The Three Keys.
Masing-masing bentuk normal memiliki kriteria dan level tertentu yang
tidak mungkin dicapai tanpa memenuhi kriteria bentuk nomal level yang
berada di bawahnya. Makin tinggi level bentuk normal yang dicapai maka
kualitas desain tabel tersebut dinyatakan makin baik dan semakin kecil
peluang terjadinya anomali dan redundansi data.
Normalisasi dilakukan dengan cara menerapkan Bentuk-Bentuk Normal
secara bertahap dari level terendah sampai level yang dikehendaki. Walaupun
ada beberapa bentuk normal namun jika desain tabel tertentu sudah
memenuhi kriteria 3rd
NF atau BCNF maka desain tabel itu biasanya dianggap
sudah „cukup normal‟.
4.5.1 Bentuk Normal Pertama (1st Normal Form)
Bentuk normal pertama atau First Normal Form (1st
NF) adalah bentuk normal
yang memiliki level terendah.
Kriteria 1st
NF:
• Tidak ada atribut (kolom) pada tabel yang bersifat multi-value
82. Politeknik Telkom Perancangan Basis Data Relasional
68 Perancangan Basis data
Sebuah atribut disebut bersifat multivalue jika dalam sebuah baris data
pada kolom tersbut terdapat lebih dari satu nilai. Misalnya kolom telepon
yang berisi „0813xx, 022xxx‟ dan seterusnya.
• Tidak memiliki lebih dari satu atribut dengn domain yang sama
Sebuah tabel dikatakan memiliki lebih dari satu atribut dengan domain
yang sama jika pada tabel tersebut terdapat lebih dari satu kolom yang
digunakan untuk menyimpan data yang jenisnya sama. Misalnya kolom
telepon1, telepon2, telepon3 dan seterusnya.
Untuk lebih jelasnya perhatikan 2 versi contoh tabel T berikut ini:
Tabel 4-8 Versi pertama
NIM Nama_Mhs Telp_1 Telp_2 Kd_Jur Nama_Jur Kode_MK Nama_MK SKS Nilai
1-01 Tukimin 0813xx 022xxx TE Elektro TE-001 Elektronika 3 A
2-01 Jamilah 0812xx 021xxx IF Informatika IF-001 Algoritma 3 B
2-02 Maemunah 0852xx 031xxx IF Informatika IF-002 Database 2 A
Tabel T versi pertama ini memiliki 2 atribut dengan domain yang sama yaitu
kolom telp_1 dan telp_2. Hal ini menunjukkan bahwa tabel T versi pertama
ini belum memenuhi syarat 1st
NF.
Tabel 4-9 Versi ke dua
NIM Nama_Mhs Telepon Kd_Jur Nama_Jur Kode_MK Nama_MK SKS Nilai
1-01 Tukimin 0813xx,
022xxx
TE Elektro TE-001 Elektronika 3 A
2-01 Jamilah 0812xx,
021xxx
IF Informatika IF-001 Algoritma 3 B
2-02 Maemunah 0852xx,
031xxx
IF Informatika IF-002 Database 2 A
Tabel T versi ke dua ini juga belum memenuhi sayarat 1st
NF karena kolom
telepon bersifat multivalue.
Solusi agar tabel T memenuhi syarat 1st
NF adalah dengan melakukan
pemecahan tabel atau dekomposisi tabel. Namun perlu diingat, dekomposisi
tabel harus dilakukan dengan cermat agar data tetap konsisten (perubahan
hanya terjadi pada struktur tabel tapi tidak terjadi perubahan pada data)
Perhatikan bahwa (nim) (telepon). Dengan demikian, kita dapat
memecah tabel T menjadi tabel T-1 dan tabel T-2 berikut ini:
83. Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data 69
Tabel 4-10 Contoh Tabel T-1
NIM Nama_Mhs Kd_Jur Nama_Jur Kode_MK Nama_MK SKS Nilai
1-01 Tukimin TE Elektro TE-001 Elektronika 3 A
2-01 Jamilah IF Informatika IF-001 Algoritma 3 B
2-02 Maemunah IF Informatika IF-002 Database 2 A
Tabel 4-11 Contoh Tabel T-2
NIM Telepon
1-01 0813xx
1-01 022xxx
2-01 0812xx
2-01 021xxx
2-02 0852xx
2-02 031xxx
Baik Tabel T1 maupun tabel T2 tidak memiliki atribut bersifat
multivalue. Tabel T1 dan T2 juga tidak memiliki lebih dari satu atribut dengan
domain yang sama. Dengan demikian dapat disimpulkan bahwa tabel T1 dan
T2 telah memenuhi syarat 1st
NF dan siap untuk diperiksa apakah memenuhi
syarat bentuk normal level berikutnya (2nd
NF)
4.5.2 Bentuk Normal Ke Dua (2nd Normal Form)
Kriteria 2nd
NF:
• Memenuhi 1st
NF
Desain tabel yang tidak memenuhi syarat 1st
NF sudah pasti tidak akan
memenuhi syarat 2nd
NF
• Tidak ada Partial Functional dependency
Partial Functional dependency terjadi bila (B,C) adalah candidate key dan
B A
Untuk lebih jelasnya perhatikan tabel T-1hasil tahap sebelumnya: