Tidak ada
satu pun sesuatu yang tidak memiliki arti di dunia ini, karena segala
sesuatu dalam hidup pasti memiliki suatu keterkaitan satu sama lain.
Sama halnya dengan basis data yang memiliki banyak keterkaitan
dari berbagai aspek kehidupan, maka sangat beruntunglah orang-orang yang
mempelajari basis data. Cara agar kita dapat memanfaatkan basis data
dengan sebaik mungkin yaitu terlebih dahulu kita mengetahui dan mengerti
konsep basis data. mengetahui mengenai komponen-komponen sistem basis
data, dan mengetahui mengenai abstraksi data dan Database Language.
1.1 Pengertian Basis Data, Data dan Informasi
Data merupakan respresantasi untuk mewakili nilai fakta dunia nyata. data dapat merepresentasikan nilai fakta dunia nyata dengan berbagai cara, bisa dengan numerik, alphanumerik, gambar, suara, video, dan lain-lain. Fakta dunia nyata dapat berupa barang, kejadian, aktivitas, perasaan dan semua tentang dunia nya. sedangkan basis dapat diartikan sebagai kumpulan, dimana kumpulan tersebut menjadi sistem yang memiliki input - proses - output untuk menjadi satu .
Data dan
Informasi tentu saja memiliki kualitasnya tersendiri, dimana kualitas
tersebut dipengaruhi oleh hal-hal berikut :
1.1 Pengertian Basis Data, Data dan Informasi
Data merupakan respresantasi untuk mewakili nilai fakta dunia nyata. data dapat merepresentasikan nilai fakta dunia nyata dengan berbagai cara, bisa dengan numerik, alphanumerik, gambar, suara, video, dan lain-lain. Fakta dunia nyata dapat berupa barang, kejadian, aktivitas, perasaan dan semua tentang dunia nya. sedangkan basis dapat diartikan sebagai kumpulan, dimana kumpulan tersebut menjadi sistem yang memiliki input - proses - output untuk menjadi satu .
Dapat disimpulkan, maka Basis data adalah
adalah sekumpulan data yang disimpan secara sistematis di dalam
komputer dan dapat diolah atau dimanipulasi menggunakan perangkat
lunak untuk menghasilkan informasi. Informasi adalah data yang telah dikelola dalam bentuk tertentu untuk memberikan makna atau arti bagi penerimanya.
• Merepresentasikan fakta dunia nyata dengan Benar (akurat)
• Tepat waktu, dan
• Tepat penggunaan.
• Tepat waktu, dan
• Tepat penggunaan.
Data dan Informasi merupakan dua hal penting dalam kehidupan, karena Data dan Informasi dapat berperan sebagai sebuah sumber daya penting, sama seperti Sumber Daya Manusia, Keuangan, dll. Data dan Informasi juga dapat diperlakukan sebagai asset penting perusahaan/organisasi. Data dan Informasi nilainya akan bertambah bila dikelola dengan “baik dan semestinya”. Kegagalan dalam pengelolaan data akan berakibat ketimpangan dalam pengelolaan sumberdaya lainnya dalam organisasi dan berakibat negatif bagi jalannya organisasi atau bisnis.
Siklus informasi adalah suatu gambaran yang menjelaskan bagaimana proses dari sebuah data diolah, lalu dijadikan informasi sehingga bermanfaat bagi pengguna. Informasi yang menghasilkan informasi berikutnya. Demikian seterusnya proses pengolahan data menjadi informasi.
Berikut gambar dari siklus informasi :
1.2 Tujuan dan alasan menggunakan basis data
Segala sesuatu yang diciptakan didunia ini pasti memiliki tujuan, bahkan sebutir pasir pun diciptakan memiliki tujuan. dan tujuan dari dibangunnya basis data adalah :
1. Kecepatan & kemudahan (speed)
Waktu adalah uang, maka hematlah waktu anda sebagaimana anda menghemat uang anda. Basis data memudahkan kita memungkinkan kita untuk dapat menyimpan data atau melakukan perubahan/ manipulasi terhadap data atau menampilkan kembali data tersebut secara lebih cepat dan mudah.
2. Efisiensi ruang penyimpanan
Basis data dapat menyelamatkan system storage anda. Dengan basisdata, efisiensi ruang penyimpanan dapat dilakukan dengan menerapkan sejumlah pengkodean, atau dengan membuat relasi-relasi antar kelompok data yang saling berhubungan.
3. • Keakuratan (accuracy)
Semakin akurat data, maka semakin tinggi kualitasnya. pembentukan relasi antar data bersama dengan penerapan aturan/batasan (constraint), domain data, keunikan data, dsb, yang secara ketat dapat diterapkan dalam sebuah basis data, dan sangat berguna untuk menekan ketidak akuratan penyimpanan data.
4. Ketersediaan (availability)
Dengan pemanfaatan jaringan komputer, maka data yang berada di suatu lokasi/cabang dapat juga diakses (tersedia/available) bagi lokasi/cabang lain.
5. Kelengkapan (completeness)
Kelengkapan data yang disimpan dalam sebuah database bersifat relatif, bisa jadi saat ini dianggap sudah lengkap, tetapi belum tentu pada suatu saat dianggap lengkap. Untuk mengakomodasi kelengkapan data, seperti
6. Keamanan (security)
dengan menggunakan database, keamanan data anda akan semakin baik karena aspek keamanan dapat diterapkan dengan ketat, dengan begitu kita dapat menentukan pemakai basis data serta obyek-obyek didalamnya ,serta jenis-jenis operasi apa saja yang boleh dilakukannya.
7. Kebersamaan pemakaian (sharability)
Basis data yang dikelola dengan aplikasi multi user dapat memenuhi kebutuhan ini.
Alasan mengapa mempelajari basis data :
Alasan mengapa mempelajari basisdata :
• Perpindahan dari komputasi ke informasi
• Himpunan elemen data semakin banyak dan beragam, sebagai contohperpustakaan digital.Video interaktif kebutuhan untuk memperluas DBMS
• DBMS mencakup bidang ilmu lain, sebagai contoh:System operasi, bahasa pemrograman, teori komputasi, AI, logika, multimedia.
1.3 Perkembangan Basis Data
Perkembangan basis data dapat direpresentasikan dengan pemetaan tabel berikut :
.
'
1.4 DMBS dan sistem basis data
DBMS (Database Management System) merupakan suatu perangkat lunak / software yang digunakan untuk mengelola dan memanggil query dari basisdata. DBMS memiliki beberapa karakteristik sebagai berikut :
• Supplements operating sistem
• Manages data ( Manajemen data )
• Queries data and generates reports
• Data security ( keamanan data )
Sistem basis data adalah
suatu sistem yang terdiri dari kumpulan file yang saling berhubungan
dan dikelola oleh program perangkat lunak (dalam hal ini dikelola oleh
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)
Komponen-komponen pada sebuah sistem basis data gambar1-4 terdiri antara lain:
• Perangkat keras• Sistem operasi
• Basis data
• DBMS (Database Management System)
• Pemakai
• Aplikasi lain
Tujuan
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 dalam bagaimana melihat data
dalam sebuah sistem basis data. Berikut ini tiga level abstraksi data:
1.5 Model Basis Data
Berikut ini adalah beberapa model basis data:
b. Hierarchical
1.6 Basis Data Relational
Model basis data Relational ( database relasi )
menggunakan sekumpulan tabel dua dimensi ( yang disebut relasi atau
tabel ), dengan masing-masing relasi tersusun atas tupel atau baris dan
atribut. DBMS yang memiliki model relasional biasa disebut Relational Data Base Management System
( RDBMS ). Model database ini dikemukakan pertamakali oleh EF codd,
seorang pakar basisdata. Model database relasi merupaka model yang
banyak digunakan karena lebih sederhana dari model lainnya.
Model database relasi merupakan model database yang paling banyak digunakan saat ini, karena paling sederhana dan mudah digunakan serta yang paling penting adalah kemampuannya dalam mengakomodasi berbagai kebutuhan pengelolaan database. Sebuah database dalam model ini disusun dalam bentuk tabel dua dimensi yang terdiri dari baris (record) dan kolom (field), pertemuan antara baris dengan kolom disebut item data (data value), table-tabel yang ada di hubungkan (relationship) sedemikian rupa menggunakan field-field kunci (Key field) sehingga dapat meminimalkan duplikasi data.
Tingkata data dalam database relasi dapat direpresentasikan oleh gambar berikut :
• Karakter (Characters)
* Table/Entity ( entitas )
Entitas
adalah sesuatu yang diidentifikasi dari suatu sistem database, bisa
berupa objek, orang, tempat, kejadian atau konsep yang informasinya akan
disimpan di database. Misal. Pada sistem database akademik, yang
menjadi entity adalah, mahasiswa, dosen, matakuliah dan lain-lain. Dalam
aplikasi nantinya, penggunaan istilah Entity sering di samakan dengan
istilah Tabel. (Entity = table). Disebut tabel, karena dalam
merepresentasikan datanya di atur dalam bentuk baris dan kolom. Baris
mewakili 1 record dan kolom mewakili 1 field. Dalam sistem database
tradisional, entity/table ini disebut juga dengan file.
1.7 Bahasa Basis Data
MySQL adalah
perangkat lunak sistem manajemen basis data relasional atau Relational
Database Management System (RDBMS). Singkatnya MySQL adalah
alat/software untuk memanage/mengatur database. Sedangkan SQL
(Structured Query Language) adalah bahasa/sintaks-sintaks perintah
tertentu untuk mengatur database. Jadi MySQL adalah software-nya, dan
SQL adalah sintaks perintahnya.Semua perintah SQL dibagi dalam 2
kategori besar sesuai fungsinya, yaitu :
• DDL - Data Definition Language
.Data
Definition Language (DDL) Data Definition Language (DDL) digunakan untuk
mendefinisikan, mengubah dan menghapus basis data dan objek-objek yang
diperlukan, misalnya tabel, view, user, index dan sebagainya.DDL biasa
digunakan oleh DBA dalam pembuatan sebuah aplikasi basis data. Secara
umum DDL yang digunakan ada empat, yaitu
- CREATE untuk membuat objek baru
- ALTER untuk mengubah objek yang sudah ada
- DROP untuk menghapus objek yang sudah ada
- Merupakan kumpulan perintah SQL yang digunakan untuk proses pengolahan isi data di dalam table seperti memasukkan, merubah dan menghapus isi data - dan tidak terkait dengan perubahan struktur dan definisi tipe data dari objek database. 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.
berikut :
a. Pengambilan informasi yang disimpan dalam basis data (Select)
b. Penyisipan informasi baru ke basis data (Insert)
c. Penghapusan informasi dari basis data (Delete)
d. Modifikasi informasi yang disimpan dalam basis data (Update)
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 me-load class yang ditulis menggunakan bahasa pemrograman java kedalam database
.
5. Authorization
Bahasa basis data untuk mendefinisikan hak akses spesifik terhadap objek-objek basis data.
II. Entity Relationship Diagram ( ERD )
1.1 Pengenalan Entity Relationship Diagram
Dalam segala aspek kehidupan, segala sesuatu itu memiliki hubungan. Baik hubungan dengan sesamanya ataupun hubungan dengan jenis yang berbeda. begitupun basisdata, hubungan - hubungan antar entitas dalam basis data dapan direpresentasikan atau digambarkan dengan ERD ( Entity Relationship Diagram). Model Entity-Relationship adalah model data konseptual tingkat tinggi untuk perancangan basis data. Model data konseptual adalah himpunan konsep yang mendeskripsikan struktur basis data, transaksi pengambilan dan pembaruan basis data.
Agar dapat memahamimengerti pembahasan Entity Relationship Diagram dengan mudah, perlu memahami definisi salah pemodelan konseptual basis data menggunakan ER dan memahami Konsep Entitas, Atribut, Relasi dan Kardinalitas relasi.
1.2 Komponen - komponen utama Entity Relationship Diagram
1. Entitas (entity)
Entitas melambangkan objek yang terdapat dalam basis data. Entitas merupakan individu yang mewakili sesuatu yang nyata (eksistensinya) dan dapat dibedakan dari sesuatu yang lain. Sebuah kursi yang kita duduki, seseorang yang menjadi pegawai di sebuah perusahaan dan sebuah mobil yang melintas di depan kita adalah entitas.
Sekelompok entitas yang sejenis dan berada dalam lingkup yang sama membentuk sebuah himpunan entitas (entity sets). Sederhananya, entitas menunjuk pada individu suatu objek, sedang himpunan entitas menunjuk pada rumpun (family) dari individu tersebut.
Entitas adalah objek yang dirasa penting di sistem tersebut, yg bisa berupa :
• Objek Konkrit
Contoh : Orang, Mobil, Buku
• Objek Abstrak
Contoh : Penjualan, Jadwal, Pinjaman, Tabungan
2. Relationship (relasi)
Relationship memodelkan koneksi/hubungan di antara entitas-entitas. Entity Relationship Diagram memperlihatkan bahwa setiap entitas - entitasnya di hubungkang dengan 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
1. Unary = Merelasikan satu entitas
2. Binary = merelasikan dua entitas
3. Ternary = Merelasikan tiga entitas
2.5 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 :
1. satu ke satu
dari gambar tersebut dapat disimpulkan bahwa setiap satu entitas hanya dapat mempunyai maksimal 1 entitas.
2. satu ke banyak
gambar tersebut menujukan bahwa untuk setiap entitas di himpunan entitas pertama b erpasangan dengan banyak entitas di himpunan entitas kedua. Dari pertama ke kedua kardinalitasnya maksimal adalah banyak, dan dari dari kedua ke pertama maksimalnya adalah 1. Oleh karena itu relasi ini berkardinalitas 1 ke banyak.
3. banyak ke satu
gambar tersebut bahwa untuk setiap entitas di himpunan entitas pertama berpasangan dengan maksimal 1 entitas di himpunan entitas kedua. Dari pertama ke kedua kardinalitasnya maksimal adalah 1, dan dari kedua ke pertama kardinalitasnya maksimal adalah banyak. Oleh karena itu relasi ini berkardinalitas banyak ke 1.
4. banyak ke banyak
Relasi di atas menggambarkan bahwa untuk setiap entitas di himpunan entitas pertama berpasangan dengan maksimal banyak entitas di himpunan entitas kedua. Dari pertama ke kedua kardinalitasnya maksimal adalah banyak, dan dari kedua ke pertama kardinalitasnya maksimal adalah banyak. Oleh karena itu relasi ini berkardinalitas banyak ke banyak.
3.Atribut-atribut (properi-properti)
memodelkan properti-properti dari entitas dan relationship. Setiap entitas pasti memiliki atribut yang mendeskripsikan karakteristik (property) dari entitas tersebut. Penentuan / pemilihan atribut-atribut yang relevan bagi sebuah entitas merupakan hal penting lainnya dalam pembentukan model ER. Contoh: nim, nama, alamat, kode. Setiap atribut mempunyai domain value set yaitu batasan batasan yg dibolehkan bagi suatu atribut.
Tipe–tipe atribut dapat dibedakan sebagai berikut :
• 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.
Berikut contoh attribut komposit
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.
4. Konstrain-konstrain
(batasan-batasan) integritas, konstrain-konstrain ketentuan validitas.
2.6 Key
key digunakan 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.
Berikut adalah macam - macam key :
- Superkey
kumpulan attribut 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 <--- paling sering digunakan
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 baik
Contoh dari primary key adalah Nim
TAHAPAN PEMBUATAN ENTITY RELATIONSHIP DIAGRAM
dari uraian diatas dapat disimpulkan bahwa tahapan-tahapan untuk pembuatan ER diagram adalah sebagai berikut :
1. Mengidentifikasikan dan menetapkan seluruh himpunan entity yang akan terlibat.
2. Menentukan atribut-atribut dari setiap entity.
3. Menentukan atribut primary key dari setiap entity.
4. Menentukan relationship antar entity.
5. Menentukan atribut-atribut dari setiap relationship (jika ada).
6. Menentukan Cardinality Rasio.
7. Menentukan Participation Constraint.
III. KONVERSI ER KE BASIS DATA
RELATIONAL
ER adalah sebuah model yang konseptual dari basis data relational. Desain ER bisa di konversikan atau di ubah mejadi bentuk tabel yang akan di simpan di dalam basis data. bab ini juga akan membahas weak entity, spesialisasi, agregasi dan penurunan Diagram ER ke bentuk tabel. yang utama dari pembahasan kali ini adalah kapan dan bagaimana kita menggunakan weak entity, spesilisasi dan agregasi dan bagaimana menurunkan konseptual ER kedalam tabel.
Untuk dapat lebih mengerti konversi ER ke basis data relational, diharapkan untuk memahami konsep Weak Entity, Spesialisasi dan Agregasi dan memahami konsep penurunan dari Diagram ER ke Tabel.
3.1 Himpunan Entitas Lemah
Himpunan Entitas Lemah pada umumnya selalu bergantung pada entitas lain dan tidak memiliki primary key. Notasi entitas lemah dilambangkan dengan double persegi panjang, sedangkan relasi untuk himpunan entitas lemah dilambangkan 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.
contoh himpunan entitas lemah :
Gambar diatas menjelaskan bahwa seorang pekerja mendapatkan 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 atau 1 ke banyak dengan kardinalitas 1 di himpunan entitas yang lebih kuat.
3.2 Spesialisasi dan Generalisasi
Spesialisasi adalah suatu 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.Generalisasi merupakan proses desain bottom-up dengan mengkombinasikan jumlah himpunan entitas yang digunakan secara bersama sama. Spesialisasi dan generalisasi sama sama digambarkan dengan notasi ISA, 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.
3.3 Agregasi
Agregasi merupakan hubungan antara satu object dengan object lainnya dimana object satu dengan object lainnya sebenarnya terpisah namun disatukan. sehingga tidak terjadi kebergantungan (Object lain bisa ada walau object penampungnya tidak ada ). contoh dalam dunia nyatanya adalah object pemain bola dan klub bola dimana pemain bola bisa tetap ada walau tidak ada klub bola.
3.4 Ringkasan Notasi simbol ER
3.5 Skema ER ke Tabel
Penurunan skema itu dibutuhkan karena 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.6 Representasi Atribut menjadi Kolom
Atribut bertipe simple , single dan derived direpresentasikan sama persis seperti diagram ER. Tetapi untuk atribut komposit dan multivalued mempunyai aturan representasi 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 :
3.7 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 :
IV. NORMALISASI
Segala sesuatu akan baik jika berada di dalam bentuk normalnya. Di dalam database pun telah dikenal yang namanya bentuk normal atau sering disebut NF ( Normal Form ). di dalam pembahasan kali ini akan dibahas tentang konsep normalisasi database beserta konsep-konsep lain yang mendasarinya.
untuk dapat mengerti tentang normalisasi basis data, diperlukan untuk memahami definisi dan tujuan normalisasi, mengidentifikasi super key, candidate key dan primary key dari sebuah table, mengidentifikasi functional dependency yang ada pada sebuah tabel, termasuk partial dan transitive FD, mengenal bentuk normal pertama, ke dua, ke tiga dan BCNF serta mampu melakukan normalisasi dengan menerapkan bentuk-bentuk normal tersebut, dan mengenal sekilas tentang bentuk-bentuk normal lain dan memahami konsep denormalisasi.
4.1 Pengertian Normalisasi
Apa itu normalisasi? Menurut (E.F. Codd, 1970) 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.
4.2 Tujuan Normalisasi
tujuan dari dinormalisasikannya suatu model database yaitu untuk memperbaiki desain tabel yang kurang baik sehingga penyimpanan data menjadi lebih efisien dan bebas anomali data. Untuk memperjelas pemahaman tentang proses normalisasi. selain itu, normalisasi juga berperan untuk mengurangi redudansi data. perhatikan gambar dibawah ini :
gambar diatas menunjukan Desain table awal sebagai Input, Normalisasi Berlaku sebagai proses untuk mendapatkan output berupa desain tabel yang lebih efisien dan non-anomali.
tujuan normalisasi secara rinci adalah sebagai berikut :
-Untuk menghilang kerangkapan data
-Untuk mengurangi kompleksitas
Segala sesuatu akan baik jika berada di dalam bentuk normalnya. Di dalam database pun telah dikenal yang namanya bentuk normal atau sering disebut NF ( Normal Form ). di dalam pembahasan kali ini akan dibahas tentang konsep normalisasi database beserta konsep-konsep lain yang mendasarinya.
untuk dapat mengerti tentang normalisasi basis data, diperlukan untuk memahami definisi dan tujuan normalisasi, mengidentifikasi super key, candidate key dan primary key dari sebuah table, mengidentifikasi functional dependency yang ada pada sebuah tabel, termasuk partial dan transitive FD, mengenal bentuk normal pertama, ke dua, ke tiga dan BCNF serta mampu melakukan normalisasi dengan menerapkan bentuk-bentuk normal tersebut, dan mengenal sekilas tentang bentuk-bentuk normal lain dan memahami konsep denormalisasi.
4.1 Pengertian Normalisasi
Apa itu normalisasi? Menurut (E.F. Codd, 1970) 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.
4.2 Tujuan Normalisasi
tujuan dari dinormalisasikannya suatu model database yaitu untuk memperbaiki desain tabel yang kurang baik sehingga penyimpanan data menjadi lebih efisien dan bebas anomali data. Untuk memperjelas pemahaman tentang proses normalisasi. selain itu, normalisasi juga berperan untuk mengurangi redudansi data. perhatikan gambar dibawah ini :
gambar diatas menunjukan Desain table awal sebagai Input, Normalisasi Berlaku sebagai proses untuk mendapatkan output berupa desain tabel yang lebih efisien dan non-anomali.
tujuan normalisasi secara rinci adalah sebagai berikut :
-Untuk menghilang kerangkapan data
-Untuk mengurangi kompleksitas
-Untuk mempermudah
pemodifikasian data
4.3 Tahapan Normalisasi
Tahapan dari nomralisasi dapat ditunjukan oleh gambar berikut :
Bentuk - bentuk normal :
4.4 Bentuk Normal Pertama (1NF)
Bentuk normal pertama merupakan bentuk normal dengan lever terendah, dan diperlukan tahapan normalisasi berikutnya untuk mencapai kelebih normalan dan keakuratan data.
berikut adalah persyaratan untuk mencapai First Normal Form :
tabel diatas tidak memenuhi First Normal Form, Oleh karena itu perlu dihilangkan atribut multivaluednya dengan di dekomposisi.
tabel dalam bentuk 1st normal form :
4.5 Normalisasi Kedua
Untuk mencapai bentuk normal kedua, dibutuhkan beberapa persyaratan sebagai berikut :
Contoh :
didalam tabel ditunjukan , mhs_nama dan mhs _alamat bergantung pada mhs_nrp. mk_nama dan mk_sks bergantung pada mk_kode. dapat ditarik kesimpulan bahwa didalam tabel tersebut terdapat dua attribut yang menjadi primary key . dalam aturan nomor 2 dan 3 dijelaskan bahwa Semua atribut bukan kunci hanya boleh tergantung (functional dependency) pada atribut kuncidan Jika ada ketergantungan parsial maka atribut tersebut harus dipisah pada tabel yang lain.
maka tabel tersebut perlu dinormalisasi menjadi :
4.6 Normalisasi Ketiga
Jika tabel telah berada dalam bentuk normal ke tiga ( Third Normal Form ) , maka tabel tersebut bisa dianggap cukup normal. Third Normal Form merupakan syarat minimum bagi sebuah desan tabel walaupun akan lebih baik jika juga memenuhi BCNF.
Berikut adalah persyaratan untuk mencapai bentuk normal ketiga ( 3NF ) :
4.8 Bentuk-Bentuk Normal Lainnya
Selain daripada apa yang di bahas sebelumnya, ada bentuk-bentuk normal Form lainnya 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
4.9 Denormalisasi
Denormalisasi merupakan suatu proses untuk menggandakan data secara sengaja (sehingga menyebabkan redundansi atau perulangan data) untuk meningkatkan performa basis data, untuk meningkatkan kecepatan akses data atau memperkecil query cost.
Denormalisasi berbeda dengan normalisasi. Denormalisasi dilakukan setelah tabel dalam kondisi ‘cukup normal’ (mencapai level bentuk normal yang dikehendaki). sedangkan normalisasi dimulai sejak tabel dalam keadaan tidak normal atau belum cukup normal.
Tujuan Denormalisasi :
1. Mempercepat proses query dengan cara meminimalkan cost yang disebabkan oleh operasi join antar tabel
2. Untuk keperluan Online Analytical Process (OLAP)
3. Dan lain-lain
Konsekuensi Denormalisasi :
1. Perlu ruang ekstra untuk penyimpanan data
2. Memperlambat pada saat proses insert, update dan delete sebab proses-proses tersebut harus dilakukan terhadap data yang redundant (ganda)
1.Bentuk Normal Tahap Pertama (1st Normal Form / 1NF)
2.Bentuk Normal Tahap Kedua (2nd Normal Form / 2NF)
3.Bentuk Normal Tahap (3rd Normal Form / 3NF)
4.Boyce-Code Normal Form (BCNF)
5.Bentuk Normal Tahap (4th Normal Form / 4NF)
6.Bentuk Normal Tahap (5th Normal Form / 5NF)
4.4 Bentuk Normal Pertama (1NF)
Bentuk normal pertama merupakan bentuk normal dengan lever terendah, dan diperlukan tahapan normalisasi berikutnya untuk mencapai kelebih normalan dan keakuratan data.
berikut adalah persyaratan untuk mencapai First Normal Form :
1. Tidak
adanya atribut
multi-value, atribut komposit atau kombinasinya.
( atribut multi-value adalah atribut yang bernilai ganda dan dapat dibagi lagi )
2. Mendefinisikan
atribut kunci.
3. Setiap atribut dalam tabel tersebut harus bernilai atomic (tidak dapat dibagi-bagi lagi)
Contoh :
tabel dalam bentuk 1st normal form :
4.5 Normalisasi Kedua
Untuk mencapai bentuk normal kedua, dibutuhkan beberapa persyaratan sebagai berikut :
1. Sudah
memenuhi dalam bentuk normal kesatu (1NF)
2. Semua atribut bukan kunci hanya boleh tergantung (functional
dependency) pada atribut kunci
3. Jika ada ketergantungan
parsial maka atribut tersebut harus dipisah pada tabel yang lain
4. Perlu ada tabel penghubung ataupun kehadiran foreign key bagi atribut-atribut yang telah dipisah tadi
Contoh :
didalam tabel ditunjukan , mhs_nama dan mhs _alamat bergantung pada mhs_nrp. mk_nama dan mk_sks bergantung pada mk_kode. dapat ditarik kesimpulan bahwa didalam tabel tersebut terdapat dua attribut yang menjadi primary key . dalam aturan nomor 2 dan 3 dijelaskan bahwa Semua atribut bukan kunci hanya boleh tergantung (functional dependency) pada atribut kuncidan Jika ada ketergantungan parsial maka atribut tersebut harus dipisah pada tabel yang lain.
maka tabel tersebut perlu dinormalisasi menjadi :
4.6 Normalisasi Ketiga
Jika tabel telah berada dalam bentuk normal ke tiga ( Third Normal Form ) , maka tabel tersebut bisa dianggap cukup normal. Third Normal Form merupakan syarat minimum bagi sebuah desan tabel walaupun akan lebih baik jika juga memenuhi BCNF.
Berikut adalah persyaratan untuk mencapai bentuk normal ketiga ( 3NF ) :
1. Sudah berada dalam bentuk normal kedua (2NF)
2. Tidak ada ketergantungan
transitif (dimana atribut bukan kunci tergantung
pada atribut bukan kunci lainnya).
contoh: tabel berikut memenuhi 2NF, tapi belum memenuhi 3NF:
dapat dilihat bahwa di dalam tabel mahasiswa 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).
Maka dari itu, tabel tersebut perlu didekomposisi menjadi :
4.7 Normalisasi BCNF
Bentuk Normal Boyce-codd Normal Form lebih akurat dari 3NF karena memiliki level ke akuratan yang lebih tinggi.
Persyaratan untuk memenuhi BCNF adalah sebagai berikut :
• Telah memenuhi bentuk normal ketiga ( 3NF )
jika tidak memnuhi 3NF maka tidak akan memenuhi BCNF
jika tidak memnuhi 3NF maka tidak akan memenuhi 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.
pada umumnya tabel yang memenuhi 3NF juga memenuhi BCNF,
jarang ada tabel yang memenuhi 3NF tetapi tidak memenuhi BCNF.
Umumnya sebuah tabel dikategorikan sudah ‘cukup normal’ jika sudah
memenuhi kriteria BCNF. Jika tidak memungkinkan untuk memenuhi kriteria
BCNF, maka 3rd NF juga sudah dianggap cukup memadai.
4.8 Bentuk-Bentuk Normal Lainnya
Selain daripada apa yang di bahas sebelumnya, ada bentuk-bentuk normal Form lainnya 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
4.9 Denormalisasi
Denormalisasi merupakan suatu proses untuk menggandakan data secara sengaja (sehingga menyebabkan redundansi atau perulangan data) untuk meningkatkan performa basis data, untuk meningkatkan kecepatan akses data atau memperkecil query cost.
Denormalisasi berbeda dengan normalisasi. Denormalisasi dilakukan setelah tabel dalam kondisi ‘cukup normal’ (mencapai level bentuk normal yang dikehendaki). sedangkan normalisasi dimulai sejak tabel dalam keadaan tidak normal atau belum cukup normal.
Tujuan Denormalisasi :
1. Mempercepat proses query dengan cara meminimalkan cost yang disebabkan oleh operasi join antar tabel
2. Untuk keperluan Online Analytical Process (OLAP)
3. Dan lain-lain
Konsekuensi Denormalisasi :
1. Perlu ruang ekstra untuk penyimpanan data
2. Memperlambat pada saat proses insert, update dan delete sebab proses-proses tersebut harus dilakukan terhadap data yang redundant (ganda)
Sumber:
http://brahmaputra7.blogspot.co.id/2014/05/basis-data-pengenalan-entity.html
sanagat membantu
ReplyDelete