• Software
program
• Supplements
operating sistem
• Manages
data
• Queries
data and generates reports
• Data
security
Sistem
basis data adalah 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. 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)
1.4
Basis Data Relasional
Model relasional merupakan model sederhama sehingga mudah
dipahami oleh pengguna. 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-table yang ada
dihubunngkan (relationship) sedemikian rupa menggunakan field-field kunci (Key
Field) sehingga dapat meminimalkan duplikasi data. Tingkatan Data Dalam Database Relasi
Merupakan bagian terkecil
dalam database, dapat berupa angka maupun huruf, ataupun karakter-karakter
lainnya.
Merupakan bagian dari record
yang menunjukkan suatu item data yang sejenis, misalnya : field nama, file NIM
dll. Setiap field harus mempunyai nama dan tipe data tertentu. Isi dari field
di sebut Data Value. Dalam table database, field ini disebut juga kolom.
Record/tupple adalah
kumpulan data value dari attribute yang berkaitan sehingga dapat menjelaskan
sebuah entitu secara lengkap. Contoh: record dari entity dosen adalah
sekumpulan NIP, nama, no_hp, dan alamat per-barisnya. Dalam database, record
disebut juga baris.
Entity merupakan sesuatu
yang dapat 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.
Kumpulan dari tabel-tabel
yang saling berelasi, disusun secara logis, sehingga menghasilkan informasi
yang bernilai guna dalam proses pengambilan keputusan. ada beberapa difat yang
meleka pada suatu table:
a.
Tidak boleh ada record yang
sama (kembar)
b.
Urutan record tidak terlalu
penting, karena data dalam record dapat diurut sesuai dengan kebutuhan.
c.
Setiap field harus mempunyai
nama yang unik (tidak boleh ada yang sama).
d.
Setiap field mesti mempunyai
tipe data dan karakteristik tertentu.
Contoh produk DBMS terkenal yang
menggunakan model relasional antara lain adalah :1.
DB2
(IBM)
2.
Rdb/VMS
(Digital Equipment Corporation)
3.
Oracle
(Oracle Corporation)
4.
Informix
(Informix Corporation)
5.
Ingres
(ASK Group Inc)
6.
Sybase
(Sybase Inc)
7.
Dan
masih banyak lagi
1.5
Bahasa Basis Data
1. Data Definition Languange (DDL)
DDL adalah perintah-perintah
yang biasa digunakan oleh pengguna basis data untuk mendefinisikan skema ke
DBMS.
2. Interactive Data
Manipulation Language (DML)
DML adalah perintah-perintah
yang digunakan untuk mengubah, manipulasi dan mengambil data pada basis data.
3. Transaction controlTransaction control adalah bahasa basis data yang mengatur transaksi yang dilakukan oleh
Data Manipulation Language (DML).
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, untuk mendefinisikan hak akses spesifik terhadap objek-objek basis
data.
Oke guys kita lanjut ke bab
2 yaitu Entity Relationshi Model,
Okeeee cekidoooooot....
BAB 2
ENTITY RELATIONSHIP MODEL
Entity Relationship Model adalah moel data konseptual
tingkat tinggi untuk perancangan basis data. Model data konseptual adalah
himpunan konsep yang mendeskripsikan nstruktur basis data , transaksi
pengambilan dan pembaruan basis data.
Komponen-komponen utama
model ER adalah:
2.1 Entitas (entity)
Entitas memodelkan objek-objek yang berada diperusahaan/lingkungan.
Dalam berbagai pembahasan/literature, penyebutan himpunan entitas (yang kurang
praktis) ini seringkali digantikan dengan sebutan entitas saja. Karena itu
sering ditemui, penggunaan istilah entitas (entity) di sebuah literature
sebenarnya menunjuk pada himpunan entitas. 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
Entitas menunjuk kepada pada individu suatu objek
sedangkan himpunan entitas menunjuk pada rumpun (family) dari inividu tersebut.
Sebuah entitas/himpunan dapat di gambarkan/dinotasikan
dengan sebuah gambar persegi panjang. Setiap entitas mempunyai atribut yang
melekat pada entitas tersebut.
2.2 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 Himpnan
Relasi
a.
Unary = hanya me-relasi-kan
1 entitas
b.
Binary = Me-relasi-kan 2
entitas
c.
Ternary = Mer-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 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 berpasangan 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
banyak ke satu kebaliak dari satu ke banyak. 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.
2.3 Atribut-atribut (properti-properti),
memodelkan properti-properti dari entitas dan
relationship. Setiap atribut mempunyai domain
value set yaitu batasan yang dibolehkan bagi suatu atribut. Notasi atribut
digambarkan dengan gambar elips. Atribut kunci biasa di beri tanda # atau garis
bawah.
Tipe-tipe atribut
dapat dibedakan:
a.
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
b.
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
multivalued :
c.
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.
2.4 Konstrain-konstrain
(batasan-batasan) integritas, konstrain-konstrain
ketentuan validitas.
2.5 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.
Contoh ERD SI AKADEMIK,
BAB 3 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. yang utama dari pembahasan kali
ini adalah kapan dan bagaimana kita menggunakan weak entity, spesilisasi
dan agregasi dan bagaimana menurunkan konseptual ER kedalam 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.
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 ).
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.
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.
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 :
BAB 4 NORMALISASI
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.
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 :
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)
1. 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)
Berikut adalah contoh data-data yang belum ternormalisasi:
Pada data tabel di atas, contoh data belum ternormalisasi sehingga
dapat diubah ke dalam bentuk 1NF dengan cara membuat setiap baris
berisi kolom dengan jumlah yang sama dan setiap kolom hanya mengandung satu
nilai.
2. BENTUK NORMALISASI KEDUA (2NF)
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
Berikut ini adalah contoh data pada tabel mahasiswa yang belum memenuhi
bentuk 1NF.
Bentuk 1NF-nya:
Bentuk 2NF-nya didapat dengan teknik berikut ini:
Pada bentuk 1NF-nya, terlihat bahwa kolom NIM merupakan PrimaryKey.
NIM -> Nama, Dosen Wali. Artinya adalah bahwa atribut Nama dan Dosen Wali
bergantung pada NIM.
Tetapi NIM <> Kode MataKuliah. Artinya adalah bahwa atribut Kode_MataKuliah tidak tergantung pada NIM.
Sehingga, bentuk 2NF-nya terbagi atas 2 table:
Table1
Table2
BENTUK NORMALISASI KETIGA (3NF)
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).
Berikut ini adalah contoh tabel Mahasiswa yang sudah dalam bentuk 1NF:
Bentuk 2NF-nya:
Table1
Table2
Table3
Namun, di Table1, atribut nonkey(Nilai dan Bobot) masih memiliki ketergantungan fungsional. Maka, untuk memenuhi bentuk 3NF, Table1 harus dipecah lagi menjadi:
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.4 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)
untuk lebih jelas nya kunjungi website dibawah ini :)
cs.upi.edu dan budi.staf.upi.edu