SlideShare a Scribd company logo
1 of 212
Download to read offline
Politeknik Telkom Perancangan Basis Data Relasional
Perancangan Basis data i
PERANCANGAN BASIS DATA RELASIONAL
POLITEKNIK TELKOM
BANDUNG
2009
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.
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,
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
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
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
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
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
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
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
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
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
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
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.
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
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.
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.
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
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
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.
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.
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++.
Politeknik Telkom Perancangan Basis Data Relasional
10 Perancangan Basis data
Gambar 1-5 Model Database
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.
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.
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.
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.
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
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
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.
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).
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.
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
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
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?
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.
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.
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
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)
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
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
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.
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
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
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
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
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
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
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
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.
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
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
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
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.
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
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
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
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
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
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
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
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.
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.
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
Politeknik Telkom Perancangan Basis Data Relasional
52 Perancangan Basis data
Gambar 3-13 Representasi Agregasi untuk tabel Mahasiwa dan
Mahasiwa Mengambil Mtkul
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.
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.
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 _________
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
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
Politeknik Telkom Perancangan Basis Data Relasional
58 Perancangan Basis data
Latihan
1. Turunkan Diagram ER berikut kedalam tabel!
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
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
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
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)
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)
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
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
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:
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
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:
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:
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database
Database

More Related Content

What's hot

contoh Bab 1. pendahuluan makalah
contoh Bab 1. pendahuluan makalahcontoh Bab 1. pendahuluan makalah
contoh Bab 1. pendahuluan makalahRizki Kamaratih
 
CV Kanaidi, SE., M.Si., cSAP (Pembicara / Narasumber / Fasilitator / Pemateri )
CV Kanaidi, SE., M.Si., cSAP (Pembicara / Narasumber / Fasilitator / Pemateri  )CV Kanaidi, SE., M.Si., cSAP (Pembicara / Narasumber / Fasilitator / Pemateri  )
CV Kanaidi, SE., M.Si., cSAP (Pembicara / Narasumber / Fasilitator / Pemateri )Kanaidi ken
 
Makalah perancangan web (website 5 k lapak)
Makalah perancangan web (website 5 k lapak) Makalah perancangan web (website 5 k lapak)
Makalah perancangan web (website 5 k lapak) Roni Darmanto
 
Daftar isi dan lampiran
Daftar isi dan lampiranDaftar isi dan lampiran
Daftar isi dan lampiranRezza Adzmi
 
CONTOH BIODATA PENULIS DAN MOTTO DALAM SKRIPSI
 CONTOH BIODATA PENULIS DAN MOTTO DALAM SKRIPSI CONTOH BIODATA PENULIS DAN MOTTO DALAM SKRIPSI
CONTOH BIODATA PENULIS DAN MOTTO DALAM SKRIPSIAkhmad Muhibudin
 
Contoh surat permohonan mahasiswa teknik
Contoh surat permohonan mahasiswa teknikContoh surat permohonan mahasiswa teknik
Contoh surat permohonan mahasiswa teknikAneuk Meutuah
 
Contoh Laporan Tugas Akhir (TA)
Contoh Laporan Tugas Akhir (TA)Contoh Laporan Tugas Akhir (TA)
Contoh Laporan Tugas Akhir (TA)Area Pratama
 
Biodata diri briyan pratama 23020112100025 mahasiswa universitas diponegoro j...
Biodata diri briyan pratama 23020112100025 mahasiswa universitas diponegoro j...Biodata diri briyan pratama 23020112100025 mahasiswa universitas diponegoro j...
Biodata diri briyan pratama 23020112100025 mahasiswa universitas diponegoro j...Briyan Pratama
 
Dokumen Perencanaan Proyek
Dokumen Perencanaan ProyekDokumen Perencanaan Proyek
Dokumen Perencanaan ProyekHamka Aminullah
 
Erd sistem informasi akademik
Erd sistem informasi akademikErd sistem informasi akademik
Erd sistem informasi akademikDiyat Diyat
 
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)Kelinci Coklat
 
ERD Sistem Informasi Pemesanan Tiket Bioskop Online
ERD Sistem Informasi Pemesanan Tiket Bioskop OnlineERD Sistem Informasi Pemesanan Tiket Bioskop Online
ERD Sistem Informasi Pemesanan Tiket Bioskop OnlineLucha Kamala Putri
 
Kartu inventaris ruangan
Kartu inventaris ruanganKartu inventaris ruangan
Kartu inventaris ruanganAuly Ain
 
51231301 erd-sederhana-rs
51231301 erd-sederhana-rs51231301 erd-sederhana-rs
51231301 erd-sederhana-rsAlan Inversent
 

What's hot (20)

Contoh Susunan Panitia
Contoh Susunan PanitiaContoh Susunan Panitia
Contoh Susunan Panitia
 
contoh Bab 1. pendahuluan makalah
contoh Bab 1. pendahuluan makalahcontoh Bab 1. pendahuluan makalah
contoh Bab 1. pendahuluan makalah
 
CV Kanaidi, SE., M.Si., cSAP (Pembicara / Narasumber / Fasilitator / Pemateri )
CV Kanaidi, SE., M.Si., cSAP (Pembicara / Narasumber / Fasilitator / Pemateri  )CV Kanaidi, SE., M.Si., cSAP (Pembicara / Narasumber / Fasilitator / Pemateri  )
CV Kanaidi, SE., M.Si., cSAP (Pembicara / Narasumber / Fasilitator / Pemateri )
 
Makalah perancangan web (website 5 k lapak)
Makalah perancangan web (website 5 k lapak) Makalah perancangan web (website 5 k lapak)
Makalah perancangan web (website 5 k lapak)
 
Normalisasi Basis Data
Normalisasi Basis DataNormalisasi Basis Data
Normalisasi Basis Data
 
Daftar isi dan lampiran
Daftar isi dan lampiranDaftar isi dan lampiran
Daftar isi dan lampiran
 
CONTOH BIODATA PENULIS DAN MOTTO DALAM SKRIPSI
 CONTOH BIODATA PENULIS DAN MOTTO DALAM SKRIPSI CONTOH BIODATA PENULIS DAN MOTTO DALAM SKRIPSI
CONTOH BIODATA PENULIS DAN MOTTO DALAM SKRIPSI
 
Contoh surat permohonan mahasiswa teknik
Contoh surat permohonan mahasiswa teknikContoh surat permohonan mahasiswa teknik
Contoh surat permohonan mahasiswa teknik
 
Contoh Laporan Tugas Akhir (TA)
Contoh Laporan Tugas Akhir (TA)Contoh Laporan Tugas Akhir (TA)
Contoh Laporan Tugas Akhir (TA)
 
Biodata diri briyan pratama 23020112100025 mahasiswa universitas diponegoro j...
Biodata diri briyan pratama 23020112100025 mahasiswa universitas diponegoro j...Biodata diri briyan pratama 23020112100025 mahasiswa universitas diponegoro j...
Biodata diri briyan pratama 23020112100025 mahasiswa universitas diponegoro j...
 
Dokumen Perencanaan Proyek
Dokumen Perencanaan ProyekDokumen Perencanaan Proyek
Dokumen Perencanaan Proyek
 
Erd sistem informasi akademik
Erd sistem informasi akademikErd sistem informasi akademik
Erd sistem informasi akademik
 
Laporan sistem basis data sirkulasi peminjaman buku
Laporan sistem basis data sirkulasi peminjaman bukuLaporan sistem basis data sirkulasi peminjaman buku
Laporan sistem basis data sirkulasi peminjaman buku
 
Use skenario
Use skenarioUse skenario
Use skenario
 
Kualitas informasi
Kualitas informasiKualitas informasi
Kualitas informasi
 
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)
 
ERD Sistem Informasi Pemesanan Tiket Bioskop Online
ERD Sistem Informasi Pemesanan Tiket Bioskop OnlineERD Sistem Informasi Pemesanan Tiket Bioskop Online
ERD Sistem Informasi Pemesanan Tiket Bioskop Online
 
BPMN
BPMNBPMN
BPMN
 
Kartu inventaris ruangan
Kartu inventaris ruanganKartu inventaris ruangan
Kartu inventaris ruangan
 
51231301 erd-sederhana-rs
51231301 erd-sederhana-rs51231301 erd-sederhana-rs
51231301 erd-sederhana-rs
 

Similar to Database

Modul 5 Lembar Sebar
Modul 5   Lembar SebarModul 5   Lembar Sebar
Modul 5 Lembar SebarAan Solo
 
Modul Sistem Basis Data.pdf
Modul Sistem Basis Data.pdfModul Sistem Basis Data.pdf
Modul Sistem Basis Data.pdfKikiFikriansyah1
 
Cara Membuat Program Chatting Sederhana Dengan Visual Basic (Program 4)
Cara Membuat Program Chatting Sederhana Dengan Visual Basic (Program 4)Cara Membuat Program Chatting Sederhana Dengan Visual Basic (Program 4)
Cara Membuat Program Chatting Sederhana Dengan Visual Basic (Program 4)Donny Kurniawan
 
Cara Membuat Program Chatting Sederhana Dengan Visual Basic (Program 3)
Cara Membuat Program Chatting Sederhana Dengan Visual Basic (Program 3)Cara Membuat Program Chatting Sederhana Dengan Visual Basic (Program 3)
Cara Membuat Program Chatting Sederhana Dengan Visual Basic (Program 3)Donny Kurniawan
 
Contoh Kkp MI
Contoh Kkp MIContoh Kkp MI
Contoh Kkp MIAhmad M
 
Kkpmi 111106045901-phpapp02
Kkpmi 111106045901-phpapp02Kkpmi 111106045901-phpapp02
Kkpmi 111106045901-phpapp02Bucek MyName
 
Kkp manajemen-informatika2
Kkp manajemen-informatika2Kkp manajemen-informatika2
Kkp manajemen-informatika2wiizza
 
3409043 Modul Kkpi
3409043 Modul Kkpi3409043 Modul Kkpi
3409043 Modul Kkpisinta chen
 
mendiagnosis_permasalahan_pengoperasian_pc_dan_periferal
mendiagnosis_permasalahan_pengoperasian_pc_dan_periferalmendiagnosis_permasalahan_pengoperasian_pc_dan_periferal
mendiagnosis_permasalahan_pengoperasian_pc_dan_periferalNurdin Al-Azies
 
02. mendiagnosis permasalahan pengoperasian_pc_dan_periferal
02. mendiagnosis permasalahan pengoperasian_pc_dan_periferal02. mendiagnosis permasalahan pengoperasian_pc_dan_periferal
02. mendiagnosis permasalahan pengoperasian_pc_dan_periferalEko Supriyadi
 
02. mendiagnosis permasalahan pengoperasian_pc_dan_periferal
02. mendiagnosis permasalahan pengoperasian_pc_dan_periferal02. mendiagnosis permasalahan pengoperasian_pc_dan_periferal
02. mendiagnosis permasalahan pengoperasian_pc_dan_periferalDeaAldy
 
Cara Membuat Program Chatting Sederhana Dengan Visual Basic (Program 1 dan 2)
Cara Membuat Program Chatting Sederhana Dengan Visual Basic (Program 1 dan 2)Cara Membuat Program Chatting Sederhana Dengan Visual Basic (Program 1 dan 2)
Cara Membuat Program Chatting Sederhana Dengan Visual Basic (Program 1 dan 2)Donny Kurniawan
 
Perkuliahan Aplikasi Komputer Ke 4 dan 5
Perkuliahan Aplikasi Komputer Ke 4 dan 5Perkuliahan Aplikasi Komputer Ke 4 dan 5
Perkuliahan Aplikasi Komputer Ke 4 dan 5Rakhmi Khalida, M.M.S.I
 

Similar to Database (20)

Modul 5 Lembar Sebar
Modul 5   Lembar SebarModul 5   Lembar Sebar
Modul 5 Lembar Sebar
 
Modul Sistem Basis Data.pdf
Modul Sistem Basis Data.pdfModul Sistem Basis Data.pdf
Modul Sistem Basis Data.pdf
 
Algoritma dan pemrograman
Algoritma dan pemrogramanAlgoritma dan pemrograman
Algoritma dan pemrograman
 
Algoritma dan pemrograman
Algoritma dan pemrogramanAlgoritma dan pemrograman
Algoritma dan pemrograman
 
Buku jvv jilid 2 ok
Buku jvv jilid 2 okBuku jvv jilid 2 ok
Buku jvv jilid 2 ok
 
Cara Membuat Program Chatting Sederhana Dengan Visual Basic (Program 4)
Cara Membuat Program Chatting Sederhana Dengan Visual Basic (Program 4)Cara Membuat Program Chatting Sederhana Dengan Visual Basic (Program 4)
Cara Membuat Program Chatting Sederhana Dengan Visual Basic (Program 4)
 
Cara Membuat Program Chatting Sederhana Dengan Visual Basic (Program 3)
Cara Membuat Program Chatting Sederhana Dengan Visual Basic (Program 3)Cara Membuat Program Chatting Sederhana Dengan Visual Basic (Program 3)
Cara Membuat Program Chatting Sederhana Dengan Visual Basic (Program 3)
 
Modul praktikum basis data new
Modul praktikum basis data newModul praktikum basis data new
Modul praktikum basis data new
 
Contoh Kkp MI
Contoh Kkp MIContoh Kkp MI
Contoh Kkp MI
 
Kkpmi 111106045901-phpapp02
Kkpmi 111106045901-phpapp02Kkpmi 111106045901-phpapp02
Kkpmi 111106045901-phpapp02
 
Kkp manajemen-informatika2
Kkp manajemen-informatika2Kkp manajemen-informatika2
Kkp manajemen-informatika2
 
3409043 Modul Kkpi
3409043 Modul Kkpi3409043 Modul Kkpi
3409043 Modul Kkpi
 
Kkp bsi bogor
Kkp bsi bogorKkp bsi bogor
Kkp bsi bogor
 
mendiagnosis_permasalahan_pengoperasian_pc_dan_periferal
mendiagnosis_permasalahan_pengoperasian_pc_dan_periferalmendiagnosis_permasalahan_pengoperasian_pc_dan_periferal
mendiagnosis_permasalahan_pengoperasian_pc_dan_periferal
 
02. mendiagnosis permasalahan pengoperasian_pc_dan_periferal
02. mendiagnosis permasalahan pengoperasian_pc_dan_periferal02. mendiagnosis permasalahan pengoperasian_pc_dan_periferal
02. mendiagnosis permasalahan pengoperasian_pc_dan_periferal
 
02. mendiagnosis permasalahan pengoperasian_pc_dan_periferal
02. mendiagnosis permasalahan pengoperasian_pc_dan_periferal02. mendiagnosis permasalahan pengoperasian_pc_dan_periferal
02. mendiagnosis permasalahan pengoperasian_pc_dan_periferal
 
Perbaikan
PerbaikanPerbaikan
Perbaikan
 
Tik.pr02.003.01 b informasi2
Tik.pr02.003.01 b informasi2Tik.pr02.003.01 b informasi2
Tik.pr02.003.01 b informasi2
 
Cara Membuat Program Chatting Sederhana Dengan Visual Basic (Program 1 dan 2)
Cara Membuat Program Chatting Sederhana Dengan Visual Basic (Program 1 dan 2)Cara Membuat Program Chatting Sederhana Dengan Visual Basic (Program 1 dan 2)
Cara Membuat Program Chatting Sederhana Dengan Visual Basic (Program 1 dan 2)
 
Perkuliahan Aplikasi Komputer Ke 4 dan 5
Perkuliahan Aplikasi Komputer Ke 4 dan 5Perkuliahan Aplikasi Komputer Ke 4 dan 5
Perkuliahan Aplikasi Komputer Ke 4 dan 5
 

Recently uploaded

Manajemen Lalu Lintas Baru Di Jalan Selamet Riyadi
Manajemen Lalu Lintas Baru Di Jalan Selamet RiyadiManajemen Lalu Lintas Baru Di Jalan Selamet Riyadi
Manajemen Lalu Lintas Baru Di Jalan Selamet RiyadiCristianoRonaldo185977
 
Geologi Jawa Timur-Madura Kelompok 6.pdf
Geologi Jawa Timur-Madura Kelompok 6.pdfGeologi Jawa Timur-Madura Kelompok 6.pdf
Geologi Jawa Timur-Madura Kelompok 6.pdfAuliaAulia63
 
MARIA NOVILIA BOISALA FASILITATOR PMM.pptx
MARIA NOVILIA BOISALA FASILITATOR PMM.pptxMARIA NOVILIA BOISALA FASILITATOR PMM.pptx
MARIA NOVILIA BOISALA FASILITATOR PMM.pptxmariaboisala21
 
UKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptx
UKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptxUKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptx
UKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptxzidanlbs25
 
pertemuan-3-distribusi pada-frekuensi.ppt
pertemuan-3-distribusi pada-frekuensi.pptpertemuan-3-distribusi pada-frekuensi.ppt
pertemuan-3-distribusi pada-frekuensi.pptAhmadSyajili
 
Menggunakan Data matematika kelas 7.pptx
Menggunakan Data matematika kelas 7.pptxMenggunakan Data matematika kelas 7.pptx
Menggunakan Data matematika kelas 7.pptxImahMagwa
 
MATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptx
MATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptxMATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptx
MATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptxrikosyahputra0173
 

Recently uploaded (7)

Manajemen Lalu Lintas Baru Di Jalan Selamet Riyadi
Manajemen Lalu Lintas Baru Di Jalan Selamet RiyadiManajemen Lalu Lintas Baru Di Jalan Selamet Riyadi
Manajemen Lalu Lintas Baru Di Jalan Selamet Riyadi
 
Geologi Jawa Timur-Madura Kelompok 6.pdf
Geologi Jawa Timur-Madura Kelompok 6.pdfGeologi Jawa Timur-Madura Kelompok 6.pdf
Geologi Jawa Timur-Madura Kelompok 6.pdf
 
MARIA NOVILIA BOISALA FASILITATOR PMM.pptx
MARIA NOVILIA BOISALA FASILITATOR PMM.pptxMARIA NOVILIA BOISALA FASILITATOR PMM.pptx
MARIA NOVILIA BOISALA FASILITATOR PMM.pptx
 
UKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptx
UKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptxUKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptx
UKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptx
 
pertemuan-3-distribusi pada-frekuensi.ppt
pertemuan-3-distribusi pada-frekuensi.pptpertemuan-3-distribusi pada-frekuensi.ppt
pertemuan-3-distribusi pada-frekuensi.ppt
 
Menggunakan Data matematika kelas 7.pptx
Menggunakan Data matematika kelas 7.pptxMenggunakan Data matematika kelas 7.pptx
Menggunakan Data matematika kelas 7.pptx
 
MATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptx
MATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptxMATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptx
MATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptx
 

Database

  • 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++.
  • 24. Politeknik Telkom Perancangan Basis Data Relasional 10 Perancangan Basis data Gambar 1-5 Model Database
  • 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: