Hasil Resume Basis Data

BAB 1
TEHNIK NORMALISASI


NORMALISASI
Proses normalisasi menyediakan cara sistematis untuk meminimalkan terjadinya kerangkapan data diantara relasi dalan perancangan logikal basis data. 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 relation 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.
Contoh :
Terdapat sebuah relation Course, dengan ketentuan sbb:
Ø   Setiap mahasiswa hanya boleh mengambil satu matakuliah saja.
Ø   Setiap matakuliah mempunyai uang kuliah yang standar (tidak tergantung pada mahasiswa  yang mengambil matakuliah tsb.

RELATION COURSE


Relation di atas merupakan sebuah relation yang sederhana dan terdiri dari 3 kolom/atribute
            Bila diteliti secara seksama, maka akan ditemukan redundancy pada datanya, dimana biaya kuliah selalu berulang pada setiap mhs. Akibatnya besar kemungkinan terjadi Error atau inkonsistensi data, bila dilakukan update terhadap relation tsb yang disebut dengan Anomali



ANOMALY Merupakan penyimpangan-penyimpangan atau Error atau Inkonsistensi data yang terjadi pada saat dilakukan proses insert, delete ataupun modify.

Terdapat 3 jenis Anomali :
1.   Insertion Anomali
Error yang terjadi sebagai akibat operasi insert record/tuple pada sebuah relation
      contoh :
Ada matakuliah baru (CS-600) yang akan diajarkan, maka matakuliah tsb tidak bisa di insert ke dalam relation tsb sampai ada mhs yang mengambil matakuliah tsb.

2.   Delettion Anomali
      Error yang terjadi sebagai akibat operasi delete record/tuple pada sebuah relation
      Contoh :
Mhs dengan student-id 92-425, memutuskan untuk batal ikut kuliah CS-400, karena dia merupakan satu-satunya peserta matakuliah tsb, maka bila record/tuple tsb didelete akan berakibat hilangnya informasi bahwa mata-kuliah CS-400, biayanya 150

3.   Update Anomali
Error yang terjadi sebagai akibat inkonsistensi data yang terjadi sebagai akibat dari operasi update record/tuple dari sebuah relation
      Contoh :
Bila biaya kuliah untuk matakuliah CS-200 dinaikan dari 75 menjadi 100, maka harus dilakukan beberapa kali modifikasi terhadap record-record, tuple-tuple mhs yang mengambil matakuliah CS-200, agar data tetap konsisten. 

Berdasarkan teori normalisasi, relation course dipecah menjadi 2 relation terpisah , sbb


BAB 2
TEHNIK NORMALISASI (LANJUTAN )


Proses normalisasi adalah proses pengelompokan data elemen menjadi tabel-tabel yang menunjukkan entity dan relasinya. Pada proses normalisasi dilakukan pengujian pada beberapa kondisi apakah ada kesulitan pada saat menambah/menyisipkan, menghapus, mengubah dan mengakses pada suatu basis data. Bila terdapat kesulitan pada pengujian tersebut maka perlu dipecahkan relasi pada beberapa tabel lagi atau dengan kata lain perancangan basis data belum optimal.

Beberapa konsep yang harus diketahui :
a.   Field/ Atribut Kunci
b.   Kebergantungan Fungsi

a)      Field (Atribut) Kunci
Setiap file selalu terdapat kunci dari file berupa field atau satu set field yang dapat mewakili record. Misalnya Nomor Pokok Mahasiswa (NPM) merupakan kunci dari tabel mahasiswa suatu Perguruan Tinggi, setiap pencarian cukup dengan menyebut nomor mahasiswa tersebut maka dapat diketahui identitas mahasiswa lainnya seperti nama, alamat dan atribut lainnya.
Nomor Pegawai (NIP) bagi data dosen, NIK untuk data karyawan, Kode_Kuliah untuk data Mata kuliah, dan lain sebagainya.

Jenis Atribut Pada Entitas
Atribut yang melekat pada suatu entitas ada bermacam tipe seperti yang akan
dijelaskan sebagai berikut : 
Atribut Sederhana : atribut sederhana merupakan atribut atomik yang tidak
dapat lagi dipecah menjadi atribut lain.
Contoh : Entitas mahasiswa mempunyai atribut sederhana berupa NIM, Nama
Mahasiswa .

Atribut Komposit : atribut komposit merupakan atribut yang masih dapat dipecah menjadi sub-sub atribut yang masing-masing memiliki arti tesendiri.
Contoh : entitas mahasiswa mempunyai atribut alamat. Alamat disini dapat
dipecah menjadi sub atribut seperti nama_kota, kode_pos.

Atribut Bernilai Tunggal : yaitu atribut yang hanya memiliki satu nilai untuk
setiap barisnya.
Contoh : entitas mahasiswa mempunyai atribut NPM, Nama, Alamat isi data dari atribut ini hanya boleh diisi dengan 1 data. Setiap mahasiswa hanya memiliki 1 NPM, 1 Nama, 1 Alamat.

Atribut Bernilai Jamak : yaitu atribut yang boleh memiliki lebih dari satu nilai untuk setiap barisnya.
Contoh : entitas mahasiswa mempunyai atribut Hobby isi data dari atribut ini boleh lebih dari 1 data. Mahasiswa Roshita memiliki NPM 13402021 beralamat di Jalan Garuda 32 Yogyakarta memiliki Hobby (Olah Raga, Nyanyi, Masak dan Nonton TV)

Atribut Harus Bernilai : yaitu atribut yang harus memiliki nilai data untuk setiap barisnya. Biasanya atribut seperti ini sudah ditetapkan dalam perancangan tabelnya sehingga jika dalam pengisian dikosongi akan terjadi kesalahan.
Contoh : entitas mahasiswa mempunyai atribut NPM dan Nama_Mahasiswa yang harus diisi datanya, sebab jika tidak diisi akan terjadi kekacauan dalam basis data.

Atribut Bernilai Null : yaitu atribut yang boleh tidak memiliki nilai data untuk setiap barisnya.
Contoh : entitas mahasiswa mempunyai atribut Alamat, Hobby, Nama_Pacar yang boleh untuk tidak diisi tetapi kalau diisi akan lebih baik.

Atribut Turunan : yaitu atribut yang nilai-nilainya diperoleh dari pengolahan atau dapat diturunkan dari atribut lain yang berkaitan.
Contoh : entitas mahasiswa mempunyai atribut IPK yang diperoleh dari pengolahan atribut Nilai pada tabel (entitas Nilai) dengan kode NIM mahasiswa yang sama dan diproses sehingga menghasilkan IPK untuk mahasiswa yang bersangkutan.

Super Key
Yaitu himpunan dari satu atau lebih entitas yang digunakan untuk mengidentifikasikan secara unik sebuah entitas dalam entitas set

Kunci Kandidat (Candidate Key)
Kunci kandidat adalah satu atribut atau satu set atribut yang mengidentifikasikan secara unik suatu kejadian spesifik dari entity. Satu set atribut menyatakan secara tidak langsung dimana anda tidak dapat membuang beberapa atribut dalam set tanpa merusak kepemilikan yang unik. Jika kunci kandidat berisi lebih dari satu atribut, maka biasanya disebut sebagai composite key (kunci campuran atau gabungan). 
Contoh :
File mahasiswa berisi :
· Nomor Pegawai
· No KTP
· Nama Pegawai
· Tempat Lahir
· Tanggal Lahir
· Alamat
· Kota
Kunci kandidat dalam file mahasiswa di atas dapat dipilih sbb :
·    Nomor Pegawai
·    No KTP
·    Nama (tidak dapat dipakai karena sering seseorang punya nama yang sama dengan orang lain)
·    Nama + Tanggal Lahir (mungkin bisa dipakai sebagai kunci karena kemungkinan orang dengan nama yang sama dan tanggal lahir yang sama cukup kecil)
·    Nama + Tempat Lahir + Tanggal Lahir (dapat dipakai sebagai kunci)
·    Alamat dan Kota (bukan kunci)

Kunci Primer (Primery Key)
Primary key adalah satu atribut atau satu set minimal atribut yang tidak hanya mengidentifikasi secara unik suatu kejadian spesifik, tetapi juga dapat mewakili setiap kejadian dari suatu entity.
Setiap kunci kandidat dapat menjadi kunci primer tetapi sebaliknya sebaiknya dipilih satu saja yang dapat mewakili secara menyeluruh terhadap entity yang ada. 
Contoh :
·    No Pegawai (karena sifatnya yang unik maka tidak mungkin pegawai mempunyai Nomor Pegawai yang sama).
·    No KTP (Bisa dipakai misalnya untuk pegawai yang baru belum mendapatkan nomor pegawai maka bisa digunakan nomor KTP untuk sementara sebagai kunci primer.
·    Kode_Kuliah (bisa dipakai untuk data mata kuliah karena kode mata kuliah bersifat unik untuk tiap mata kuliah)

Kunci Alternatif (Alternate Key)
Kunci alternatif adalah kunci kandidat yang tidak dipakai sebagai kunci primer. Kunci alternatif ini sering digunakan untuk kunci pengurutan misalnya dalam laporan.

Kunci Tamu (Foreign Key)
Kunci tamu adalah satu atribut atau satu set minimal atribut yang melengkapi satu hubungan yang menunjukkan ke induknya. kunci tamu ditempatkan pada entity anak dan sama dengan kunci primer induk yang direlasikan. Hubungan antara entity induk dengan anak adalah hubungan satu lawan banyak (one to many relationship)
Contoh :
File Transaksi Gaji Bulanan
·    No Pegawai
·    No Bukti
·    Tanggal
·    Jumlah Gaji Kotor
·    Jumlah Potongan
·    Jumlah Gaji Bersih
·    Jumlah Pajak
ð  Kunci Tamu
* No Pegawai (karena Gaji berhubungan dengan file Pegawai)
ð  Kunci Primer
* No Bukti (karena unik dan mewakili entity)
ð  Kunci Kandidat
* No Pegawai + Nomor Bukti (Unik dan menunjukkan hubungan dengan file
   pegawai)

Dalam hubungan dua buah file yang punya relationship banyak lawan banyak
maka terdapat 2 kunci tamu pada file konektornya.
Contoh :
File Proyek berisi atribut
·    No Proyek
·    Tgl Mulai
·    Tgl Selesai
·    Anggaran
File Pegawai Berisi Atribut
·    No Pegawai
·    Nama
Hubungan antara file tersebut adalah banyak lawan banyak yaitu satu
pegawai mengerjakan lebih dari 1 proyek dan 1 proyek dikerjakan oleh
beberapa pegawai maka untuk menunjukkan hubungan tersebut dipakai file
konektor yang berisi kunci tamu dari kedua file.
File Proyek Pegawai berisi atribut :
·    No Proyek
·    No Pegawai
·    Jam Kerja
Maka pada file proyek pegawai terdapat kunci tamu yaitu nomor proyek dan
no pegawai. Kedua atribut tersebut juga merupakan kunci primer.
b)     Ketergantungan Kunci
Kebergantungan Fungsi didefinisikan sebagai
Diberikan sebuah relasi R, atribut Y dan R adalah bergantung fungsi pada atribut X dari R jika dan hanya jika setiap nilai X dalam R punya hubungan dengan tepat satu nilai Y dalam R (dalam setiap satu waktu).
File relasi pegawai atribut berisi :
·    No Pegawai
·    No KTP
·    Nama
·    Tempat Lahir
·    Tgl Lahir
·    Alamat’
·    Kota
Isi dari atribut nama bergantung pada No Pegawai. Jadi dapat dikatakan bahwa atribut nama bergantung secara fungsi pada No Pegawai dan Nomor Pegawai menunjukkan secara fungsi nama. jika anda mengetahui no pegawai maka anda dapat menentukan nama pegawai tersebut. Notasi untuk kebergantungan fungsi ini adalah
No Pegawai à Nama  atau
Nama = f(No Pegawai)

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 Functinaly 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 FD pada himpunan bagian dari X

3.   Ketergantungan Partial
Sebagian dari kunci dapat digunakan sebagai kunci utama

4.  Ketergantungan Transitif
Menjadi atribute biasa pada suatu relasi tetapi menjadi kunci pada realasi lain

5.   Determinan
Suatu atribute (field) atau gabungan atribute dimana beberapa atribute lain bergantung sepenuhnya pada atribute tersebut


BAB 3
MACAM-MACAM BENTUK NORMALISASI

LANGKAH - LANGKAH PEMBENTUKAN NORMALISASI:

 1.   Bentuk tidak normal (Unnormalized Form):
Bentuk ini merupakan kumpulan data yang akan direkam, tidak ada keharusan mengikuti suatu format tertentu. Dapat saja data tidak lengkap atau terduplikasi. Data dikumpulkan apa adanya sesuai dengan saat menginput.
      Contoh data :
            Ket : PA = Penasehat Akademik
Siswa yg punya nomor siswa, nama, dan PA mengikuti 3 mata pelajaran/kelas. Disini ada perulangan kelas 3 kali ini bukan bentuk 1 NF

2.   Bentuk Normal Ke Satu (1 NF/First Normal Form)
Suatu relasi 1NF jika dan hanya jika sifat dari setiap relasi atributnya bersifat atomik.
Atom adalah zat terkecil yang masih memiliki sifat induknya, bila dipecah lagi maka ia tidak memiliki sifat induknya.
      Ciri-ciri 1 NF :
         Setiap data dibentuk dalam flat file, data dibentuk dalam satu record demi satu record nilai dari field berupa “atomic value
         Tidak ada set atribute yang berulang atau bernilai ganda
         Tiap field hanya satu pengertian

 3.   Bentuk Normal Ke Dua (2 NF /Second Normal Form)
Bentuk normal kedua mempunyai syarat yaitu bentuk data telah memenuhi kriteria bentuk normal kesatu. Atribute bukan kunci haruslah bergantung secara fungsi pada kunci utama/primary key. Sehingga utk membentuk normal kedua haruslah sudah ditentukan kunci-kunci field. Kunci field haruslah unik dan dapat mewakili atribute lain yg  menjadi anggotanya.
Misal :
Dari  contoh relasi Siswa pada I NF terlihat bahwa kunci utama/primary key adalah nomor siswa. Nama siswa dan pa bergantung fungsi pada no_siswa, tetapi kode_kelas bukanlah fungsi dari siswa, maka file siswa dipecah menjadi 2 relasi

Relasi Siswa

 4.  Bentuk Normal Ke Tiga (3 NF / Third Normal Form)
Untuk menjadi bentuk normal ketiga maka relasi haruslah dalam bentuk normal kedua dan semua atribute bukan primer tidak punya hubungan yg transitif. Dengan kata lain,setiap atribute bukan kunci haruslah bergantung hanya pada primary key dan pada primary key secara menyeluruh.
Contoh pada bentuk normal kedua di atas termasuk juga bentuk normal ke tiga karena seluruh atribute yang ada disitu bergantung penuh pada kunci primernya
5.   Boyce-Codd Normal Form ( BCNF)
BCNF mempunyai paksaan yg lebih kuat dari bentuk normal ketiga. Untuk menjadi BCNF, relasi harus dalam bentuk normal kesatu dan setiap atribute harus bergantung fungsi pada atribute superkey         
Pada contoh di bawah ini terdapat relasi seminar dengan ketentuan sbb :
kunci primer adalah no_siswa+seminar.
a.       Siswa boleh mengambil satu atau dua seminar.
b.      Setiap siswa dibimbing oleh salah satu diantara 2 instruktur seminar tsb.
c.       Setiap instruktur boleh hanya mengambil satu seminar saja.
Pada contoh ini no_siswa dan seminar menunjuk seorang
instruktur :
Relasi seminar
Bentuk relasi seminar adalah bentuk normal ketiga, tetapi tidak BCNF karena nomor seminar masih bergantung fungsi pada instruktur, jika setiap instruktur dapat mengajar hanya pada satu seminar. Seminar bergantung fungsi pada satu atribute bukan superkey seperti yg disyaratkan oleh BCNF. Maka relasi seminar haruslah dipecah menjadi dua yaitu :
Relasi pengajar






6.   Bentuk Normal Ke Empat (4 NF)
Relasi R adalah bentuk 4 NF  jika dan hanya jika relasi tersebut juga termasuk BCNF dan semua ketergantungan multivalue adalah juga ketergantungan fungsional

7.   Bentuk Normal Ke Lima (5 NF)
Disebut juga PJNF (Projection Join Normal Form) dari 4 NF dilakukan dengan menghilangkan ketergantungan join yang bukan merupakan kunci kandidat.

EFEK-EFEK NORMALISASI
 KASUS PENERAPAN NORMALISASI
  PT. SANTA PURI                              FAKTUR PEMBELIAN BARANG
 Jalan senopati 11
 yogyakarta

 Kode Suplier        : G01                           Tanggal           : 05/09/2000
 Nama Suplier       : Gobel Nustra             Nomor : 998



Buatlah bentuk Normalisasi dari dokumen berikut ini :

Kartu pengobatan masyarakat
No Pasien : 1234/PO/IV/99                                                                                        Tanggal Pendaftaran : 1 Mei 1999
Data Pasien dari, NOPEN : 1000019999                                                       Nama Pasien : Bachtiar Jose
Alamat Pasien, Jalan : Kebon Jeruk No. 27                                                 Kelurahan : Palmerah
Kecamatan : Kemanggisan                                                                                        Wilayah : Jakarta Barat
Kode Pos :11530                                                                                                                    Telepon : 5350999










Komentar

Postingan Populer