PENGENALAN BASIS DATA
“Hallo, apakabar sobat blogger? Saya harap sahabat blogger semua selalu dalam lindungan-Nya. Kali ini saya akan sedikit membagi ilmu saya tentang Basis Data yang saya telah pelajari pada satu semester ini. Ok, tanpa basa-basi mari kita mulai mengenal basis data yah :D”.
Pengertian Data dan Informasi
Sahabat blogger pasti bertanya-tanya, apasih sebenarnya Basis Data itu? Eitts, sabar dulu ya sahabat blogger, kita mulai dari yang sederhana dulu
Data
Respresantasi untuk mewakili nilai fakta dunia nyata. Representasi data dapat berupa nilai numerik, alphanumerik, gambar, suara, video, dan lain-lain. Fakta dunia nyata dapat berupa barang, kejadian, aktivitas, perasaan dan semua tentang dunia nya.
Informasi
Data yang telah dikelola dalam bentuk tertentu untuk memberikan makna atau arti bagi penerimanya.
Kualitas data dan informasi dipengaruhi oleh hal-hal sebagai berikut:
• Benar merepresentasikan dunia nyata, dan
• Tepat waktu, dan
• Tepat penggunaan.
Pengertian Basis Data
Basis
Markas / gudang, tempat berkumpul.
Data
Fakta yang mewakili suatu objek seperti manusia, barang, hewan peristiwa, keadaan dan sebagainya, yang direkam dalam bentuk angka, huruf simbol, teks gambar, bunyi atau kombinasinya.
Kesimpulannya :
Basis Data merupakan informasi berasal dari kumpulan data yang disimpan secara terstruktur pada sebuah sistem.
Tujuan dibuatnya Basis Data
Sahabat blogger, dibawah ini adalah beberapa tujuan dari dibuatnya basis data diantaranya yaitu:
l Kecepatan & kemudahan (speed)
l Efisiensi ruang penyimpanan (space)
l Keakuratan (accuracy)
l Ketersediaan (availability)
l Kelengkapan (completeness)
l Keamanan (security)
l Kebersamaan pemakaian (sharability)
Pengertian Sistem Basis Data (Data Base Management System)
Sistem basis data
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.
MODEL ENTITY-RELATIONSHIP
“Sahabat blogger, setelah kita memahami dan mengerti apa yang dimaksud dari basis data, selanjutnya kita akan mengenal bagaimana penggunaan basis data pada Model Entity Relationship”.
Pengertian
Model data konseptual tingkat tinggi untuk perancangan basis data.
Komponen-komponen utama model ER
Entitas (entity), Entitas memodelkan objek-objek yang berada diperusahaan/lingkungan.
Relationship. Relationship memodelkan koneksi/hubungan di antara entitas-entitas.
Atribut-atribut (properi-properti), memodelkan properti-properti dari entitas dan relationship.
Konstrain-konstrain (batasan-batasan) integritas, konstrain-konstrain ketentuan validitas.
Entitas
Merupakan individu yang mewakili sesuatu yang nyata (eksistensinya) dan dapat dibedakan dari sesuatu yang lain
Atribut
Pengertian
Sesuatu yang mendeskripsikan karakteristik (property) dari entitas tersebut.
l Tipe–tipe atribut dapat dibedakan:
l Simple dan Composite
l Single value dan multivalued
l Derived attribute
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.
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.
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.
Relasi
Relasi menggambarkan hubungan antara entitas satu dengan entitas yang lain sesuai dengan proses bisnisnya. Notasi relasi didalam diagram ER digambarkan dengan notasi belah ketupat.
Derajat Himpunan Relasi
Berdasarkan jumlah entitasnya:
nary (Hanya me-relasi-kan 1 entitas)
Binary (Me-relasi-kan 2 entitas)
ernary (Me-relasi-kan 3 entitas)
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 dibagi menjadi:
Satu ke Satu
Relasi di atas menggambarkan bahwa untuk setiap entitas di himpunan entitas
A berpasangan dengan maksimal 1 entitas di himpunan entitas B. 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
Relasi di atas menggambarkan bahwa untuk setiap entitas di himpunan entitas A berpasangan dengan banyak entitas di himpunan entitas B. 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
Relasi di atas menggambarkan bahwa untuk setiap entitas di himpunan entitas A berpasangan dengan maksimal 1 entitas di himpunan entitas B. 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
Relasi di atas menggambarkan bahwa untuk setiap entitas di himpunan entitas A berpasangan dengan maksimal banyak entitas di himpunan entitas B. 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.
Diagram ER
Definisi
Merupakan diagram model konseptual untuk menggambarkan struktur logis dari basisdata berbasis grafis.
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
Tabel - tabel mengenai ERD
KONVERSI ER KE BASIS DATA REALTIONAL
“Sahabat blogger, kali ini kita akan memahami bagaimana caranya untuk mengkonversikan ER Diagram ke bentuk tabel. Saya harap sahabat blogger bisa mengerti dan paham pada bagian ini, karena pada bagian ini memang perlu sedikit kerja keras kita untuk memahaminya”.
Pemodelan ER adalah pemodelan konseptual sebuah basis data relasional. Desain ER bisa di konversikan kedalam bentuk tabel fisik yang akan di simpan di dalam basis data.
Himpunan Entitas Lemah
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.
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).
Spesialisasi dan Generalisasi
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.
Sifat dari spesialisasi adalah inheritan atribut yaitu atribut pada level tinggi secara otomatis akan di turunkan pada level di bawahnya. Spesialisasi biasa dilambangkan dengan IS A
Generalisasi merupakan proses desain bottom-up dengan mengkombinasikan jumlah himpunan entitas yang digunakan secara bersama sama. Spesialisasi dan generalisasi sama sama digambarkan dengan notasi IS A, yang membedakan adalah sudut pandangnya saja. Jika Spesialisasi kita mendefinisikan entitas secara umum kemudian mencari subgroup dari entitas tersebut, tetapi generalisasi memandang sebaliknya, dari adanya subgroup subgroup yang berbeda kemudian di cari entitas umum yang mewakili 2 himpunan entitas tersebut.
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
Skema ER ke Tabel
Penurunan skema dimaksudkan untuk mengubah sebuah konsep hubungan entitas dan relasi kedalam bentuk fisik tabel tabel yang berelasi.
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)
Representasi Atribut menjadi Kolom
Pada atribut bertipe simple , single dan derived direpresentasikan sama persis seperti diagram ER. Tetapi untuk atribut komposit dan multivalued mempunyai aturan tersendiri.
Atribut komposit akan dipecah dengan membuat atribut terpisah untuk masing masing komponennya. Contoh atribut nama pada tabel mahasiwa, di pecah menjadi 2 kolom yaitu nama depan dan nama belakang.Atribut multivalued mengharuskan untuk di pecah menjadi 2 Tabel. Atribut multivalued M dari entitas E direpesentasikan oleh tabel terpisah EM. Perhatikan gambar di bawah yang menunjukkan bagaimana penurunan sebuah
atribut multivalued :
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 :
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.
Hubungan kardinalitas dengan tabel yang terbentuk
Kardinalitas relasi dari Himpunan Entitas yang saling ber-relasi akan menentukan banyaknya tabel yang bisa di buat. Adapun aturannya sebagai berikut :
• 1 ke 1
Pilih primary key di 1 himpunan entitas untuk menjadi foreign key bagi himpunan entitas yang lain.
• 1 ke banyak / banyak ke 1
Primary key pada Tabel berkardinalitas sedikit menjadi foreign key pada tabel berkardinalitas banyak.
• Banyak ke banyak
Digambarkan pada bab 3.7.1
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)
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 tabeltabel spesialisasi.
Representasi Agregasi
Untuk merepresentasikan agregasi, buatlah tabel yang terdiri dari :
– Foreign key dari himpunan entitas yang berhubungan
– Setiap atribut deskriptif
– Atribut baru untuk primary key di tabel relasi
NORMALISASI
“Sahabat blogger, setelah kita bisa mengkonversikan ER diagram kedalam bentuk tabel, ada beberapa tahap lagi agar ER Diagram dan Tabel kita menjadi lebih baik lagi, yaitu dengan cara normalisasi. Pasti sahabat blogger bertanya, apa sih sebenarnya normalisasi itu? Untuk menjawab pertanyaan dari sahabat blogger, dibawah ini akan dipaparkan mengenai normalisasi”.
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)
Tujuan Normalisasi
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.
Bentuk Normal dan Langkah-Langkah Normalisasi
Bentuk Normal adalah sekumpulan kriteria yang harus dipenuhi oleh sebuah desain tabel untuk mencapai tingkat/level bentuk normal tertentu. Parameter yang biasanya digunakan dalam menentukan kriteria bentuk normal adalah Functional dependency & The Three Keys. Masing-masing bentuk normal memiliki kriteria dan level tertentu yang tidak
mungkin dicapai tanpa memenuhi kriteria bentuk nomal level yang berada di bawahnya. Makin tinggi level bentuk normal yang dicapai maka kualitas desain tabel tersebut dinyatakan makin baik dan semakin kecil peluang terjadinya anomali dan redundansi data.
Normalisasi dilakukan dengan cara menerapkan Bentuk-Bentuk Normal secara bertahap dari level terendah sampai level yang dikehendaki. Walaupun ada beberapa bentuk normal namun jika desain tabel tertentu sudah memenuhi kriteria 3rd NF atau BCNF maka desain tabel itu biasanya dianggap sudah ‘cukup normal’.
Bentuk Normal Pertama (1st Normal Form)
Bentuk normal pertama atau First Normal Form (1st NF) adalah bentuk normal yang memiliki level terendah.
Kriteria 1’st NF:
- Tidak ada atribut (kolom) pada tabel yang bersifat multi-value
Sebuah atribut disebut bersifat multivalue jika dalam sebuah baris data pada kolom tersbut terdapat lebih dari satu nilai.
- Tidak memiliki lebih dari satu atribut dengn domain yang sama
Sebuah tabel dikatakan memiliki lebih dari satu atribut dengan domain yang sama jika pada tabel tersebut terdapat lebih dari satu kolom yang digunakan untuk menyimpan data yang jenisnya sama.
è Contoh (atribut multi-valued)
Misal data mahasiswa sbb:
Atau:
Tabel-tabel di atas tidak memenuhi syarat 1NF Didekomposisi menjadi:
Ø Tabel Mahasiswa
Ø Tabel Hobi
è Contoh 2 (composite)
Jadwal Kuliah
KodeMK
|
NamaMK
|
Dosen
|
Kelas
|
Jadwal
|
Ø Dimana nilai pada atribut jadwal berisi gabungan antara Hari dan Jam.
Ø Jika asumsi hari dan jam memegang peranan penting dalam sistem basis data, maka atribut Jadwal perlu dipisah sehingga menjadi JadwalHari dan JadwalJam sbb:
Jadwal Kuliah
KodeMK
|
NamaMK
|
Dosen
|
Kelas
|
JadwalHari
|
JadwalJam
|
Bentuk Normal Ke Dua (2nd Normal Form)
Kriteria 2nd NF:
• Memenuhi 1st NF
Desain tabel yang tidak memenuhi syarat 1st NF sudah pasti tidak akan memenuhi syarat 2nd NF
• Tidak ada Partial Functional dependency
Partial Functional dependency terjadi bila (B,C) adalah candidate key dan B ke A
Contoh
Tabel berikut memenuhi 1NF tapi tidak termasuk 2NF:
nim
|
mhs_nama
|
mhs_alamat
|
mk_kode
|
mk_nama
|
mk_sks
|
nilai
|
Ø Tidak memenuhi 2NF, karena {Mhs_nrp, mk_kode} yang dianggap sebagai primary key sedangkan:
{nim, mk_kode} à mhs_nama (karena mhs_nama tidak bergantung dengan mk_kode)
{nim, mk_kode} à mhs_alamat (karena mhs_alamat tidak bergantung dengan mk_kode)
{ nim, mk_kode} à mk_nama (karena mk_nama tidak bergantung dengan mk_kode)
{ nim, mk_kode} à mk_sks (karena mk_sks tidak bergantung pada nim)
{ nim, mk_kode} à nilai
Ø Tabel di atas perlu didekomposisi menjadi beberapa tabel yang memenuhi syarat 2NF
Functional dependencynya sbb:
fd1 (nim, mk_kode, nilai) à Tabel Nilai
fd2 (nim, mhs_nama, mhs_alamat) à Tabel Mahasiswa
fd3 (mk_kode, mk_nama, mk_sks) à Tabel MataKuliah
Bentuk Normal Ke Tiga (3rd Normal Form)
Umumnya jika sebuah tabel telah memenuhi syarat bentuk normal ke tiga (3rd NF) maka tabel tersebut sudah dianggap ‘cukup normal’. Bentuk normal ke 3 adalah bentuk normal yang biasanya menjadi syarat minimum bagi sebuah desan tabel walaupun akan lebih baik jika juga memenuhi BCNF.
Kriteria 3rd NF:
• Memenuhi 2nd NF Desain tabel yang tidak memenuhi syarat 2nd NF sudah pasti tidak akan memenuhi syarat 3rd NF
• Tidak ada Transitive Functional dependency Transitive functional dependency terjadi bila A ke B dan B ke CTransitive dependency
Definisi:
Atribut Z pada relasi R dikatakan tergantung transitif pada atribut X, jika atribut Y tergantung pada atribut X pada relasi R dan atribut Z tergantung pada atribut Y pada relasi R. (XàY, YàZ, maka XàZ)
Contoh
Nrp
|
Nama
|
Alm_Jalan
|
Alm_Kota
|
Alm_Provinsi
|
Alm_Kodepos
|
Ø karena masih terdapat atribut non primary key (yakni alm_kota dan alm_Provinsi) yang memiliki ketergantungan terhadap atribut non primary key yang lain (yakni alm_kodepos):
alm_kodepos à {alm_Provinsi, alm_kota}
Sehingga tabel tersebut perlu didekomposisi menjadi:
· Mahasiswa (Nrp, nama, alm_jalan, alm_kodepos)
· Kodepos (alm_kodepos, alm_provinsi, alm_kota)
Bentuk Normal Boyce Codd (BC Normal Form)
Boyce Codd Normal Form atau bentuk normal Boyce-Codd adalah
bentuk normal yang levelnya di atas 3rd NF.
Kriteria BCNF:
• Memenuhi 3rd NF
Desain tabel yang tidak memenuhi syarat 3rd NF sudah pasti tidak akan memenuhi syarat BCNF
• Untuk semua FD yang terdapat di tabel, ruas kiri dari FD tersebut adalah super key
Jika ada satu saja FD pada tabel dimana ruas kirinya bukan super key maka desain tabel tersebut belum memenuhi syarat BCNF. Solusinya adalah dengan melakukan dekomposisi tabel dan tetap mempertahankan konsistensi data seperti beberapa contoh pada sub bab sebelumnya
Bentuk-Bentuk Normal Lainnya
Selain bentuk-bentuk normal yang sudah diperkenalkan pada beberapa sub bab sebelumnya, masih ada beberapa bentuk-bentuk normal lain.
Beberapa diantaranya adalah sebagai berikut:
1. Bentuk Normal ke-4 (4th NF) diperkenalkan oleh Ronald Fagin pada tahun 1977
2. Bentuk Normal ke-5 (5th NF) diperkenalkan oleh Ronald Fagin pada tahun 1979
3. Domain/Key Normal Form (DKNF) diperkenalkan oleh Ronald Fagin pada tahun 1981
4. Bentuk Normal ke-6 (6th NF) diperkenalkan oleh Date, Darwen dan Lorentzos pada tahun 2002.
“Cukup sekian dulu yah sahabat blogger postingan saya kali ini mengenai Basis Data, semoga sahabat blogger bisa memaklumi apa bila postingan saya kali ini masih banyak kekurangannya dan semoga postingan saya kali ini bisa menambah wawasan sahabat blogger semua. Akhir kata saya mengucapkan terimakasih”.
Sumber:
l Diktat Kuliah IK-330 Basis Data oleh Bapak Budi Laksono Putro S.Si, M.T.
l Beberapa Referensi lainnya.