IS143 Perancangan Basis Data

download IS143 Perancangan Basis Data

of 249

Transcript of IS143 Perancangan Basis Data

Politeknik Telkom

Perancangan Basis Data Relasional

PERANCANGAN BASIS DATA RELASIONAL

Perancangan Basis data

i

Politeknik Telkom

Perancangan Basis Data Relasional

POLITEKNIK TELKOM BANDUNG 2009

Koordinator & Editor: Dedy Rahman Wijaya Tim: Abdul Rohim Elly Rosely Komala Ratna Sari Tora Fahrudin Wahyu Hidayat

ii

Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

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.

KATA PENGANTAR

Segala puji bagi Allah SWT, yang telah melimpahkan nikmatNya 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.

Perancangan Basis data

iii

Politeknik Telkom

Perancangan Basis Data Relasional

Bandung, Maret 2009

Penulis,

DAFTAR ISI

KATA PENGANTAR ................................................................ iii DAFTAR ISI ..............................................................................iv Daftar Gambar ......................................................................... x Daftar Tabel.......................................................................... xiii 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) .... 6 1.6. Komponen Sistem Basis Data ....................................... 7 1.7. Abstraksi Data ................................................................. 8iv Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

1.8. Model Basis Data.......................................................... 10 1.9. Basis Data Relasional ................................................... 13 1.10. Alternative Terminology .............................................. 14 1.11. Perancangan Basis Data Relational............................ 15 1.12. Faktor penting menyangkut pemodelan data dari dunia nyata ................................................................... 16 1.13. Metodologi Perancangan Basis Data ........................ 16 1.14. Bahasa Basis Data......................................................... 19 2 ENTITY RELATIONSHIP MODEL .......................... 27 2.1 ER Sebagai Salah Satu Pemodelan Konseptual Basis Data ................................................................................ 28 2.2 Entitas dan Himpunan Entitas .................................... 28 2.3 Atribut ............................................................................ 30 2.4 Relasi .............................................................................. 32 2.5 Derajat Himpunan Relasi............................................. 33 2.6 Kardinalitas Relasi ........................................................ 35 2.7 Key .................................................................................. 38 2.8 Diagram ER ................................................................... 39 2.9 Constraint Cardinalitas ................................................ 39 3 KONVERSI ER KE TABEL ....................................... 48 3.1 Himpunan Entitas Lemah ............................................ 49 3.2 Spesialisasi .................................................................... 50 3.3 Generalisasi ................................................................... 51 3.4 Agregasi......................................................................... 52 3.5 Ringkasan notasi simbol di ER ................................... 53 3.6 Penurunan skema ER ke Tabel ................................... 54 3.7 Representasi Atribut sebagai Kolom ......................... 54 3.8 Representasi Himpunan Entitas sebagai Tabel ........ 55 3.9 Representasi Relasi (* pada kardinalitas N to N) ..... 56Perancangan Basis data v

Politeknik Telkom

Perancangan Basis Data Relasional

3.10 Hubungan kardinalitas dengan tabel yang terbentuk ........................................................................................ 57 3.11 Representasi Spesialisasi (IS A)................................... 58 3.12 Representasi Agregasi ................................................. 59 4 NORMALISASI ....................................................... 67 4.1 Definisi Normalisasi ..................................................... 69 4.2 Tujuan Normalisasi....................................................... 69 4.2.1 Update Anomaly ........................................................... 69 4.2.2 Insertion Anomaly ........................................................ 70 4.2.3 Deletion Anomaly ........................................................ 70 4.3 The Three Keys ............................................................. 71 4.4 Functional Dependencies ............................................ 74 4.4.1 Partial Funcional Dependency .................................... 75 4.4.2 Transitive Functional dependency .............................. 76 4.5 Bentuk Normal dan Langkah-Langkah Normalisasi 77 4.5.1 Bentuk Normal Pertama (1st Normal Form)............. 78 4.5.2 Bentuk Normal Ke Dua (2nd Normal Form) ............. 80 4.5.3 Bentuk Normal Ke Tiga (3rd Normal Form).............. 82 4.5.4 Bentuk Normal Boyce Codd (BC Normal Form) ...... 84 4.5.5 Bentuk-Bentuk Normal Lainnya ................................. 84 4.6 Denormalisasi ............................................................... 85 5 ALJABAR RELASIONAL ......................................... 92 5.1 Query dan Aljabar Relasional ..................................... 93 5.2 Operasi Select ............................................................... 95 5.3 Operasi Project ............................................................. 96 5.4 Operasi Cartesian Product .......................................... 96 5.5 Operasi Unio ................................................................. 97 5.6 Operasi Set Difference ................................................. 98 5.7 Operasi Intersection ..................................................... 99vi Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

5.8 Operasi rename .......................................................... 100 5.9 Join ............................................................................... 100 5.10 Fungsi Agregasi .......................................................... 102 5.11 Operasi Division ......................................................... 103 6 BAHASA BASIS DATA ......................................... 107 6.1 Pendahuluan ............................................................... 108 6.2 Standarisasi SQL ......................................................... 109 6.3 Membangun Basidata................................................ 111 6.3.1 Membuat BasisData ................................................... 111 6.3.2 Membuat Tabel Data ................................................. 111 6.3.3 Melakukan Perubahan pada Tabel .......................... 118 6.4 Maintenance Data pada Basisdata .......................... 121 6.4.1 Memasukan Data ....................................................... 121 6.4.2 Merubah Data ............................................................. 123 6.4.3 Menghapus Data ........................................................ 124 6.5 Mengakses Basisdata................................................ 124 6.5.1 Menganti Judul Kolom .............................................. 126 6.5.2 Function pada SQL ..................................................... 126 6.5.3 Menentukan Kondisi .................................................. 127 6.5.4 Menguruntukan Data ................................................ 129 7 BAHASA BASIS DATA LANJUTAN .................... 137 7.1 Fungsi Aggregation ................................................... 139 7.2 Query dari Beberapa Tabel ....................................... 144 7.3 Nama Alias .................................................................. 146 7.4 Bentuk-bentuk Perintah Join .................................... 147 7.4.1 LEFT JOIN..................................................................... 149 7.4.2 RIGHT JOIN ................................................................. 150 7.4.3 FULL JOIN .................................................................... 151 7.5 Subquery ..................................................................... 153Perancangan Basis data vii

Politeknik Telkom

Perancangan Basis Data Relasional

8 PENGENALAN ARSITEKTUR BASIS DATA ........ 169 8.1 Pendahuluan ............................................................... 170 8.2 Struktur DBMS ............................................................ 171 8.3 Produk-produk DBMS ............................................... 173 8.4 Database Oracle ......................................................... 174 8.4.1 Arsitektur Database Oracle ....................................... 174 8.4.2 Struktur Database Oracle .......................................... 174 8.4.3 Oracle Instance ........................................................... 175 8.4.4 Oracle Memory Structure ........................................... 176 8.4.5 Oracle Processes Structure ........................................ 177 8.4.6 Oracle Storage Structure ............................................ 179 8.5 Arsitektur Sistem database ....................................... 181 8.5.1 Centralized Sistems .................................................... 183 8.5.2 Client-Server Sistems ................................................. 183 8.5.3 Parallel Sistems ........................................................... 185 8.5.4 Distributed Sistems .................................................... 186 8.5.5 Network types ............................................................ 186 9 APLIKASI BASIS DATA........................................ 193 9.1 Pendahuluan ............................................................... 194 9.2 Sistem Pendukung Keputusan (Decision-Support Sistem) ......................................................................... 195 9.2.1 Analisis Data................................................................ 198 9.2.2 Penggalian Data (Data Mining) ................................ 201 9.2.3 Penggudangan Data (Data Warehousing) .............. 202 9.3 Basis Data Spasial (Spatial Databases) .................... 205 9.3.1 Representasi Informasi Geometris ........................... 207 9.3.2 Basis Data Perancangan ............................................ 208 9.3.3 Data Geografis ............................................................ 209 9.3.4 Representasi Data Geografis .................................... 211viii Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

9.3.5 Aplikasi Data Geografis ............................................. 211 9.4 Basis Data untuk Multimedia (Multimedia Databases) ................................................................... 212 9.4.1 Pengambilan Berbasis Kesamaan (Similarity-Based Retrieval)...................................................................... 214 9.4.2 Data sinambung (Continuous-Media Data) ............ 215 9.5 Basis Data Bergerak (Mobility and Personal Databases) ................................................................... 215 9.5.1 Model Komputasi Bergerak ...................................... 216 9.5.2 Routing dan Pemrosesan Query .............................. 217 9.6 Sistem Pencarian Informasi (Information Retrieval) ...................................................................................... 218 9.7 Pengindeksan Dokumen ........................................... 219 9.7.1 Browsing dan Hypertext ............................................ 219 9.8 World Wide Web (WWW) ......................................... 222 9.8.1 WEB Sebagai Bentuk Aplikasi Basis Data ................ 223 Daftar Pustaka ............................................................. 232

Perancangan Basis data

ix

Politeknik Telkom

Perancangan Basis Data Relasional

Daftar Gambar

Gambar 1-1 Siklus informasi ....................................................... 3 Gambar 1-2 Perkembangan Database .......................................... 6 Gambar 1-3 Komponen DBMS .................................................... 8 Gambar 1-4 Abstraksi Data. ....................................................... 10 Gambar 1-5 Model Database ..................................................... 12 Gambar 1-6 Ilustrasi sebuah relasi ............................................. 14 Gambar 1-7 Terminologi ............................................................ 14 Gambar 1-8 Pendekatan Konvensional ...................................... 18 Gambar 1-9 Pendekatan ER ....................................................... 19 Gambar 2-1 Himpunan Entitas Mahasiswa ................................ 29x Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

Gambar 2-2 Contoh himpunan entitas ........................................ 29 Gambar 2-3 Gambaran Himpunan entitas di Tabel .................... 30 Gambar 2-4 Contoh Atribut Komposit ....................................... 30 Gambar 2-5 Entitas mahasiswa dengan Atribut ......................... 31 Gambar 2-6 Relasi di gambarkan dengan belah ketupat ............ 32 Gambar 2-7 Himpunan Entitas Mahasiwa Ber-Relasi dengan Himpunan Entitas Organisasi ..................................................... 33 Gambar 2-8 Contoh Derajat Relasi Unary ................................. 33 Gambar 2-9 Contoh Derajat Relasi Binary ................................ 34 Gambar 2-10 Contoh Derajat Relasi Ternary............................. 35 Gambar 2-11 Relasi dengan Kardinalitas 1 ke 1 ........................ 35 Gambar 2-12 Relasi dengan Kardinalitas 1 ke Banyak .............. 36 Gambar 2-13 Relasi dengan Kardinalitas Banyak ke 1 .............. 37 Gambar 2-14 Relasi dengan Kardinalitas Banyak ke Banyak ... 37 Gambar 2-15 Contoh Diagram ER ............................................. 39 Gambar 2-16 Relasi 1 ke 1 ........................................................ 40 Gambar 2-17 Relasi 1 ke banyak.............................................. 40 Gambar 2-18 Relasi Banyak ke 1 .............................................. 41 Gambar 2-19 Relasi Banyak ke Banyak ................................... 41 Gambar 3-1 Contoh Himpunan Entitas Lemah .......................... 50 Gambar 3-2 Contoh Spesialisasi ................................................ 51 Gambar 3-3 Contoh Agregasi ..................................................... 52 Gambar 3-4 Relasi di pandang sebagai Himpunan Entitas ........ 53 Gambar 3-5 Ringkasan Notasi pada Diagram ER ...................... 54 Gambar 3-6 Atribut multivalued di pecah menjadi entitas baru. 55 Gambar 3-7 Atribut himpunan entitas kuat di representasikan kedalam tabel .............................................................................. 56 Gambar 3-8 Penurunan Himpunan Entitas Lemah ke tabel ....... 56 Gambar 3-9 Penurunan Kardinalitas relasi N to N menjadi Tabel .................................................................................................... 57 Gambar 3-10 Representasi spesialisasi ke tabel metoda 1 ......... 58 Gambar 3-11 Representasi spesialisasi ke tabel metoda 1 ......... 59Perancangan Basis data xi

Politeknik Telkom

Perancangan Basis Data Relasional

Gambar 3-12 Representasi Agregasi untk tabel mata kuliah, dosen dan Dosen mengajar mt kul ............................................. 60 Gambar 3-13 Representasi Agregasi untuk tabel Mahasiwa dan Mahasiwa Mengambil Mtkul ..................................................... 60 Gambar 4-1 Diagram Normalisasi ............................................. 69 Gambar 7-1 Entitas Mahasiswa .............................................. 112 Gambar 7-2 Entitas Kurikulum ............................................... 113 Gambar 7-3 Entitas Mahasiswa dan Jurusan........................ 114 Gambar 7-4 Relasi Tabel Mahasiswa dan Tabel Jurusan .... 114 Gambar 9-1 Struktur DBMS secara umum ........................... 172 Gambar 9-2 Struktur Database Oracle .................................. 175 Gambar 9-3 Oracle Instance ................................................... 176 Gambar 9-4 Oracle Memory ................................................... 176 Gambar 9-5 Oracle Processes ................................................. 178 Gambar 9-6 Oracle Storage .................................................... 181 Gambar 9-7 Database Functionality ...................................... 182 Gambar 9-8 Centralized Sistem ............................................. 183 Gambar 9-9 Client-Server Sistem .......................................... 184 Gambar 9-10 Parallel Sistems ................................................. 185 Gambar 9-11 Distributed Sistem ........................................... 186 Gambar 10-1 Arsitektur Data warehouse ................................ 204 Gambar 10-2 Bentuk-bentuk Geografis. dan Representasinya 207 Gambar 10-3 Objek-objek 3 Dimensi yang Lebih Kompleks .. 209 Gambar 10-4 Objek sebagai Data Raster dan Data Vektor ...... 210 Gambar 10-5 Pengelompokan Buku dalam Perpustakaan ....... 221 Gambar 10-6 Pengelompokan DAC dalam Sistem Pencarian Informasi .................................................................................. 222 Gambar 10-7 Arsitektur Web ................................................... 224

xii

Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

Daftar Tabel

Tabel 4-1 Contoh Update Anomaly ............................................ 69 Tabel 4-2 Contoh Insert Anomaly .............................................. 70 Tabel 4-3 Contoh Delete Anomaly............................................. 70 Tabel 4-4 Tabel Mata Kuliah ..................................................... 72 Tabel 4-5 Contoh Tabel .............................................................. 74 Tabel 4-6 Tabel Nilai ................................................................. 76Perancangan Basis data xiii

Politeknik Telkom

Perancangan Basis Data Relasional

Tabel 4-7 Tabel Mahasiswa ....................................................... 77 Tabel 4-8 Versi pertama ........................................................... 78 Tabel 4-9 Versi ke dua .............................................................. 78 Tabel 4-10 Contoh Tabel T-1 .................................................... 79 Tabel 4-11 Contoh Tabel T-2 .................................................... 79 Tabel 4-12 Contoh T-1hasil ....................................................... 80 Tabel 4-13 Contoh Tabel T-1-1................................................. 81 Tabel 4-14 Contoh Tabel T-1-2................................................. 81 Tabel 4-15 Contoh Tabel T-1-3................................................. 81 Tabel 4-16 Contoh tabel T-1-1 ................................................. 83 Tabel 4-17 Contoh Tabel T-1-1-1 ............................................. 83 Tabel 4-18 Contoh Tabel T-1-1-2 ............................................. 83 Tabel 7-1 Tabel Data Mahasiswa .......................................... 112 Tabel 7-2 Data Kurikulum ...................................................... 113 Tabel 7-3 Tabel Data Jurusan ................................................ 115 Tabel 7-4 Tabel Data Mahasiswa .......................................... 115 Tabel 7-10 Jenis Data pada Oracle ....................................... 116 Tabel 7-11 Data Jurusan ......................................................... 121 Tabel 7-12 Data Mahasiswa ................................................... 122 Tabel 7-13 Data Jurusan ......................................................... 124 Tabel 7-14 Data Mahasiswa ................................................... 125 Tabel 7-15 Output Select Jurusan ......................................... 125 Tabel 7-16 Output Select Jurusan ......................................... 126 Tabel 7-17 Operator Kondisi .................................................. 127 Tabel 7-18 Output Select Mahasiswa menggunakan Where .................................................................................................. 128 Tabel 7-19 Output Select Mahasiswa menggunakan Where .................................................................................................. 129 Tabel 7-20 Contoh Perintah Like ........................................... 129xiv Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

Tabel 7-21 Output Order By Tabel Mahasiswa ................... 130 Tabel 7-22 Output Order By DESC Tabel Mahasiswa ......... 130 Tabel 7-23 Output Order By Dua Kolom .............................. 130 Tabel 8-1 Data Kurikulum ...................................................... 140 Tabel 8-2 Hasil Query Jumlah Matakuliah per Semester ... 141 Tabel 8-3 Hasil Query Jumlah Sks per Semester ................. 141 Tabel 8-4 Hasil Query Jumlah matakuliah dan Sks per Semester .................................................................................. 142 Tabel 8-5 Hasil Query Kelompok Matakuliah ...................... 142 Tabel 8-6 Perbandingan Perintah SQL untuk Limit ............ 144 Tabel 8-7 Mahasiswa dan tabel Jurusan .............................. 144 Tabel 8-8 Output Relasi antar Tabel ..................................... 145 Tabel 8-9 Pengarang............................................................... 148 Tabel 8-10 Penerbit ................................................................. 149 Tabel 8-11 Hasil Relasi Left Join............................................. 150 Tabel 8-12 Hasil Relasi Right Join .......................................... 151 Tabel 8-13 Hasil Relasi Full Join............................................. 152 Tabel 8-14 Data Penerbit........................................................ 153 Tabel 8-15 Data Buku ............................................................. 154 Tabel 8-16 Data Pengarang ................................................... 154 Tabel 8-17 Hasil Query Operator IN ...................................... 155 Tabel 8-18 Hasil Query Operator Not IN .............................. 156 Tabel 8-19 Hasil Query Operator Exists ................................ 157 Tabel 8-20 Hasil Query Operator Not Exists ......................... 158 Tabel 8-21 Hasil Query Operator Komparasi ....................... 158 Tabel 8-22 Hasil Query Operator ANY .................................. 159 Tabel 10-1 Contoh Cross-Tab ................................................ 199 Tabel 10-2 Tabel Relasional ................................................... 200Perancangan Basis data xv

Politeknik Telkom

Perancangan Basis Data Relasional

1 PENGENALAN BASIS DATA

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

Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

2. 3.

Mahasiswa mengetahui mengenai komponen-komponen sistem basis data. Mahasiswa mengetahui mengenai abstraksi data dan Database Language.

1.1. Data dan InformasiMenurut 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.

2

Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

Gambar 1-1 Siklus informasi

1.3. Pentingnya data dan informasi Data dan informasi sebagai sebuah aset penting perusahaan/organisasi. Informasi yang benar dapat menjadikan suatu perusahaan/organisasi memperoleh margin untuk melakukan aksi. Data dan informasi sebagai salah satu parameter kemajuan perusahaan/organisasi (maturity level).

1.4. Sistem Basis Data dan Sistem FilePada sebuah institusi, data merupakan salah satu hal yang sangat penting. Setiap bagian/divisi dari institusi memiliki data sendirisendiri. 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 melakukanPerancangan Basis data 3

Politeknik Telkom

Perancangan Basis Data Relasional

manipulasi dan pengambilan data tersebut. Setiap aplikasi memiliki file-file dalam sistem operasi yang digunakan untuk menyimpan datadata. 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.

4

Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

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.

Perancangan Basis data

5

Politeknik Telkom

Perancangan Basis Data Relasional

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:6 Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

Software program Supplements operating sistem Manages data Queries data and generates reports Data security

Sedangkan sistem adalah sebuah tatanan yang terdiri atas sejumlah komponen fungsional yang saling berhubungan dan secara bersama-sama bertujuan untuk memenuhi suatu proses pekerjaan. Sehingga bisa dikatakan bahwa sistem basis data adalah sistem yang terdiri atas kumpulan 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 DataKomponen-komponen pada sebuah sistem basis data antara lain: Perangkat keras Sistem operasi Basis data DBMS (Database Management System)7

Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

Pemakai Aplikasi lain

Gambar 1-3 Komponen DBMS

1.7. Abstraksi DataTujuan 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 dalam8 Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

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.

Perancangan Basis data

9

Politeknik Telkom

Perancangan Basis Data Relasional

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. NetworkPerancangan Basis data

10

Politeknik Telkom

Perancangan Basis Data Relasional

Relationship dibuat menggunakan linked list (pointer). Berbeda dengan model hierarchical satu anak dapat memiliki beberapa induk. Model ini memiliki fleksibilitas yang tinggi. Relational Model ini direpresentasikan dalam tabel dua dimensi, tabeltabel 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++.

Perancangan Basis data

11

Politeknik Telkom

Perancangan Basis Data Relasional

Gambar 1-5 Model Database

12

Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

1.9. Basis Data RelasionalDalam 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 ).Perancangan Basis data 13

Politeknik Telkom

Perancangan Basis Data Relasional

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

Gambar 1-6 Ilustrasi sebuah relasi

1.10. Alternative Terminology

Table-oriented Table Row Column

Set-oriented Relation Tuple Attribute

Record-Oriented Record-type, file Record 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 adalah14 Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

pandangan yang berorientasi tabel (table-oriented) dimana sebuah entity-set direpresentasikan secara lojik menjadi sebuah tabel (table) yang terdiri dari baris (row) dan kolom (column). Kedua adalah pandangan berorientasi set/kumpulan (set-oriented) dimana entity-set direpresentasikan sebagai relasi (Relation), nilai-nilai data yang sesuai dengan atributnya (attribute) disimpan dalam sebuah tempat yang dinamakan tuple. Terminologi yang terakhir adalah pandangan berorientasi record (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 RelationalMerupakan 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 (realPerancangan Basis data 15

Politeknik Telkom

Perancangan Basis Data Relasional

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 nyata1. Adanya aturan, rule dari proses bisnis yang akan dijadikan model. 2. Ada struktur (keteraturan) data yang akan disimpan dan bagaimana struktur data yang akan diimplementasikan ke dalam sebuah basis data secara fisik. 3. Karakteristik dari data yang akan disimpan sudah jelas. Contoh : Dalam sistem rumah sakit misalnya ada : dokter, pasien, obat, kamar, dan lain-lain.

1.13. Metodologi Perancangan Basis DataMerupakan cara bagaimana suatu basis data dibuat melalui tahaptahap tertentu, mulai dari tahap investigasi masalah sampai tahap implementasinya. Secara umum ada dua tahapan proses perancangan basis data, yaitu : 1. perancangan logika basis data perancangan fisik basis data

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.

16

Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

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.

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

Perancangan Basis data

17

Politeknik Telkom

Perancangan Basis Data RelasionalImplementasi melalui DBMS

Pembuatan

Normalisasi Model Data Relasi Skema Basis Data

REAL WORLD

Model relasi

Basis Data

Gambar 1-8 Pendekatan Konvensional 2. Pendekatan Entity-Relationship Menggunakan pendekatan model mempunyai tahapan sebagai berikut : konseptual. Secara umum,

Pembuatan model konseptual (model E-R) Identifikasi entitas dan atributnya Pendefinisian relasi antar entitas Penentuan atribut relasi antar entitas Menggambar diagram E-R

18

Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

Transformasi menjadi model relasi Nomalisasi Implementasi dengan menggunakan DBMS tertentu (Access, SQL, dsb.). Struktur tabel, atribut kunci, aturan integritas, relasi antar tabelImplementasimelalui Skema Basis Data

Pembuatan

Normalisasi Model Data E-R

REAL WORLD

Model Konseptual

Model Data Relasi

DBMS

Basis Data

Gambar 1-9 Pendekatan ER

1.14. Bahasa Basis Data1. 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:Perancangan Basis data 19

Politeknik Telkom

Perancangan Basis Data Relasional

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 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 meload class yang ditulis menggunakan bahasa pemrograman java kedalam database. 5. Authorization, untuk mendefinisikan hak akses spesifik terhadap objek-objek basis data.20 Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

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.Perancangan Basis data 21

Politeknik Telkom

Perancangan Basis Data Relasional

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

Kuis Benar Salah

1. 2. 3. 4. 5.

Informasi merupakan hasil dari pengolahan data. Data ditangkap oleh indera kemudian menjadi inputan dalam sebuah model untuk diubah menjadi pengetahuan dan tindakan. Data merupakan salah satu parameter kemajuan sebuah organisasi. Jika data disimpan dalam file maka setiap aplikasi tidak memiliki file tersendiri. Data integrity merupakan masalah yang dapat ditemui jika kita menyimpan data menggunakan file.

22

Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

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.

Pilihan Ganda

1. A.

Berikut ini merupakan hasil pengolahan data, kecuali Informasi D. DBMS23

Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

B. C.

Pengetahuan Kebijakan

E.

Wisdom

2. A. B. C.

Penyimpanan data menggunakan file memiliki permasalahan sebagai berikut kecuali Data redundancy dan inconsistency D. Security Isolation E. Integrity Simplicity Dalam menganalisis suatu domain, hal-hal yang harus diperhatikan adalah sebagai berikut kecuali Pendefinisian masalah D. Identifikasi entitas dan relasi Identifikasi produktivitas Business process oriented E. domain Aturan/rule yang jelas Jawaban yang paling tepat mengenai Database Management System adalah... Menambah data D. Mengelola data Mengubah data E. Memberikan data Menghapus data Berikut ini adalah jenis DBMS untuk skala enterprise adalah MySQL D. SQL server Firebird E. MS Access PostgreSQL Berikut ini jenis model basis data kecuali... Relational D. Hirarkial Heuristik E. Object oriented Network Berikut ini termasuk komponen basis data, kecuali Hardware D TupperwarePerancangan Basis data

3. A. B. C. 4. A. B. C. 5. A. B. C. 6 A. B. C. 7 A24

Politeknik Telkom

Perancangan Basis Data Relasional

B C 8 A B

Operating sistem Brainware

E

Software

C 9 A B C 10 A B C

Hal yang benar mengenai level view pada abstraksi data adalah Merupakan level terendah Berhubungan langsung dengan abstraksi D user Dapat direpresentasikan Salah satu level konseptual dengan diagram ER. E abstraksi data Berhubungan dengan indexing, fragmenting, dan crash recovery Hal-hal berikut ini yang berhubungan dengan metodologi perancangan basis data kecuali... Cara pembuatan basis data D Perancangan lojik Perancangan fisik E Penentuan entitas dan relasi Operasi recovery Kelebihan DBMS kecuali Data Independence Data integrity Data avaibility

D E

Crash recovery Salah semua

Perancangan Basis data

25

Politeknik Telkom

Perancangan Basis Data Relasional

Latihan1. 2. 3. 4. 5. Gambarkan dan jelaskan proses pengolahan data hingga data tesebut dapat menjadi sebuah kebijakan (wisdom)! Jelaskan mengenai masalah integritas data yang terjadi jika kita menggunakan file untuk menyimpan data! Jelaskan mengenai mekanisme crash recovery pada DBMS Jelaskan perbadaan antara entitas dan relasi dalam konsep RDBMS Apakah tujuan dari perancangan basis data?

26

Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

2 ENTITY RELATIONSHIP MODEL

OverviewSalah 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

Perancangan Basis data

27

Politeknik Telkom

Perancangan Basis Data Relasional

1. 2.

Mahasiswa memahami definisi salah pemodelan konseptual basis data menggunakan ER. Mahasiswa memahami Konsep Entitas, Atribut, Relasi dan Kardinalitas relasi.

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. Kumpulan28 Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

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. Bambang Susi Entitas orang

entitas orang

Sumarno

MahasiswaHimpunan entitas orang yang mempunyai kesamaan karakteristik yaitu nim, prodi, dsb membentuk himpunan entitas mahasiswa

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.

Mahasiswa

Jadwal

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).Atribut Entitas

Perancangan Basis data

Entitas29 1 Entitas 2MAHASISWA

Entitas 3

Politeknik Telkom

Perancangan Basis Data Relasional

Gambar 2-3 Gambaran Himpunan entitas di Tabel

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 Komposit30 Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

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) 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, dsbprodi nama Mahasiswa ipk #nim

Gambar 2-5 Entitas mahasiswa dengan Atribut

Perancangan Basis data

31

Politeknik Telkom

Perancangan Basis Data Relasional

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.Relasi mahasiswa mempunyai organisasi

Mahasiswa

mempunyai

Organisasi

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, 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.32 Perancangan Basis data

memp unyai

Politeknik Telkom

Perancangan Basis Data Relasional

Berikut merupakan contoh gambaran antara entitas mahasiwa dan entitas organisasi.Susi

Sumarno

Organisai LINUX

Bambang

Organisai Pecinta Satwa

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

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)

Gambar 2-8 Contoh Derajat Relasi Unary Relasi di atas menggambarkan entitas karyawan yang ber-relasi dengan entitas karyawan. Entitas karyawanPerancangan Basis data 33

Politeknik Telkom

Perancangan Basis Data Relasional

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.

Ternary

(Me-relasi-kan 3 entitas)

34

Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

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

Perancangan Basis data

35

Politeknik Telkom

Perancangan Basis Data Relasional

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

36

Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

Gambar 2-13 Relasi dengan Kardinalitas Banyak ke 1 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 1Perancangan Basis data 37

Politeknik Telkom

Perancangan Basis Data Relasional

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 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 baikPerancangan Basis data

38

Politeknik Telkom

Perancangan Basis Data Relasional

Contoh dari primary key adalah Nim

2.8

Diagram ER

Merupakan diagram model konseptual untuk menggambarkan struktur logis dari basisdata berbasis grafis.#nim alamat nama Mahasiswa #kd_org kota Organisasi jenis nama

mem prodipuny ipk aime umur mpun Gambar 2-15 Contoh Diagram ER yai

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

2.9

Constraint Cardinalitas

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

Perancangan Basis data

39

Politeknik Telkom

Perancangan Basis Data Relasional

#nim alamat ipk

nama Mahasiswa

#kd_org kota Organisasi

nama

1 Mahasiswa hanya boleh menjabat 1 jabatan dalam 1 periode tertentu. 1 Jabatan hanya boleh di jabat oleh 1 mahasiswa dalam 1 periode tertentu.#kd_org kota Organisasi jenis

mem prodipuny aime umur mpun Gambar 2-16 Relasi 1 ke 1 yai

jenis

#nim alamat ipk

nama Mahasiswa

nama

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.

mem prodipuny aime umur mpun Gambar 2-17 Relasi 1 ke banyak yai

40

Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

#nim alamat ipk

nama Mahasiswa

#kd_org kota Organisasi

nama

1 Jenis Beasiswa boleh diberikan untuk banyak mahasiwa 1 Mahasiwa hanya boleh mendapatkan 1 Jenis beasiwa#kd_org kota Organisasi jenis

mem prodipuny aime umur mpun Gambar 2-18 Relasi Banyak ke 1 yai

jenis

#nim alamat

nama Mahasiswa

nama

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

mem prodipuny ipk aime umur mpun Gambar 2-19 Relasi Banyak ke Banyak yai

Perancangan Basis data

41

Politeknik Telkom

Perancangan Basis Data Relasional

Rangkuman

1.

2.

3.

4.

5. 6.

7.

8.

ER adalah salah satu pemodelan 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. Notasi entitas digambarkan dengan Persegi panjang. Relasi diartikan sebagai hubungan yang terjadi diantara satu entitas dengan entitas yang lainnya. Notasi relasi di gambarkan dengan belah ketupat. Setiap entitas mempunyai atribut yang berisi karakteristik yang mendeskripsikan dari entitas tersebut. Notasi atribut di gambarkan dengan elips. Derajat himpunan relasi ada 3 macam, yaitu unary, binary dan ternary. Kardinalitas relasi menggambarkan banyaknya jumlah maksimum entitas dapat berelasi dengan entitas pada himpunan entitas yang lain. 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 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.Perancangan Basis data

42

Politeknik Telkom

Perancangan Basis Data Relasional

9.

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

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.

Perancangan Basis data

43

Politeknik Telkom

Perancangan Basis Data Relasional

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.

Pilihan Ganda

Petunjuk: Pilihlah jawaban yang paling tepat! 1. A. B. C. 2. A. B. C. Manakah yang bukan merupakan entitas dari pilihan di bawah ___________ Dosen D. Penjadwalan Mata Kuliah E. Nasabah Mempunyai Notas persegi panjang bisa memberikan makna _________ Entitas D. Atribut Himpunan Entitas E. Relasi A dan B benar Berikut ini merupakan domain value set bagi sebuah atribut didalam konse Entity Relationship, kecuali _________ Simple D. MultivaluedPerancangan Basis data

3. A.44

Politeknik Telkom

Perancangan Basis Data Relasional

B. C. 4. A. B. C.

Composit E. Surrogate key Single value Dibawah ini merupakan alasan yang benar tentang makna Atribut deskriptif ________ Muncul hanya jika 2 entitas Atribut yang dipercaya sebagai bertemu di sebuah relasi D. key Dibolehkan di konsep ER E. Pernyataan di atas salah semua Atribut yang di turunkan dari atribut lain

5. A. B. C. Pada gambar di atas, derajat himpunan relasinya adalah ________ Unary D. Four-ary Binary E. Tidak ada jawaban yang benar Ternary

6 A. B.

Manakah yang benar dari gambar di atas ______ Relasi di atas berkardinalitas B adalah himpunan Entitas satu ke banyak D. Orang Relasi di atas berkardinalitas E. Relasi di atas di petakan45

Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

C.

banyak ke banyak A adalah himpunan Entitas Hari

kedalam 3 tabel

7 A B

C

Pernyataan yang benar dari gambar di atas _________ Himpunan relasi berderajat Ternary D A dan B benar Merupakan kardinalitas relasi banyak ke banyak E B dan C benar Terdapat 3 tabel, yaitu himpunan entitas orang, himpunan entitas hari dan relasi

8 A B C 9 A46

Notasi di atas menggambarkan ________ 1 Mahasiswa bisa aktif di 1 Organisasi bisa di ikuti oleh banyak organisasi D banyak mahasiwa 1 Mahasiswa hanya bisa aktif di 1 organisasi E B dan D benar 1 Organisasi hanya bisa di ikuti oleh 1 mahasiswa Kardinalitas relasi dari gambar di atas adalah _______ 1 ke 1 D Banyak ke BanyakPerancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

B C

1 ke banyak Banyak ke 1

E

Tidak ada jawaban yang benar

10 A B C

Dari himpunan atribut StaffNo, StaffAddress, Skill, mana yang merupakan candidate key paling baik ________________ StaffNo D StaffNo dan Skill StaffNo dan StaffAddress E Tidak ada jawaban yang tepat StaffNo,StaffAddress dan Skill

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

Perancangan Basis data

47

Politeknik Telkom

Perancangan Basis Data Relasional

3 KONVERSI ER KE TABEL

48

Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

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

Tujuan1. 2. Mahasiswa memahami konsep Weak Entity, Spesialisasi dan Agregasi Mahasiswa memahami konsep penurunan dari Diagram ER ke Tabel

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.Perancangan Basis data 49

Politeknik Telkom

Perancangan Basis Data Relasional

Diskriminator di notasikan dengan garis bawah yang putus putus.

#nip

nama

Nama penerima tunjangan

Pegawaijabatan

Nomor penerima tunjangan Tunjangan

Besar tunjangan

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 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 entitas50 Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

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.nama #Id_pegawai

Pegawai

Gaji Per BulanBesar tunjangan

Upah Per Jam IS A Jumlah Jam Kerja

Pegawai Tetap

Pegawai Honorer

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 memandangPerancangan Basis data 51

Politeknik Telkom

Perancangan Basis Data Relasional

sebaliknya, dari adanya subgroup subgroup yang berbeda kemudian di cari entitas umum yang mewakili 2 himpunan entitas tersebut.

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

52

Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

Gambar 3-4 Relasi di pandang sebagai Himpunan Entitas

3.5

Ringkasan notasi simbol di ER

Perancangan Basis data

53

Politeknik Telkom

Perancangan Basis Data Relasional

Gambar 3-5 Ringkasan Notasi pada Diagram ER

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.

54

Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

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

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 :

Perancangan Basis data

55

Politeknik Telkom

Perancangan Basis Data Relasional

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

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 :

56

Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

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

3.10 Hubungan kardinalitas dengan tabel yang terbentukKardinalitas relasi dari Himpunan Entitas yang saling ber-relasi akan menentukan banyaknya tabel yang bisa di buat. Adapun aturannya sebagai berikut : 1 ke 1 Pilih primary key di 1 himpunan entitas untuk menjadi foreign key bagi himpunan entitas yang lain.

1 ke banyak / banyak ke 1Primary key pada Tabel berkardinalitas sedikit menjadi foreign key pada tabel berkardinalitas banyak.

Banyak ke banyakSudah jelas di atas

Perancangan Basis data

57

Politeknik Telkom

Perancangan Basis Data Relasional

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.

58

Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

Gambar 3-11 Representasi spesialisasi ke tabel metoda 1

3.12 Representasi AgregasiUntuk 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

Perancangan Basis data

59

Politeknik Telkom

Perancangan Basis Data Relasional

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

Gambar 3-13 Representasi Agregasi untuk tabel Mahasiwa dan Mahasiwa Mengambil Mtkul

60

Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

Rangkuman

1. 2. 3.

4.

5.

6.

7.

Himpunan Entitas Lemah tidak memiliki primary key dan selalu bergantung pada entitas lain. Notasi entitas lemah adalah doble persegi panjang, sedangkan relasinya double diamond. 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. Spesialisasi merupakan proses desain top-down; dengan mendesain subgrouping didalam himpunan entitas yang berbeda dari himpunan entitas. Generalisasi merupakan proses desain bottom-up; mengkombinasikan jumlah himpunan entitas yang digunakan secara bersama-sama. Agregasi adalah enkapsulasi dari entitas entitas yang berelasi (*nn). Notasi agregasi adalah Persegi Panjang yang membungkus himpunan entitas biner yang saling ber-relasi. Secara umum penurunan diagram ER ke tabel memiliki aturan sebagai berikut : Setiap himpunan entitas menjadi Tabel61

Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

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

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.

62

Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

Pilihan Ganda

Petunjuk: Pilihlah jawaban yang paling tepat! Perhatikan relasi berikut 1. A. B. kardinalitas relasinya adalah________ Banyak ke Banyak D. Banyak ke Banyak 1 ke 1 E. Salah semua63

Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

C. 2. A. B. C.

1 ke Banyak Diskriminator adalah konsep yang terdapat di __________ Himpunan Entitas kuat D. Spesialisasi Himpunan Entitas lemah E. Generalisasi Agregasi 2 Entitas dengan kardinalitas relasi 1 ke banyak akan menghasilkan __________ tabel 1 Tabel D. Bisa 2 atau 3 tergantung situasi 2 Tabel E. Bisa 1 atau 2 tergantung situasi 3 Tabel Perhatikan relasi berikut

3. A. B. C.

4. A. B. C.

Relasi di atas merupakan contoh dari relasi _________ Agregasi D. Weak Entity Spesialisasi E. Salah semua Generalisasi Banyak tabel yang bisa di hasilkan dari relasi di soal nomor 4 di atas adalah _________ 3 Tabel D. 6 Tabel 4 Tabel E. 7 Tabel 5 Tabel Gambar himpunan entitas berikut menggambarkan _______

5. A. B. C.

664 Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

A. B. C.

Himpunan Entitas Himpunan Entitas Lemah Himpunan Entitas Kuat

D. E.

Relasi Atribut

7. A. B. C. C 8 A B C 9

Banyak tabel yang bisa di hasilkan dari relasi di soal nomor 4 di atas adalah _________ 3 Tabel 4 Tabel E. 7 Tabel 5 Tabel Network Setiap atribut pasti menjadi 1 kolom. Pernyataan tersebut _______ Benar D. Salah pada kondisi tertentu Salah E. C dan D benar Benar pada kondisi tertentu Ketika sebuah nilai atribut mempunyai multivalued maka langkah kita adalah _______ Tidak di ikuntukan menjadi Menjadikannya entitas D. kolom Biarkan saja E. Tidak ada jawaban yang tepat Membuat banyak kolom untuk mengatasi multivalued tersebut Semua ER adalah benar. Pernyataan tersebut _______ Tidak di ikuntukan menjadi Mutlak benar D. kolom Mutlak salah E. Tidak ada jawaban yang tepat Mutlak salah karena hanya ada 1 ER yang benar

A B

C 10 A B C

Perancangan Basis data

65

Politeknik Telkom

Perancangan Basis Data Relasional

Latihan1.66

Turunkan Diagram ER berikut kedalam tabel!Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

4 NORMALISASI

Perancangan Basis data

67

Politeknik Telkom

Perancangan Basis Data Relasional

Overview

Bab ini akan membahas konsep normalisasi database berikut konsepkonsep lain yang mendasarinya. Dalam bab ini juga akan ditampilkan contoh penerapan normalisasi untuk tabel-tabel sederhana dalam kasus database akademik di sebuah perguruan tinggi.

Tujuan1. 2. 3. 4. Mahasiswa memahami definisi dan tujuan normalisasi Mahasiswa mampu mengidentifikasi super key, candidate key dan primary key dari sebuah table Mahasiswa mampu mengidentifikasi functional dependency yang ada pada sebuah tabel, termasuk partial dan transitive FD Mahasiswa mengenal bentuk normal pertama, ke dua, ke tiga dan BCNF serta mampu melakukan normalisasi dengan menerapkan bentuk-bentuk normal tersebut Mahasiswa mengenal sekilas tentang bentuk-bentuk normal lain dan memahami konsep denormalisasi

5.

68

Perancangan Basis data

Politeknik Telkom

Perancangan Basis Data Relasional

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 AnomalyNIM 1-01 1-01 2-01 2-01 2-02 Nama_Mhs Tukimin Tukimin Jamilah Jamilah Maemunah Kd_Jur TE TE IF IF IF Nama_Jur Elektro Elektro Informatika Informatika Informatika Kode_MK TE-001 DU-001 IF-001 DU-001 IF-002 Nama_MK Elektronika English Algoritma English Database SKS 3 2 3 2 2 Nilai A A B C A

Tabel di atas adalah contoh tabel yang memiliki desain yang kurang baik. Perhatikan bahwa jika kita ingin meng-update jumlahPerancangan Basis data 69

Politeknik Telkom

Perancangan Basis Data Relasional

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 English dengan 3 sks) . Kondisi seperti inilah yang disebut dengan update anomaly. 4.2.2 Insertion Anomaly Tabel 4-2 Contoh Insert AnomalyNIM 1-01 1-01 2-01 2-01 2-02 Nama_Mhs Tukimin Tukimin Jamilah Jamilah Maemunah Kd_Jur TE TE IF IF IF Nama_Jur Elektro Elektro Informatika Informatika Informatika Kode_MK TE-001 DU-001 IF-001 DU-001 IF-002 Nama_MK Elektronika English Algoritma English Database SKS 3 2 3 2 2 Nilai A A B C 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 AnomalyNIM 1-01 1-01 2-01 2-01 2-02 Nama_Mhs Tukimin Tukimin Jamilah Jamilah Maemunah Kd_Jur TE TE IF IF IF Nama_Jur Elektro Elektro