Dasar-dasar Database
Terminologi Dan Konsep Basis Data (1)
• Basis dapat diartikan sebagai markas / gudang,
tempat berkumpul.
• Data adalah 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.
Terminologi Dan Konsep Basis Data (2)
• Basis data sendiri dapat di definisikan dalam
sejumlah sudut pandang seperti :
▫ Himpunan kelompok data / arsip yang saling
berhubungan yang diorganisasi sedemikian rupa agar
kelak dapat dimanfaatkan kembali dengan cepat &
mudah.
▫ Kumpulan data yang saling berhubungan yang
disimpan secara bersama sedemikian rupa dan tanpa
pengulangan/ penumpukan (redundansi), untuk
memenuhi berbagai kebutuhan.
▫ Kumpulan file/ tabel /arsip yang saling berhubungan
yang disimpan dalam media penyimpanan elektronis.
Basis data dan lemari arsip memiliki prinsip kerja dan tujuan yang
sama. Prinsip utamanya adalah pengaturan data/arsip. Dan tujuan
utamanya adalah kemudahan dan kecepatan dalam pengambilan
kembali data/ arsip. Perbedaannya hanya terletak pada media
penyimpanan yang digunakan . jika lemari arsip menggunakan lemari
sebagai media penyimpanannya, maka basisdata mnenggunakan media
penyimpanan elektronis seperti disk (disket, harddisk).
Terminologi Dan Konsep Basis Data
(3)
• Tidak semua bentuk penyimpanan data secara
elektronis bisa disebut basis data.
• Yang sangat ditonjolkan dalam basis data adalah
pengaturan/pemilahan/pengelompokkan/pengo
rganisasian data yang akan kita simpan sesuai
fungsi/jenisnya.
• Pemilahan/ pengelompokan ini dapat berbentuk
sejumlah file/ tabel terpisah atau dalam bentuk
pendefinisian kolom-kolom/field-field data
dalam setiap file/tabel.
Tujuan Basis data (1)
• Kecepatan & kemudahan (speed)
• Efisiensi ruang penyimpanan (space)
• Keakuratan (accuracy)
• Ketersediaan (availability)
• Kelengkapan (completeness)
• Keamanan (security)
• Kebersamaan pemakaian (sharability)
Operasi dasar pembuatan Basis data(1)
• Pembuatan Basis Data (Create Database)
• Penghapusan Basis Data (Drop
Database)
• Pembuatan File/Table baru ke suatu basis
data (Create Table)
• Penghapusan File/Table dari suatu basis
data (Drop Table)
Operasi dasar pembuatan Basis data(1)
• Penambahan data baru ke suatu file/table di
sebuah basis data (insert)
• Pengambilan data dari sebuah file/table
(Retrieve/Search)
• Pengubahan data dari sebuah file/table
(Update)
• Penghapusan data dari sebuah file/table
(Delete)
Hirarki Data (1)
• basis data, merupakan sekumpulan dari
bermacam-macam tipe record yang memiliki
hubungan antar record.
• berkas/file, merupakan sekumpulan rekaman
data yang berkaitan denngan suatu objek.
• record , merupakan sekumpulan
field/atribut/data item yang saling berhubungan
terhadap obyek tertentu
• field/atribut/data item, merupakan unit
terkecil yang disebut data,yang tidak dapat
dipecah lagi menjadi unit lain yang bermakna.
▫ fixed length field, memiliki ukuran yang
tetap.
▫ variabel length field, field-field dalam
record dapat memiliki ukuran berbeda.
Sistem Basis Data
Basis Data
File
Record
Field
byte
Bit
Hirarki Data (2)
• byte, adalah bagian terkecil yang dialamatkan
dalam memori.
byte mrupakan sekumpulan bit yang secara
konvensional terdiri atas kombinasi delapan
bit yang menyatakan sebuah karakter dalam
memori (I byte= I karakter)
• bit, adalah sistem binner yang terdiri atas dua
macam nilai, yaitu 0 dan 1. sistem binner
merupakan dasar yang dapat digunakan untuk
komunikasi antara manusia dan mesin, yang
merupakan serangkaian komponen elektronik
dan hanya dapat membedakan 2 macam keadaan,
yaitu ada tegangan dan tidak ada tegangan yang
masuk ke rangkaian tersebut.
Sistem Basis Data
Basis Data
File
Record
Field
byte
Bit
Konsep DBMS (database management
system)
• Database Management System (DBMS)
merupakan paket program (Software) yang
dibuat agar memudahkan dan mengefisienkan
pemasukan, pengeditan, penghapusan dan
pengambilan informasi terhadap database.
• Software yang tergolong kedalam DBMS antara
lain, Microsoft SQL, MySQL, Oracle, MS. Access,
MS Visual Foxpro dan lain-lain
Komponen utama DBMS (1)
• Perangkat keras
berupa komputer dan bagian-bagian didalamnya, seperti prosesor, memori &
harddisk. Komponen inilah yang melakukan pemrosesan dan juga untuk
menyimpan basis data.
• Basisdata
sebuah DBMS dapat memiliki beberapa basisdata, setiap basisdata dapat berisi
sejumlah obyek basisdata (file,tabel,indeks dsb). Disamping berisi data,setiap
basisdata juga menyimpan definisi struktur (baik untuk basisdata maupun
obyek-obyeknya secara detail).
• Perangkat lunak
perangkat lunak ini terdiri dari sistem operasi dan perangkat lunak/program
pengelola basisdata. Perangkat lunak inilah yang akan menentukan bagaimana
data diorganisasi,disimpan, diubah dan diambil kembali. Ia juga menerapkan
mekanisme pengamanan data, pemakaian data secara bersama, pemaksaan
keakuratan/konsistensi data, dsb.
Contoh perangkat lunak DBMS : MS access, SQL Server, Oracle dsb.
Komponen utama DBMS (2)
• Pengguna/user
pengguna dapat digolongkan menjadi 3 :
1. Pengguna akhir / end user.
Dapat dibagi menjadi 2 :
pengguna aplikasi : adalah orang yang mengoperasikan program
aplikasi yang dibuat oleh pemrogram aplikasi.
pengguna interaktif : adalah orang yg dpt memberikan perintahperintah pada antar muka basisdata, misalnya SELECT, INSERT dsb.
2. Pemrogram aplikasi
adalah orang yang membuat program aplikasi yang menggunakan
basisdata.
3. Administrator database / DBS (database administrator)
adalah orang yang bertanggungjawab terhadap pengelolaan basisdata.
Tugas DBA :
mendefinisikan basisdata
menetukan isi basisdata
menentukan sekuritas basisdata
Abstraksi Data
• Salah satu tujuan dari DBMS adalah untuk menyediakan
fasilitas/antarmuka (interface) kepada user.
• Untuk itu system tersebut akan menyembunyikan detail
tentang bagaimana data disimpan dan dipelihara,
sehingga data yang terlihat oleh user sebenarnya
berbeda dengan yang tersimpan secara fisik.
• Abstraksi data merupakan tingkatan-tingkatan
pengguna dalam memandang bagaimana sebenarnya
data diolah dalam sebuah sistem database sehingga
menyerupai kondisi yang sebenarnya dihadapi oleh
pengguna sehari-hari.
Terdapat 3 level abstraksi :
1. Level Fisik (Physical Level)
Lapis fisik merupakan lapis terendah, lapis ini menjelaskan bagaimana (how)
data sesungguhnya disimpan. Pada lapis inilah struktur data dijabarkan
secara rinci.
2. Level Logik / Konseptual (Conceptual Level)
Lapis konseptual lebih tinggi dari lapis fisik. Lapis ini menjabarkan data apa
(what) saja yang sesungguhnya disimpan pada basisdata, dan juga
menjabarkan hubungan-hubungan antardata secara keseluruhan.
3. Level Penampakan/pandangan (View Level)
Lapis view merupakan lapis tertinggi pada abstraksi data. Pada lapis ini
pengguna hanya mengenal struktur data yang sederhana, yang berorientasi
pada kebutuhan pengguna. Data yang dikenal oleh masing-masing pengguna
bisa berbeda-beda dan barangkali hanya mencakup sebagian dari basis data.
Contoh Abstraksi Data
• Sebagai gambaran , misalnya terdapat struktur data bertipe record seperti
berikut :
Pegawai = RECORD
Nama
: STRING;
Alamat
: STRING;
Bagian
: STRING;
Gaji
: LongInt;
End:
• Pada contoh ini record pegawai berisi 4 buah field (nama, alamat, bagian,
gaji ). Setiap field memiliki nama, dan setiap nama memiliki tipe data.
• Pada level fisik, pegawai dapat dijabarkan sebagai blok data yang terletak
pada lokasi berurutan (satuan byte). Pada lapis konseptual masing-masing
record dijabarkan dengan definisi tipe data . pada lapis view, user tertentu
hana boleh mengakses data tertentu, contohnya, seorang yang menangani
penggajian berhak mengetahui gaji seseorang bahkan mengubahnya, tetapi
orang yang bekerja di bagian lain tentu tidak boleh melihatnya.
Model Basis Data
• Model database adalah suatu konsep yang terintegrasi
dalam menggambarkan hubungan (relationships) antar
data dan batasan-batasan (constraint) data dalam suatu
sistem database. Model data yang paling umum,
berdasarkan pada bagaimana hubungan antar record
dalam database (Record Based Data Models), terdapat
tiga jenis,yaitu :
1. Model Database Hirarki (Hierarchical Database
Model)
2. Model Database Jaringan (Network Database Model)
3. Model Database Relasi (Relational Database Model)
Model Database Hirarki (Hierarchical
Database Model)
• Model hirarkis biasa disebut model pohon, karena menyerupai pohon yang dibalik.
Model ini menggunakan pola hubungan orangtua-anak
Rudi
Dosen
Dosen
Siti Nurbaya
Ashadi
Pengantar
Pemrograman
Basis Data
C
Asti
Dina
Dina
Edi
Matematika I
Ita
Edi
Model Database Jaringan (Network
Database Model)
Rudi
Dosen
Dosen
Siti Nurbaya
Ashadi
Pengantar
Pemrograman
Basis Data
C
Asti
Dina
Edi
Matematika I
Ita
Model Database Relasi (Relational
Database Model)
Tingkatan Data Dalam Database
Relasi
•
•
•
•
•
Karakter (Characters)
Field atau Attribute
Record atau Tupple
Table/Entity
Database
MACAM-MACAM PERINTAH DATA BASE
• Bahasa Definisi Data (Data Definition
Language/ DDL)
• Bahasa Manipulasi Data (Data
Manipulation laguage/ DML)
• DQL ( Data Query Language)
Model Entity-Relationship (ER
• 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.
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 (properti-properti)
Memodelkan properti-properti dari entitas dan
relationship.
• Konstrain-konstrain (batasan-batasan)
integritas,
Konstrain-konstrain ketentuan validitas.
Kardinalitas/derajat Relasi
• Kardinalitas Relasi menunjukkan jumlah
maksimum entitas yang dapat berelasi dengan
entitas pada himpunan entitas yang lain.
• Kardinalitas relasi merujuk kepada hubungan
maksimum yang terjadi dari himpunan entitas
yang satu ke himpunan entitas yang lain dan
begitu juga sebaliknya
Kardinalitas
• Satu ke satu (One to One),
• Satu ke Banyak (one to many),
Kardinalitas
• Banyak ke Banyak (Many to Many)
Tahap Pembuatan Diagram ER
• Mengidentifikasi dan menetapkan seluruh entity
yang terlibat dalam sistem database tersebut.
• Menentukan attribute-attribute atau field dari
masing-masing entity beserta kunci (key)-nya.
• Mengidentifkasi dan menetapkan seluruh himpunan
relasi diantara himpunan-himpunan entity yang ada
beserta kunci tamu (foreign key)- nya.
• Menentukan derajat relasi untuk setiap himpunan
relasi.
• Melengkapi himpunan entitas dan himpunan relasi
dengan atribut-atribut deskriptif (non key).
Jenis-Jenis Kunci (Key) (1)
• Candidat Key
Sebuah attribute atau lebih yang secara unit
mengidentifikasi sebuat record, disebut candidate key.
Attribute ini mempunyai nilai yang unik pada hampir
setiap recordnya. Fungsi dari candidate key ini adalah
sebagai calon primary key.
Contoh candidate-key :
Jenis-Jenis Kunci (Key) (2)
• Primary Key
Salah satu atrribut dari candidat key dapat dipilih
menjadi primary key dengan 3 kriteria sbb :
▫ Key tersebut lebih natural untuk dijadikan acuan
▫ Key tersebut lebih sederhana
▫ Key tersebut cukup uniqe
• Foreign Key
Jika sebuah primary key terhubung ke table/entity lain,
maka keberadaan primary key pada entity tersebut di
sebut sebagai foreign key. Misal : Primary Key
KodeDosen dari entity Dosen digunakan juga pada field
entity KRS, maka keberadaan field KodeDosen pada
entity KRS disebut sebagai foreign key.
Jenis-Jenis Kunci (Key) (2)
• Alternate Key
Setiap atribut dari candidate key yang tidak
terpilih sebagai primary key akan dinamakan
alternate key. Pada contoh sebelumnya bila
untuk primary key dipilih ID_Cus maka
alternate key nya adalah No.of Pay
Normalisasi
Proses normalisasi adalah proses untuk memperoleh properti-properti
skema relasi yang bagus menjadi bentuk normal lebih tinggi sehingga
syarat-syarat dibawah ini terpenuhi:
• Mengoptimalisasi redudansi (pengulangan data yang tidak perlu).
Redudansi tidak bisa dihilangkan sama sekali karena berguna untuk
integritas referensial, tetapi redudansi bisa dioptimalisasi.
• Menghilangkan anomali. Anomali pada dasarnya adalah ketidakkonsistenan (inkonsistensi). Misalkan ada pergantian nama dari
Bank Perkasa menjadi Bank Perkasa Utama sebanyak 4 record. Jika
pergantian nama hanya dilakukan pada salah satu record saja, maka
terjadi ketidak-konsistenan yaitu satu nomor bank berrelasi dengan
2 nama bank yang berbeda. Dekomposisi tabel dapat mengurangi
redudansi yang ada dan menghilangkan anomali.
Bentuk Normal
• Tujuan proses normalisasi adalah mengkonversi
relasi menjadi bentuk normal lebih tinggi.
Terdapat beragam tingkat bentuk normal, yaitu :
a. Bentuk normal pertama (1NF)
b. Bentuk normal kedua (2NF)
c. Bentuk normal ketiga (3NF)
d. Bentuk normal Boyce-Codd (BCNF)
e. Bentuk normal keempat (4NF)
f. Bentuk normal kelima (5NF)
Bentuk Normal Pertama
• Bentuk normal pertama adalah ekivalen dengan definisi
model relasional. Relasi adalah bentuk normal pertama (1NF)
jika semua nilai atributnya adalah sederhana (bukan
komposit).
Syarat :
▫ Tidak ada set atribut yang berulang atau bernilai ganda.
▫ Telah ditentukannya primary key untuk tabel atau relasi.
▫ Tiap atribut hanya memiliki satu pengertian.
▫ Tiap atribut yang dapat memiiki banyak nilai sebenarnya
menggambarkan entitas atau relasi yang terpisah.
Bentuk Normal Kedua
• Syarat :
▫ Bentuk data telah memenuhi kriteria bentuk normal
ke satu.
▫ Atribut bukan kunci(non-key attribute) haruslah
memiliki ketergantungan fungsional sepenuhnya pada
primary key
• Relasi pada bentuk normal kedua harus tidak
menyimpan fakta-fakta mengenai bagian kunci relasi.
Bentuk normal kedua menghilangkan kebergantungan
parsial dan masih memiliki anomali-anomali yang
secara praktis tidak dapat diterima.
Bentuk Normal Ketiga
• Syarat :
▫ Bentuk data telah memenuhi kriteria bentuk normal ke
dua.
▫ Atribut bukan kunci(non-key attribute) tidak boleh
memiliki ketergantungan fungsional terhadap atribut
bukan kunci lainnya. Seluruh atribut bukan kunci pada
suatu relasi hanya memiliki ketergantungan fungsional
terhadap primary key di relasi itu saja.
• Bentuk normal ketiga menghilangkan kebergantungan
transitif, awalnya bentuk normal ketiga dipikir sebagai bentuk
normal puncak/paling akhir. Namun kemudian dapat
ditemukan bentuk normal lebih kuat yaitu bentuk normal
Boyce-Codd.
Bentuk Normal Boyce-Codd (BCNF)
• BCNF memiliki ketentuan yaitu masing-masing
atribut utama bergantung fungsional penuh
pada masing-masing kunci dimana kunci
tersebut bukan bagiannya. Relasi adalah BCNF
(optimal) jika setiap determinan atribut-atribut
relasi adalah kunci relasi. Relasi adalah BCNF
(optimal) jika kapanpun fakta-fakta disimpan
mengenai beberapa atribut, maka atribut-atribut
ini merupakan satu kunci relasi. BCNF dapat
memiliki lebih dari satu kunci. Properti penting
BCNF adalah relasi tidak memiliki informasi
yang redundan.
Bentuk Normal Keempat
• Relasi dalam bentuk normal keempat (4NF) jika
relasi dalam BCNF dan tidak berisi
kebergantungan banyak nilai. Untuk
menghilangkan kebergantungan banyak nilai
dari satu relasi, kita membagi relasi menjadi dua
relasi baru. Masing – masing relasi berisi dua
atribut yang mempunyai hubungan banyak nilai.
Bentuk Normal Kelima
• Bentuk normal kelima (5NF) berurusan dengan
properti yang disebut join tanpa adanya
kehilangan informasi (lossless join). Bentuk
normal kelima (5NF) juga disebut PJNF
(projection-join normal form). Kasus-kasus ini
sangat jarang muncul dan sulit untuk dideteksi
secara praktis.
Contoh Normalisasi
• Diberikan tabel Mahasiswa di bawah ini, akan
dilakukan normalisasi sampai bentuk normal ke
tiga
Perhatikan bahwa tabel di atas sudah dalam bentuk
normal ke Satu(1NF).
Bentuk Normal 2 ( NF2 )
Belum memenuhi kriteria 3NF, Karena atribut non-key
Nilai dan bobot masih memiliki ketergantu-ngan
fungsional
Bentuk Normal 3 NF3