• Tidak ada hasil yang ditemukan

G. Peran Dalam Lingkungan Database

2. BASIS DATA RELATIONAL & PERANCANGAN BASIS DATA

Adalah basis data yang mempresentasikan data dalam bentuk tabel, dimana tabel-tabel tersebut dihubungkan oleh nilai-nilai yang sama/umum pada kolom-kolom terkait.

Komponen penyusun basis data : 1. Tabel

2. Kolom/atribut 3. Baris/tuple 4. Domain

Gambar 2.1 Skema Basis Data Skema :

1. Tabel Buku : kode buku (3) , judul buku (20)

2. Tabel Anggota : kode anggota (3), nama anggota (25)

3. Tabel Peminjaman : Kode pinjam (5), tgl pinjam (date), kode anggota (3) 4. Tabel Pengembalian : Kode kembali (5), tgl kembali (date), kode anggota (3)

Tabel 2.1 Tabel Anggota

Tabel 2.2 Tabel Buku

Skema :

1. Tabel Buku : kode buku (3) , judul buku (20)

2. Tabel Anggota : kode anggota (3), nama anggota (25)

3. Tabel Peminjaman : Kode pinjam (5), tgl pinjam (date), kode anggota (3) 4. Tabel Pengembalian : Kode kembali (5), tgl kembali (date), kode anggota (3)

1. Tabel

Tabel memiliki nama dan terdiri atas baris dan kolom. Tabel pada suatu basis data tidak boleh memilki nama yang sama (unik). Tabel disebut juga dengan Relation atau File.

Pada Gambar 2.1 terdiri dari 4 tabel yaitu, tabel anggota, tabel buku, tabel peminjaman, tabel pengembalian.

2. Kolom/Atribut

Kolom memiliki nama. Kolom yang terdapat dalam suatu tabel tidak boleh memiliki nama yang sama. Urutan nama boleh sembarang dan tidak mempengaruhi makna dari tabel.

Nama lain kolom adalah Field atau Atribut.

Pada Tabel 2.1 dan Tabel 2.2, kolom yaitu nama anggota, judul buku, kode anggota, kode buku, dst.

3. Domain

Adalah sekumpulan nilai-nilai yang dapat disimpan pada satu atau lebih kolom. Sebuah domain bisa dimiliki oleh satu kolom atau lebih, tetapi sebuah kolom hanya memiliki satu domain. Karena domain membatasi dan mengatur nilai yang dapat disimpan maka disebut domain constraint. Pada Tabel 2.1, kolom yaitu kode anggota hanya berisi 3 nilai saja, yaitu “A01”.

4. Baris

Berisikan data dari sebuah objek. Baris pada sebuah tabel harus unik, dapat diletakkan dalam urutan bebas dan tidak mempengaruhi makna dari tabel. Baris disebut juga dengan Record atau tuple.

Pada Tabel 2.1 anggota dapat menyimpan tiga obyek (yaitu tiga data anggota) pada tiga tuple.

Relational Keys

Adalah identifikasi satu atau sekelompok kolom yang nilainya dapat membedakan secara unik tuple-tuple tersebut. Lima Relational Keys :

1. Superkey 2. Candidate key 3. Primary key 4. Alternate key 5. Foreign key

Gambar 2.2 Sistem Basis Data 1. Superkey

Adalah satu atau kelompok kolom yang nilainya secara unik membedakan tuple-tuple pada suatu tabel.

Pada Gambar 2.2 di masing-masing tabel terdapat lebih dari satu superkey, yaitu : Tabel anggota : kode anggota, nama anggota

Tabel buku : kode buku, judul, stok buku

Tabel peminjaman : kode pinjam, tgl pinjam, kode buku, kode anggota, juml, tgl kembali Tabel pengembalian : kode kembali, kode pinjam

Pada Gambar 2.2 di masing-masing tabel terdapat lebih dari satu superkey, yaitu : Tabel anggota :

• Kolom kode anggota,

• Kolom no faktur dan kolom nama anggota Tabel buku :

• Kolom kode buku

• Kolom kombinasi kode buku, judul, stok buku, Dst.

2. Candidate Key

Adalah superkey di mana tidak ada satupun himpunan bagian dari superkey tersebut menjadi superkey lagi. Tidak semua superkey menjadi candidate key. Candidate key yang terdiri dari dua kolom atau lebih disebut sebagai composite key.

Pada Gambar 2.2 di masing-masing tabel terdapat lebih candidate key atau bukan candidate key, yaitu :

Tabel anggota :

• Kolom kode anggota : candidate key

• Kolom no faktur dan kolom nama anggota = bukan candidate key

Tabel buku :

• Kolom kode buku = candidate key

• Kolom kombinasi kode buku, judul, stok buku : bukan candidate key

Pada Gambar 2.2 di masing-masing tabel terdapat lebih candidate key atau bukan candidate key, yaitu :

Tabel Peminjaman :

• Kolom kode pinjam, kode buku, kode anggota : candidate key

• Kolom kombinasi kode pinjam, kode buku, kode anggota, jumlah, dst : bukan candidate key, Dst.

3. Primary Key

Adalah (satu) candidate key yang dipilih (di antara candidate key lain) untuk membedakan tuple-tuple secara unik dalam tabel. Jika dalam satu tabel hanya terdapat satu candidate key (misal tabel anggota dan tabel buku), maka key tersebut menjadi primary key. Tetapi jika terdapat lebih dari satu candidate key (misal tabel penjualan dan tabel pengembalian), maka salah satu candidate key tersebut dpat dijadikan primary key.

4. Alternate Key

Adalah candidate key yang tidak dijadikan sebagai primary key. Misal pada tabel pengembalian jika kita memilih kode kembali sebagai primary key, maka kode pinjam dapat dijadikan alternate key.

5. Foreign Key

Adalah satu atau kelompok kolom yang nilainya sama atau terkait dengan candidate key pada tabel lain atau pada tabel yang sama.

Misal pada tabel peminjaman ada kolom kode anggota yang terhubung dengan tabel anggota, maka kode anggota adalah foreign key. Kolom-kolom yang saling terkait ini sangat penting dalam operasi join.

B. Skema Tabel (Relation Skema)

Adalah informasi dasar yang mendeskripsikan tabel yang terdiri atas nama tabel dan sekumpulan pasangan kolom domain.

Contoh : Skema Tabel Anggota Tabel Anggota (kode anggota, nama) Skema Basis Data (Relational Database Schema)

Adalah sekumpulan skema tabel dengan masing-masing tabel memiliki nama yang berbeda. Contoh : Skema Basis Data Perpustakaan

Tabel anggota (kode anggota, nama) Tabel buku (kode buku, judul, stok buku)

2. Entity integrity 3. Referential integrity 4. General constraints 1. Null

Adalah nilai pada suatu kolom (tuple) masih belum diketahui (unknown). Ini bisa berarti nilai tersebut tidak dapat diterapkan pada kolom tersebut. Namun, null tidak sama dengan nilai numerik nol atau string “-”; nol dan spasi adalah nilai, tetapi null menunjukkan tidak adanya nilai.

Misal dalam sebuah tabel ada sebuah data yang belum diketahui boleh dituliskan null, akan tetapi hal tersebut tidak berlaku untuk primary key. Karena kolom primary key bersifat unik, jika primary key menyimpan null maka sifat unik dari kolom tersebut akan hilang karena bisa saja beberapa tuple memiliki nilai null.

2. Entity Integrity

Adalah batasan atau aturan yang menyatakan bahwa kolom-kolom primary key tidak boleh menyimpan null. Seperti di jelaskan sebelumnya primary key digunakan untuk mendefinisikan secara unik sebuah tuple.

3. Referential Integrity

Adalah batasan yang menyatakan jika suatu tabel memiliki kolom foreign key maka nilai pada foreign key tersebut harus sesuai dengan nilai kolom candidate key dan jika tidak demikian maka foreign key dapat dituliskan null.

Dua keadaan penulisan null tidak perlu dilakukan :

1. Pada saat kolom tersebut diberikan batasan tidak boleh diberikan null.

2. Pada saat kolom tersebut juga merupakan bagian dari primary key.

4. General Constraints

Adalah batasan /aturan tambahan yang ditetapkan oleh pemakai atau administrator basis data sesuai aturan/batasan yang ada pada suatu organisasi.

Contoh :

- peminjaman buku tidak diijinkan jika stok buku hanya satu

- Jika anggota masih memiliki buku yang belum dikembalikan maka tidak di perbolehkan untuk meminjam kembali

D. Perancangan Basis Data

Proses pembangunan basis data terdiri dari dua tahapan utama : 1. Tahapan analisis dan perancangan

2. Tahapan implementasi.

1. Tahapan Analisis dan Perancangan

Adalah tahapan pemetaan atau pembuatan model dari dunia nyata menggunakan notasi perancangan basis data tertentu serta pembuatan deskripsi implementasi basis data.

Gambar 2.3 Tahapan Perancangan Basis Data

Pahlevi, Said Mirza, Tujuh Langkah Praktis Pembangunan Basis Data, 2013, Elex Media Komputindo, Jakarta

Tahapan analisis dan perancangan dibagi menjadi tiga, yaitu : 1. Perancangan basis data secara konsep

Merupakan proses pembuatan data model dan tidak bergantung pada seluruh aspek fisik basis data.

2. Perancangan Basis Data Secara Logis

Merupakan proses pembuatan data model berdasarkan data model tertentu, tetapi tidak bergantug pada DBMS tertentu dan implementasi fisik basis data.

3. Perancangan Basis Data Secara Fisik

Merupakan proses pembuatan deskripsi implementasi basis data pada media penyimpanan sekunder (disk). Deskripsi ini menjelaskan tabel-tabel dasar, organisasi file, indeks untuk mendapatkan ases data secara efisien, dan semua integrity contraints, dan langkah-lagkah keamanan.

2. Tahapan Implementasi

Tahapan ini mengimplementasikan rancangan basis data yang telah dibuat. Implementasi menggunakan aplikasi klien yang disediakan oleh DBMS terpilih.

3. MODEL DATA

A. Pengertian Model Data :

Sekumpulan konsep-konsep untuk menerangkan data, hubungan-hubungan antara data, makna data (semantik) dan batasan data.

B. Jenis-Jenis Model Data a. Model Data Berdasarkan Object b. Model Data Berdasarkan Record a. Model Data Berbasis Objek

Model data berbasis objek menggunakan konsep entitas, atribut dan hubungan antar entitas.

Terdiri dari:

1. Model Keterhubungan Entitas (Entity-Relationship Model) 2. Model Berorientasi Object (Object-Oriented Model) 3. Model Data Semantik (Semantic Data Model) 4. Model Data Fungsional (Functional Data Model)

Model Keterhubungan Entitas (Entity-Relationship Model) merupakan model yang paling populer digunakan dalam perancangan basis data.

1. Entity Relationship Model

Model untuk menjelaskan hubungan antar data dalam basis data berdasarkan suatu persepsi bahwa real world terdiri dari objek-object dasar yang mempunyai hubungan atau relasi antara objek-objek tersebut.

Komponen utama pembentuk Model Entity-Relationship, yaitu: Entitas (Entity), Relasi (Relation). Kedua komponen ini dideskripsikan lebih lanjut melalui sejumlah Atribut/Properti.

Gambar 3.1 Database Perpustakaan Atribut : kode buku, judul, stok buku

Entitas : B01, B02, B03, Pemograman C++, dst.

Relasi : hubungan antara kode buku di tabel buku dengan kode buku di tabel peminjaman.

Begitu pula dengan kode anggota.

2. Diagram Entity-Relationship (Diagram E-R)

Model Entity Relationship yang berisi komponen himpunan entitas, relasi, yang dilengkapi atribut-atribut, dapat digambarkan menggunakan Diagram Entity-Relationship (Diagram E-R). Simbol dasar yang digunakan :

Tabel 3.1 Simbol Diagram Entity-Relationship

Menyatakan Himpunan Entitas

Menunjukan Himpunan Relasi

Menyatakan Atribut (Atribut key digaris bawahi)

Penghubung / Link

Dalam Diagram E-R aturan terpenting adalah Kardinalitas relasi/ Mapping Cardinalities yang menentukan jumlah entity yang dapat dikaitkan dengan entity lainnya melalui relationship-set.

Jenis Mapping Cardinalities :

• Relasi satu ke satu (one-to-one)

• Relasi satu ke banyak (one-to-many)

•Relasi banyak ke banyak (many-to-many) Contoh Relasi one-to-one

Gambar 3.2 Relasi one-to-one

Contoh Relasi one-to-many

Gambar 3.3 Relasi one-to-many Contoh Relasi many-to-many

Gambar 3.4 Relasi many-to-many

3. Model Berorientasi Object (Object-Oriented Model)

Gambar 3.5 Object-Oriented Model

https://searchoracle.techtarget.com/tip/Alternatives-to-the-relational-database-model https://slideplayer.info/slide/11870146/

Model Berorientasi Object (Object-Oriented Model) Penggambaran model berbasis objek menggunakan UML.

UML Digambarkan dengan 2 Jenis : 1. Structural Diagram

2. Behaviour Diagram

*Detail pembahasan UML ada di Mata Kuliah Pemodelan Berbasis Objek Structural Diagram

Structural diagram terdiri dari :

• Class Diagram

• Object Diagram

• Component Diagram

• Deployment Diagram Behavioral Diagram

Behavioral Diagram terdiri dari :

• Use case Diagram

• Sequence Diagram

• Collaboration Diagram

• Statechart Diagram

• Activity Diagram 3. Semantic Model

Hampir sama dengan Entity Relationship model dimana relasi antara objek dasar tidak dinyatakan dengan simbol tetapi menggunakan kata-kata (Semantic). Sebagai contoh, dengan masih menggunakan relasi pada Bank X sebagaimana contoh sebelumnya, dalam semantic model adalah seperti terlihat pada gambar di atas.

Tanda-tanda yang menggunakan dalam semantic model adalah sebagai berikut : Menunjukkan adanya relasi

menunjukkan atribut

Gambar 3.6 Tanda semantic model Contoh Kasus Semantic Model

b. Model Data Berbasis Record

Model ini berdasarkan pada record untuk menjelaskan kepada user tentang hubungan logic antar data dalam basis data

PERBEDAAN DENGAN MODEL DATA BERBASIS OBJEK

Pada record based data model disamping digunakan untuk menguraikan struktur logika keseluruhan dari suatu database, juga digunakan untuk menguraikan implementasi dari sistem database (higher level description of implementation).

Terdapat 3 data model pada model data berbasis record:

1. Model Relational,

Dimana data serta hubungan antar data direpresentasikan oleh sejumlah tabel dan masing-masing tabel terdiri dari beberapa kolom yang namanya unique. Model ini berdasarkan notasi teori himpunan (set theory), yaitu relation. Contoh : data base penjual barang terdiri dari 3 tabel:

– Supllier – Suku_cadang – Pengiriman

Gambar 3.8 Model Relational 2. Model Hirarki

Dimana data serta hubungan antar data direpresentasikan dengan record dan link (pointer), dimana record-record tersebut disusun dalam bentuk tree (pohon), dan masing-masing node pada tree tersebut merupakan record/grup data elemen dan memiliki hubungan cardinalitas 1:1 dan 1:M

Gambar 3.9 Model Hirarki one-to-one

Gambar 3.10 Model Hirarki one-to-many

3. Model Jaringan

Distandarisasi tahun 1971 oleh Database Task Group (DBTG) atau disebut juga model CODASYL (Conference on Data System Language), mirip dengan hirarkical model dimana data dan hubungan antar data direpresentasikan dengan record dan links.

Perbedaannya terletak pada susunan record dan linknya yaitu network model menyusun record-record dalam bentuk graph dan menyatakan hubungan cardinalitas 1:1, 1:M dan N:M.

Gambar 3.11 Contoh Model Jaringan

4. ENTITY-RELATIONSHIP DIAGRAM (ERD) Simbol-simbol dalam E-R Diagram

Gambar 4.1 Simbol E-R Diagram A. Komponen E-R Diagram

1. Entitas yaitu suatu kumpulan object atau sesuatu yang dapat dibedakan atau dapat diidentifikasikan secara unik. Dan kumpulan entitas yang sejenis disebut dengan entity 2. Relationship yaitu hubungan yang terjadi antara satu entitas atau lebih.set.

3. Atribut, kumpulan elemen data yang membentuk suatu entitas.

4. Indicator tipe terbagi 2 yaitu : d. Indicator tipe asosiatif object e. Indicator tipe super tipe

a. Entity Set

ENTITY SET TERBAGI ATAS :

1. Strong entity set yaitu entity set yang satu atau lebih atributnya digunakan oleh entity set lain sebagai key. Digambarkan dengan empat persegi panjang.

Misal :

E adalah sebuah entity set dengan atribute-atribute a1, a2,..,an, maka entity set tersebut direpresentasikan dalam bentuk tabel E yang terdiri dari n kolom, dimana setiap kolom berkaitan dengan atribute-atributenya.

2. Weak Entity set, Entity set yang bergantung terhadap strong entity set. Digambarkan dengan empat persegi panjang bertumpuk.

Misal :

A adalah weak entity set dari atribute-atribute a1, a2, .., ar dan B adalah strong entity set dengan atribute-atribute b1, b2,..,bs, dimana b1 adalah atribute primary key, maka weak entity set direpresentasikan berupa table A, dengan atribute-atribute {b1} u {a1,a2,.., ar}

Gambar 4.2 Strong Entity dan Weak Entity b. Jenis-jenis Atribut

a. KEY, atribut yang digunakan untuk menentukan suatu entity secara unik b. ATRIBUT SIMPLE, atribut yang bernilai tunggal

c. ATRIBUT MULTI VALUE, atribut yang memiliki sekelompok nilai untuk setiap instan entity.

Pada gambar dibawah ini, yang menjadi atribut key adalah NIP. Tgl Lahir dan Nama adalah atribut simple. Sedangkan Gelar merupakan contoh atribut multivalue.

Gambar 4.3 Jenis Atribut d. ATRIBUT COMPOSIT

Suatu atribut yang terdiri dari beberapa atribut yang lebih kecil yang mempunyai arti tertentu contohnya adalah atribut nama pegawai yang terdiri dari nama depan, nama tengah dan nama belakang.

e. ATRIBUT DERIVATIF

Suatu atribut yg dihasilkan dari atribut yang lain. Sehingga umur yang merupakan hasil kalkulasi antara Tgl Lahir dan tanggal hari ini. Sehingga keberadaan atribut umur bergantung pada keberadaan atribut Tgl Lahir.

c. Mapping Cardinality

Banyaknya entity yang bersesuaian dengan entity yang lain melalui relationship JENIS-JENIS MAPPING :

1. One to one

2. Many to One atau One to many 3. Many to many

REPRESENTASI DARI ENTITY SET

Entity set direpresentasikan dalam bentuk tabel dan nama yang unique. Setiap tabel terdiri dari sejumlah kolom, dimana masing-masing kolom diberi nama yang unique pula.

B. Participation Constraint

Menjelaskan apakah keberadaan suatu entity tergantung pada hubungannya dengan entity lain.

Terdapat dua macam participation constrain yaitu:

1. Total participation constrain, yaitu:

Keberadaan suatu entity tergantung pada hubungannya dengan entity lain. Didalam diagram ER digambarkan dengan dua garis penghubung antar entity dan relationship.

2. Partial participation, yaitu :

Keberadaan suatu entity tidak tergantung pada hubungan dengan entity lain. Didalam diagram ER digambarkan dengan satu garis penghubung.

Contoh Participation Constraint a. Total Participation

Gambar 4.5 Total Participation

b. Partial Participation

Gambar 4.6 Partial Participation

C. Indicator Tipe

Indicator tipe asosiatif object berfungsi sebagai suatu objek dan suatu relationship.

Berubah menjadi

Gambar 4.7 Indicator tipe asosiatif object

Indicator tipe super tipe, terdiri dari suatu object dan satu subkategori atau lebih yang dihubungkan dengan satu relationship yang tidak bernama.

Gambar 4.8 Indicator tipe super tipe Tahapan Pembuatan ERD

1. Identifikasi dan tetapkan seluruh himpunan entitas yang akan terlibat 2. Tentukan atribut key dari masing-masing himpunan entitas

3. Identifikasi dan tetapkan seluruh himpunan relasi antar himpunan entitas yang ada beserta foreign key-nya

4. Tentukan derajat/kardinalitas relasi untuk setiap himpunan relasi

5. Lengkapi himpunan entitas dan himpunan relasi dengan atribut bukan kunci.

D. Logical Record Structured (LRS)

LRS => representasi dari struktur record-record pada tabel-tabel yang terbentuk dari hasil relasi antar himpunan entitas.

Menentukan Kardinalitas, Jumlah Tabel dan Foreign Key (FK) 1. Kardinalitas One to One

One to One (1-1)

Tabel Supir (nosupir, nama, alamat) Tabel Taksi (notaksi, nopol, merk, tipe)

Atau

Gambar 4.10 LRS Kardinalitas 1-1 2. Kardinalitas One to Many

Gambar 4.11 Kardinalitas 1-M

Gambar di atas menunujukan relasi dengan kardinalitas 1-M, karena:

1 Dosen bisa membimbing banyak Kelas, dan 1 Kelas hanya dibimbing oleh 1 Dosen.

Relasi 1-M akan membentuk 2 tabel:

Tabel Dosen (nip, nama, alamat)

Tabel Kelas (kelas, jurusan, semester, jmlmhs) LRS yang terbentuk sbb:

Gambar 4.12 LRS Kardinalitas 1-M

3.Kardinalitas Many to Many

Gambar 4.13 Kardinalitas M-M

Gambar di atas menunujukan relasi dengan kardinalitas M-M, karena:

1 Mahasiswa bisa belajar banyak Mata Kuliah, dan 1 Mata Kuliah bisa dipelajari oleh banyak Mahasiswa.

Relasi M-M akan membentuk 3 tabel:

Tabel Mahasiswa (nim, nama, alamat) Tabel Mtkuliah (kdmk, nmmk, sks)

Tabel Nilai (nim, kdmk, nilai) menggunakan super key/composite key LRS yang terbentuk sbb:

Gambar 4.14 LRS Kardinalitas M-M

Contoh Kasus

Sebuah perusahaan mempunyai beberapa bagian. Masing-masing bagian mempunyai pengawas dan setidaknya satu pegawai. Pegawai harus ditugaskan pada paling tidak satu bagian, tetapi dapat pula beberapa bagian. Paling tidak satu pegawai mendapat tugas sebuah proyek. Namun, seorang pegawai dapat libur dan tidak mendapat tugas proyek.

Penyelesaian :

Langkah 1 : Menentukan Entitas

Entitas yang dibutuhkan adalah : Bagian, Pegawai, Pengawas, dan Proyek Langkah 2 :Menentukan Relasi dengan matriks relasi

Gambar 4.15 Matriks Relasi

Langkah 3 : Menggambar ERD Sementara

Gambar 4.16 ERD Sementara Deskripsi Permasalahan :

• Masing-masing bagian hanya mempunyai satu pengawas

• Seorang pengawas hanya bertugas pada satu bagian

• Masing-masing bagian memiliki paling tidak satu pegawai

• Masing-masing pegawai bekerja paling tidak pada satu bagian

• Masing-masing proyek dikerjakan oleh paling tidak satu pegawai

• Seorang Pengawas bisa mendapat tugas 0 atau beberapa proyek Langkah 4 : Mengisi Kardinalitas

Langkah 5 : Menentukan Kunci Utama

Kunci Utama : Nama Bagian, Nomor Pengawas, Nomor Pegawai, Nomor Proyek.

Langkah 6 : Menggambarkan ERD berdasarkan kunci Karena ada dua relasi many-to-many pada ERD sementara, yaitu antara Bagian dan Pegawai, serta Pegawai dan Proyek.

Oleh karena itu dibuatkan entitas baru yaitu Bagian-Pegawai dan Pegawai-Proyek. Kunci utama Bagian-Pegawai adalah gabungan Nama Bagian dan Nomor Pegawai. Kunci utama Pegawai-Proyek adalah gabungan Nomor Pegawai dan Nomor Proyek.

Penggambaran ERD Berdasarkan Kunci

Gambar 4.18 ERD Berdasarkan Kunci

Langkah 7 : Menentukan Atribut yang diperlukan

Transformasi ERD dan LRS

Gambar 4.20 Transformasi LRS

LRS yang terbentuk

Gambar 4.21 LRS yang Terbentuk

Contoh Lain : Perpustakaan Sederhana

Gambar 4.22 Database Perpustakaan Contoh ERD Perpustakaan Sederhana

Gambar 4.23 ERD Perpustakaan Sederhana

5. NORMALISASI

Dalam merancang basis data dapat dilakukan dengan:

1. Menerapkan Normalisasi terhadap struktur tabel yang telah diketahui, atau 2. Langsung membuat model Entity-Relationship.

Normalisasi merupakan cara pendekatan lain dalam membangun desain logik basis data dengan menerapkan sejumlah aturan dan kriteria standar untuk menghasilkan struktur tabel yang normal.

B. Pengertian Normalisasi

Normalisasi merupakan proses pengelompokan elemen data menjadi tabel–tabel yang menunjuk-kan entity dan relasinya.

Normalisasi adalah proses pengelompokan atribute-atribute dari suatu relasi sehingga membentuk WELL STRUCTURE RELATION.

Well Structure Relation adalah sebuah relasi yang jumlah kerangkapan datanya sedikit (minimum Amount Of Redundancy), serta memberikan kemungkinan bagi user untuk melakukan INSERT, DELETE, dan MODIFY terhadap baris-baris data pada relation tersebut, yang tidak berakibat terjadinya ERROR atau INKONSESTENSI DATA, yang disebabkan oleh operasi-operasi tersebut.

Keuntungan dari normalisasi, yaitu :

1. Meminimalkan ukuran penyimpanan yang diperlukan untuk menyimpan data.

2. Meminimalkan resiko inkonsistensi data pada basis data 3. Meminimalkan kemungkinan anomali pembaruan 4. Memaksimalkan stabilitas struktur data

C. Anomaly

Anomaly merupakan penyimpangan-penyimpangan atau Error atau inkonsistensi data yang terjadi pada saat dilakukan proses insert, delete maupun update.

Terdapat 3 jenis Anomaly :

1. Insertion Anomaly, error yang terjadi sebagai akibat operasi insert record/tuple pada sebuah relation

2. Deletion Anomaly, error yang terjadi sebagai akibat operasi delete record/tuple pada sebuah relation

3. Update Anomaly, error yang terjadi sebagai akibat inkonsistensi data yang terjadi sebagai akibat dari operasi update record/tuple dari sebuah relation

Problem-Problem Pada Relation yang Sudah Dinormalisasi 1. Performance problem, masalah terhadap performa database

2. Referential Integrity Problem, masalah yang timbul terhadap referensi antar data-data diantara dua tabel atau lebih

Beberapa Konsep Yang Harus Diketahui:

a. Field/ Atribut Kunci (sudah di jelaskan pada pembahasan sebelumnya) b. Kebergantungan Fungsi

Atribut Kunci (Field) (Sudah Di bahas di Pertemuan 2) a. Key Field / atribute kunci dalam database:

1. Super key

1. Ketergantungan Fungsional (Fungsional Dependent)

Keterkaitan antar hubungan antara 2 atribute pada sebuah relasi. Dituliskan dengan cara : A -> B, yang berarti :

Atribute B fungsionality Dependent terhadap atribute A atau Isi (value) atribute A menentukan isi atribute B

Definisi dari functional dependent :

Diketahui sebuah relasi R, atribute Y dari R adalah FD pada atribute X dari R ditulis R.X

-> R.Y jika dan hanya jika tiap harga X dalam R bersesuaian dengan tepat satu harga Y dalam R

2. Fully Functionaly Dependent (FFD)

Suatu rinci data dikatakan fully functional dependent pada suatu kombinasi rinci data jika functional dependent pada kombinasi rinci data dan tidak functional dependent pada bagian lain dari kombinasi rinci data.

Definisi dari FDD:

Atribute Y pada relasi R adalah FFD pada atribute X pada relasi R jika Y FD pada X tida

Atribute Y pada relasi R adalah FFD pada atribute X pada relasi R jika Y FD pada X tida

Dokumen terkait