BAB IV Normalisasi Data

dokumen-dokumen yang mirip
Tujuan Umum Tujuan Khusus Pokok Bahasan/Materi

Perancangan Basis Data

BAB III Basis Data Relasional

NORMALISASI. Dr.Budi Setiyono, MT

Pendekatan Normalisasi

SISTEM BASIS DATA. Pertemuan 4. 3 SKS Semester 2 S1 Sistem Informasi Nizar Rabbi Radliya

NORMALISASI DATA POKOK BAHASAN. Pendahuluan

Model Data Dalam SBD

Desain Sistem Basis Data. 1. Struktur Basis Data 2. Normalisasi Data 3. ERD (entity relationship diagram)

Pertemuan 11. Donny Yulianto, S.Kom

Desain Data Base. Proses Desain Data Base

Pemodelan Data (1) Week 2

Materi 4 BASIS DATA 3 SKS Semester 4 S1 Sistem Informasi UNIKOM 2016 Nizar Rabbi Radliya

Entity Relationship Model

SISTEM BASIS DATA (Lanjutan) :

Implementasi Basis Data

BASIS DATA. Model Data Relational. Fakultas Ilmu Komputer UDINUS

ENTITY RELATIONSHIP DIAGRAM. SiBaDa Sesi 4

Tabel dan Key dalam Database Tipe data dan Karakter pada Database. Author : Minarni, S.Kom.,MM

ER-DIAGRAM (ENTITY RELATIONSHIP DIAGRAM)

BAB V. dimengerti, mudah dipelihara, mudah memprosesnya, dan mudah untuk dikembangkan sesuai kebutuhan baru

BASIS DATA. Desain Database dan Normalisasi. Fakultas Ilmu Komputer UDINUS

BAB 5 ANOMALI DAN INTEGRITAS DATA PADA MODEL RELASIONAL

Pertemuan 9. By. Rita Wiryasaputra, ST., M. Cs.

PERANCANGAN BASIS DATA

Model Data HANI IRMAYANTI, M.KOM

BASIS DATA (BS203) MODEL RELASIONAL

SISTEM BASIS DATA AUB SURAKARTA

PERANCANGAN BASIS DATA. Alif Finandhita, S.Kom

BAB III PERANCANGAN BASIS DATA DGN TEKNIK NORMALISASI

Model Data: Model data merupakan kumpulan perangkat konseptual untuk menggambarkan data, hubungan data, semantik (makna) data dan batasan data Jenis

Hirarki dan Abstraksi Data

SISTEM BASIS DATA Imam Asrowardi, S.Kom.

Kontrak Kuliah. Entity Relationship Diagram Bagian 1. Edi Sugiarto, S.Kom, M.Kom

BAB II TINJAUAN PUSTAKA

SISTEM BASIS DATA 3 SKS

PERANCANGAN SISTEM TERINCI DATABASE

MODUL 1 SEPUTAR PERANCANGAN DATABASE. 1.1 Entity-Relationship Model (ER Model) dan Entity Relationship Diagram (ERD)

BAB II TINJAUAN PUSTAKA

PERANCANGAN SISTEM DATABASE

MODEL DATA RELASIONAL

SISTEM BASIS DATA. Pertemuan 3. Nizar Rabbi Radliya 3 SKS Semester 2 S1 Sistem Informasi

Entity Relationship Diagram.

BASIS DATA. Model Data Relational. Fakultas Ilmu Komputer UDINUS

Normalisasi Donny Yulianto, S.Kom

PERANCANGAN SISTEM TERINCI DATABASE

Perancangan Basis Data

Normalisasi Basis Data

PEMODELAN DATA DAN PROSES PENGEMBANGAN DATABASE. Pengolahan Basis Data D3-TI STMIK AMIKOM

NORMALISASI DATA. Basis Data

Abstraksi Data (Arsitektur DBMS)

1. Mengidentifikasikan dan menetapkan seluruh himpunan entitas yang akan terlibat.

Bentuk normal pertama (1NF) untuk menghilangkan atribut bernilai jamak. Bentuk normal kedua (2NF) untuk menghilangkan kebergantungan parsial.

Relational Database & Pemodelan Data [Review]

Pertemuan Transformasi ER-MODEL INDIKATOR. 1. Memahami ER model 2. Menerapkan transformasi ER- Model ke Model Relasional.

Contents. Normalisasi. Bentuk Normalisasi. Dependency. Status Kunci (Key) Dekomposisi

Pemodelan Database. Pengolahan Basis Data

IMPLEMENTASI BASIS DATA. By : I Ngh Putu Mardika, S.Pd

PERANCANGAN DATABASE 04/07/ :53

Model Data. Universitas Darwan Ali Kalimantan Tengah. Author : Minarni, S.Kom.,MM

Normalisasi. Normalisasi adalah proses pembentukan struktur basis data sehingga sebagian besar ambiguity bisa dihilangkan.

PEMODELAN DATA (ER-D) Basis Data -1 / Dian Dharmayanti

OVERVIEW BASIS DATA RELASIONAL. Oleh: Ir. M. Ramadhan, MT

Pertemuan 3 dan 4 : MODEL DATA RELASIONAL

Basis Data Modul Teori

Pertemuan 2-3 ER-MODEL

DESAIN DATABASE DAN NORMALISASI

STMIK AMIKOM YOGYAKARTA

Teknik Perancangan Basis Data

Normalisasi Data. Author : Minarni, S.Kom.,MM

Perancangan Basis Data Relasional. (Entity Relationship Model) By : Hanung N. Prasetyo

Sistem Basis Data ( )

Metodologi Perancangan basis data secara konseptual

Pertemuan Sistem Informasi SI adalah suatu suatu sistem dalam suatu organisasi yang merupakan

PERTEMUAN 6. Normalisasi Database (Conoly-chap 14) (Ramakisman -chap 15)

NORMALISASI UNTUK BASIS DATA RELASIONAL

Materi 3 BASIS DATA 3 SKS Semester 4 S1 Sistem Informasi UNIKOM 2016 Nizar Rabbi Radliya

BASIS DATA MODEL RELASIONAL

Model Relational. S# Nama Status Kota S1 Hanato 20 Bandung S2 Andi 10 Jakarta S3 Shy 25 Surabaya S4 Tina 20 Medan

PERANCANGAN BASIS DATA PERTEMUAN KE -3. Rauf Fauzan, S.Kom.,M.Kom

P7 Perancangan Database

Mengotimalisasi redundansi Menghilangkan anomali

MODEL DATA RELASIONAL

STEPHANIE BETHA ROSSI H,S.ST

Hanif Fakhrurroja, MT

MEMAHAMI KONSEP DATABASE. Oleh : Yuhefizar, S.Kom

Model Relational. Dian Dharmayanti

Basis Data 1 - TIS3333

Modul 8 : Relational Key dan Functional Dependency

E-R Model (Model Keterhubungan Entitas)

Pertemuan VII Normalization (1) Fak. Teknik Jurusan Teknik Informatika. Caca E. Supriana, S.Si.,MT.

KRS. MHS NIM (PK) Nama Alamat TmpLahir TglLahir KdJurusan ThnMasuk Status. NoKrs (PK1) (FK) NIM (PK2) (FK) ThAkad Semester StatusStudi

Modul ke: Pertemuan - 8. Model Relasi Entitas. Fakultas Ilmu Komputer. Ariefah Rachmawati. Program Studi Sistem Informasi.

MODEL RELASIONAL. Alif Finandhita, S.Kom

ER (Entity-Relationship) Model dan Mapping ke Model Relasional. Politeknik Elektronika Negeri Surabaya

Entity Relationship Model

MODUL II NORMALISASI DATA

Model Relasional. Basis Data. Pengertian

Perancangan Database Bagian II (Normalisasi( Normalisasi) TUJUAN PEMBELAJARAN

Entity Relationship Diagram. Rima Dias Ramadhani, S.Kom., M.Kom Wa:

Transkripsi:

Normalisasi Data 1. Pengertian Normalisasi Data Perancangan basis data diperlukan, agar dapat terbentuk basis data yang efisien dalam penggunaan ruang penyimpanan, cepat dalam pengaksesan dan mudah dalam pemanipulasian (tambah, ubah, hapus) data Perancangan basis data dilakukan dengan cara : 1. Menerapkan Normalisasi terhadap struktur tabel yang telah diketahui Normalisasi -> merupakan cara pendekatan lain dalam membangun desain lojik sebuah basis data relasional dengan menerapkan sejumlah aturan dan kriteria standar untuk menghasilkan struktur tabel yang normal/baik. 2. Langsung membuat Model Entity-Relationship (Model E-R) Model E-R -> merupakan sebuah perangkat konseptual yang menterjemahkan/mentransformasikan kelompok-kelompok data dan relasi antar kelompok data tersebut kedalam bentuk diagram 1

1. Pengertian Normalisasi Data Dalam pelaksanaannya, desain lojik basis data relasional yang didasari baik oleh prinsip normalisasi maupun yang didasari oleh transformasi secara hati-hati h i dari Model E-R ke bentuk fisik ik akan menghasilkan hasil yang mirip. i Dalam pendekatan Normalisasi -> perancang basis data bertitik tolak dari situasi yang nyata dimana ia telah memiliki item-item data yang siap ditempatkan dalam baris dan kolom pada tabel-tabel relasional dan ia telah mengetahui sejumlah aturan tentang keterhubungan antara item-item data tersebut. Dalam pendekatan Model E-R -> perancang basis data dengan langsung membuat model data jika yang telah diketahui baru prinsip-prinsip sistem secara keseluruhan karena adanya kelangkaan data/fakta yang dimiliki. Faktanya di lapangan, kedua pendekatan ini dilakukan bersama-sama, berganti-ganti, dan dapat saling memperkuat satu sama lain, dari contoh data (fakta)yang telah dimiliki dilakukan Normalisasi kemudian hasilnya diwujudkan dalam Model E-R, setelah itu diimplementasikan dalam bentuk sejumlah struktur tabel dalam sebuah basis data, struktur tabel ini dapat diuji kembali dengan menerapkan aturan-aturan Normalisasi, hingga akhirnya diperoleh sebuah struktur basis data yang benar-benar efektif dan efisien. Atribut adalah karakteristik/sifat-sifat dari entity atau relationship, yang menyediakan penjelasan detail tentangt entity atau relationship tersebut. t Atribut identik dengan kolom data (field) pada sebuah tabel. Nilai Atribut merupakan suatu data aktual atau informasi yang disimpan pada suatu atribut di dalam suatu entity atau relationship. Dari bab sebelumnya, dapat diketahui : tabel Mahasiswa memiliki 4 buah atribut : nim, nama_mhs,alamat_mhs,tgl_lahir tabel Dosen memiliki 2 buah atribut : nama_dos, alamat_dos tabel Kuliah memiliki 4 buah atribut : kode_kul, nama_kul, sks, semester tabel Nilai memiliki 4 buah atribut : nama_kul, nim, nama_mhs, indeks_nilai tabel Jadual memiliki 4 buah atribut : nama_kul, tempat, waktu, nama_dos Atribut dapat dibedakan menjadi 5 kelompok, yaitu : 2

2.1 Key dan Atribut Deskriptif Key adalah satu atau gabungan dari beberapa atribut yang dapat membedakan semua baris data (row) dalam tabel secara unik Jika suatu atribut dijadikan sebagai key, maka tidak boleh ada dua atau lebih baris data dengan nilai yang sama untuk atribut tersebut. Ada 4 macam key yang dapat diterapkan pada suatu tabel, yaitu : 1. Super key 2. Candidate key 3. Primary key 4. Foreign key 2.1 Key dan Atribut Deskriptif Super key -> merupakan satu atau lebih atribut (kumpulan atribut) yang dapat membedakan setiap baris data dalam sebuah tabel secara unik. nim nama_mhs alamat_mhs tgl_lahir 980001 I Made Suta Jl. Dewi Sartika No.12, Bangli 40121 05 Desember 1980 980002 I Wayan Sura Jl. Kartini No.10, Badung 45123 06 Maret 1980 980003 Dewa Made Gita Jl. Flamboyan No.23, Singaraja 40151 17 Juni 1980 980004 Dewi Asih Jl. A Yani 5, Gianyar 40124 08 Nopember 1980 Dari tabel Mahasiswa diatas yang dapat menjadi Super key : (nim, nama_mhs, mhs alamat, tgl_lahir) lahir) (nim, nama_mhs, alamat) (nim, nama_mhs) (nama_mhs), jika bisa dijamin tidak ada nilai yang sama untuk atribut ini. (nim) 3

2.1 Key dan Atribut Deskriptif Candidate key -> merupakan kumpulan atribut minimal yang dapat membedakan setiap baris data dalam sebuah tabel secara unik. nim nama_mhs alamat_mhs tgl_lahir 980001 I Made Suta Jl. Dewi Sartika No.12, Bangli 40121 05 Desember 1980 980002 I Wayan Sura Jl. Kartini No.10, Badung 45123 06 Maret 1980 980003 Dewa Made Gita Jl. Flamboyan No.23, Singaraja 40151 17 Juni 1980 980004 Dewi Asih Jl. A Yani 5, Gianyar 40124 08 Nopember 1980 Dari tabel Mahasiswa diatas yang dapat menjadi Candidate key : (nim) (nama_mhs), mhs) jika bisa dijamin tidak ada nilai yang sama untuk atribut ini. Salah satu dari Candidate key diatas dapat dijadikan sebagai Primary key (kunci utama) Pemilihan Primary key dari sejumlah Candidate key tersebut umumnya didasari oleh : Key tersebut lebih sering (lebih natural) untuk dijadikan sebagai acuan Key tersebut lebih ringkas Jaminan keunikan key tersebut lebih baik Dari pertimbangan diatas, dari kedua Candidate key yang ada di tabel Mahasiswa, maka yang lebih cocok dipilih sebagai Primary key adalah (nim) 2.1 Key dan Atribut Deskriptif Foreign key / Kunci tamu -> Atribut dengan domain yang sama yang menjadi kunci utama pada sebuah tabel tetapi pada tabel lain atribut tersebut hanya sebagai atribut biasa Kunci tamu ditempatkan pada entitas anak dan sama dengan Primary key induk direlasikan nama_kul nim nama_mhs indeks_nilai Struktur Data 980001 I Made Suta A Struktur Data 980002 I Wayan Sura B Basis Data 980001 I Made Suta Basis Data 980004 Dewi Asih Yang menjadi Foreign key pada tabel Nilai diatas adalah (nim) nim nama_mhs alamat_mhs tgl_lahir 980001 I Made Suta Jl. Dewi Sartika No.12, Bangli 40121 05 Desember 1980 980002 I Wayan Sura Jl. Kartini No.10, Badung 45123 06 Maret 1980 980003 Dewa Made Gita Jl. Flamboyan No.23, Singaraja 40151 17 Juni 1980... Atribut Deskriptif adalah atribut-atribut yang tidak menjadi atau merupakan anggota dari Primary key. Dari tabel mahasiswa diatas yang termasuk dalam atribut deskriptif adalah : (nama_mhs, alamat_mhs, tgl_lahir) 4

2.2 Atribut Sederhana (Simple Attribute) dan Atribut Komposit (Composite Attribute) Atribut sederhana -> atribut atomik yg tidak dapat diuraikan lagi menjadi sub-sub atribut. Atribut komposit -> atribut yang masih dapat diuraikan lagi menjadi sub-sub atribut yang masing-masing memiliki makna. nim nama_mhs alamat_mhs tgl_lahir 980001 I Made Suta Jl. Dewi Sartika No.12, Bangli 40121 05 Desember 1980 980002 I Wayan Sura Jl. Kartini No.10, Badung 45123 06 Maret 1980 980003 Dewa Made Gita Jl. Flamboyan No.23, Singaraja 40151 17 Juni 1980 980004 Dewi Asih Jl. A Yani 5, Gianyar 40124 08 Nopember 1980 Atribut sederhana (nama_mhs) Atribut komposit (alamat_mhs) dapat diuraikan menjadi 3 atribut Atribut Komposit dapat didekomposisi menjadi Atribut Sederhana disesuaikan dengan kebutuhan sistem alamat nama_kota kode_pos Jl. Dewi Sartika No.12 Bangli 40121 Jl. Kartini No.10 Badung 45123 2.3 Atribut Bernilai Tunggal (Single-valued attribute) dan Atribut Bernilai Banyak (Multivalued attribute) Atribut Bernilai Tunggal -> ditujukan pada atribut-atribut yang memiliki paling banyak satu nilai untuk setiap baris data Atribut Bernilai Banyak -> ditujukan pada atribut-atribut yang dapat diisi dengan lebih dari 1 (satu) nilai, tetapi jenisnya sama nim nama_mhs alamat_mhs tgl_lahir hobbi memancing, 980001 I Made Suta Jl. Dewi Sartika No.12 05 Desember 1980 bulu tangkis, nonton tv 980002 I Wayan Sura Jl. Kartini No.10... 06 Maret 1980 membaca 980003 Dewa Made Gita Jl. Flamboyan No.23 17 Juni1980...... Atribut Bernilai Tunggal (nim,nama_mhs,alamat_mhs,tgl_lahir) Atribut- atribut bernilai tunggal diatas hanya dapat berisi 1 (satu) nilai. Jika misalnya ada mahasiswa memiliki 2 alamat maka hanya salah satu saja yang boleh diisikan kedalam atribut alamat_mhs Atribut Bernilai Banyak (hobbi) Seorang mahasiswa ada yang mempunyai 1 hobbi, banyak hobbi dan ada yg tidak mempunyai hobbi 5

2.4 Atribut Harus Bernilai (Mandatory Attribute) dan Nilai Null (Non Mandatory Attribute) Atribut harus bernilai -> adalah atribut pada sebuah tabel yang harus berisi data (nilainya tidak boleh kosong) Nilai Null -> adalah atribut yang nilainya boleh kosong. Nilai (konstanta) Null digunakan untuk mengisi atribut yang nilainya memang belum siap atau tidak ada. Nilai Null tidak sama dengan spasi. nim nama_mhs alamat_mhs tgl_lahir hobbi memancing, 980001 I Made Suta Jl. Dewi Sartika No.12 05 Desember 1980 bulu tangkis, nonton tv 980002 I Wayan Sura membaca 980003 Dewa Made Gita Jl. Flamboyan No.23 17 Juni 1980 Mandatory Attribute (nim,nama_mhs) Atribut nim dan nama_mhs digolongkan sebagai Mandatory Attribute, karena setiap mahasiswa yg datanya ingin disimpan ke tabel Mahasiswa, paling tidak harus diketahui NIM dan Nama-nya. Non Mandatory Attribute (alamat_mhs,tgl_lahir,hobbi) Ada atribut-atribut pada suatu tabel yang nilainya boleh dikosongkan (Non Mandatory Attribute) 2.5 Atribut Turunan (Derived Attribute) Atribut turunan -> atribut yang nilai-nilainya diperoleh dari pengolahan atau dapat diturunkan dari atribut atau tabel lain yang berhubungan Atribut turunan sebenarnya dapat ditiadakan dari sebuah tabel, karena nilainilainya bergantung pada nilai yang ada di atribut lainnya. Penambahan atribut angkatan dan ip (indeks prestasi) pada tabel Mahasiswa berikut merupakan contoh penggunaan Atribut Turunan nim nama_mhs alamat_mhs tgl_lahir angkatan ip 980001 I Made Suta Jl. Dewi Sartika No.12 05 Desember 1980 1998 2.85 980002 I Wayan Sura 1998 3.40 980003 Dewa Made Gita Jl. Flamboyan No.23 17 Juni 1980 1998 2.98 Nilai nilai pada atribut angkatan dapat diketahui dari atribut nim, dimana 2 karakter pertama dalam nim menyatakan 2 digit bilangan tahun masuknya mahasiswa bersangkutan Nilai - nilai pada atribut ip diperoleh dari pengolahan dengan menerapkan formula tertentu yang melibatkan indeks_nilai di tabel Nilai dan atribut sks yang ada di tabel Kuliah 6

3. Domain dan Tipe Data Tipe Data lebih merujuk pada kemampuan penyimpanan data yang mungkin bagi suatu atribut secara fisik, tanpa melihat layak/tidaknya y data tersebut bila dilihat dari kenyataan pemakaiannya. Tabel Kuliah kode_kul nama_kul sks semester INF1014 Struktur Data 3 1 INF1012 Basis Data 3 2 INF2011 Algoritma 3 1 INF3044 Matematika I 3 2 Contoh : pada tabel Kuliah diatas,tipe data untuk atribut sks adalah integer, dengan begitu secara fisik ik dapat menyimpan nilai i -1, 0 atau 100 untuk atribut t sks tersebut, t tetapi t kita mengetahui dengan pasti, bahwa nilai-nilai itu (-1, 0 atau 100) sebetulnya tidak pantas (invalid) untuk menjadi data pada atribut sks. Domain lebih ditekankan pada batas-batas nilai yang diperbolehkan bagi suatu atribut, dilihat dari kenyataan yang ada. Contoh : Domain nilai untuk atribut sks adalah 1, 2, 3 atau 4 karena nilai-nilai tersebut lebih layak (valid) dan sesuai dengan kenyataan yang ada. 3. Domain dan Tipe Data Domain nilai bagi setiap atribut perlu dilihat dan dipertimbangkan pada saat perancangan basis data. Tipe data bagi setiap atribut relevan untuk diperhitungkan pada saat implementasi basis data. 7

4. Ketergantungan Fungsional (Functional Dependency) Diberikan sebuah tabel T berisi paling sedikit 2 buah atribut, yaitu A dan B. Kita dapat menyatakan notasi berikut ini : A B yang berarti A secara fungsional menentukan B atau B secara fungsional tergantung pada A, jika dan hanya jika untuk setiap kumpulan baris data (row) yang ada di tabel T, pasti ada 2 baris data (row) di tabel T dengan nilai untuk A yang sama, maka nilai untuk B pasti juga sama. Definisi yang lebih formal untuk hal diatas yaitu : diberikan 2 row r1 dan r2 dalam tabel T dimana A B, Jika r1 (A) = r2 (A), maka r1 (B) = r2 (B) 4. Ketergantungan Fungsional (Functional Dependency) Untuk menjelaskan Ketergantungan Fungsional tersebut, berikut diberikan contoh menggunakan tabel Nilai berikut : Tabel Nilai nama_kul nim nama_mhs indeks_nilai Struktur Data 980001 I Made Suta A baris 1 Struktur Data 980002 I Wayan Sura B baris 2 Basis Data 980001 I Made Suta baris 3 Basis Data 980004 Dewi Asih baris 4 Basis Data 980002 I Wayan Sura baris 5 Algoritma 980002 I Wayan Sura C baris 6 Dari data tabel Nilai diatas (sesuai fakta yg ada), maka Ketergantungan Fungsional (KF) yang dapat diajukan adalah : 1. nim nama_mhs Yang berarti bahwa atribut nama_mhs hanya tergantung pada atribut nim. Faktanya : untuk setiap nilai nim yang sama, maka pasti nilai nama_mhs-nya juga sama (Contoh : baris 1 dan baris 3 nilai nim yang sama, maka pasti nilai nama_mhs-nya juga sama) 8

4. Ketergantungan Fungsional (Functional Dependency) 2. nama_ kul nim indeks_ nilai Yang berarti bahwa atribut indeks_nilai tergantung pada atribut nama_kul dan nim secara bersama-sama Faktanya : bahwa untuk setiap nilai nama_kul dan nim yang sama, maka nilai indeks_nilai-nya juga sama, karena (nama_kul, nim) merupakan key (yang unik) untuk tabel Nilai. KF tersebut sesuai dengan pengertian bahwa setiap indeks nilai diperuntukkan pada mahasiswa tertentu untuk mata kuliah tertentu yang diambilnya. Dari tabel Nilai juga dapat diajukan sejumlah ketidaktergantungan (non KF) dengan hanya melihat fakta yang ada, yaitu : 1. nama_kul nim Yang berarti atribut nim tidak tergantung pada atribut nama_kul. Buktinya terlihat pada baris 1 dan baris 2 : dengan nilai nama_kul yang sama, tapi nilai nim-nya berbeda. 4. Ketergantungan Fungsional (Functional Dependency) 2. nim indeks_nilai Yang berarti atribut indeks_nilai tidak hanya tergantung pada atribut nim Buktinya terlihat pada baris 2 dan baris 6 : dengan nilai nim yang sama, tapi nilai indeks_nilai-nya berbeda. Dalam perancangan basis data, maka tabel harus ditentukan seluruh KF yang ada (bisa terdapat lebih dari satu KF di sebuah tabel). 9