1
DAFTAR ISI
Halaman
3
BAB I
KONSEP DASAR SISTEM DATABASE DAN PERANCANGAN DATABASE
Data Base (basis data) merupakan kumpulan data yang saling berhubungan.
Hubungan antar data dapat ditunjukan dengan adanya field/kolom kunci dari tiap file/tabel
yang ada. Dalam satu file atau table terdapat record-record yang sejenis, sama besar, sama
bentuk, yang merupakan satu kumpulan entitas yang seragam. Satu record (umumnya
digambarkan sebagai baris data) terdiri dari field yang saling berhubungan menunjukan
bahwa field tersebut dalam satu pengertian yang lengkap dan disimpan dalam satu record.
Adapun Struktur Database adalah : Database File/Table Record Elemen
data/FieldDari pengertian diatas dapat disimpulkan bahwa basis data mempunyai beberapa
kriteria penting, yaitu :
1. Bersifat data oriented dan bukan program oriented.
2. Dapat digunakan oleh beberapa program aplikasi tanpa perlu mengubah basis datanya.
3. Dapat dikembangkan dengan mudah, baik volume maupun strukturnya.
4. Dapat memenuhi kebutuhan sistem-sistem baru secara mudah
5. Dapat digunakan dengan cara-cara yang berbeda.
Prinsip utama Data Base adalah pengaturan data dengan tujuan utama fleksibelitas
dan kecepatan pada saat pengambilan data kembali. Adapun ciri-ciri basis data diantaranya
adalah sebagai berikut :
1. Efisiensi meliputi kecepatan, ukuran, dan ketepatan
2. Data dalam jumlah besar.
3. Berbagi Pakai (dipakai bersama sama/Sharebility).
4. Mengurangi bahkan menghilangkan terjadinya duplikasi dan ketidakkonsistenan data
5
BAB II
DATA MODEL
Weak Entity
Relationship
Identifying Relationship
7
Atribut
Atribut Derivatif
Atribut Composite
Contoh Kasus
Pada saat mendaftar menjadi anggota perpustakaan, dicatatlah nama, nomor mahasiswa dan
alamat mahasiswa. Setelah itu mereka baru bisa meminjam buku di perpustakaan. Buku-buku
yang dimiliki perpustakaan banyak sekali jumlahnya. Tiap buku memiliki data nomor buku,
judul, pengarang, penerbit, tahun terbit. Satu buku bisa ditulis oleh beberapa pengarang.
8
Contoh
1. Entitas = Anggota, Buku
2. Atribut Key = Nomor Mahasiswa, Nomor Buku
3. Relasi Anggota Dengan Buku = Meminjam
4. 1 : N
5. Anggota = Nama Mahasiswa, Alamat Mahasiswa
Buku = Judul, Pengarang, Penerbit, Tahun Terbit
Langkah 1
ANGGOTA BUKU
Langkah 2
No_mhs No_buku
ANGGOTA BUKU
Langkah 3
No_mhs No_buku
9
Langkah 4
No_mhs No_buku
1 Meminjam N
ANGGOTA BUKU
Langkah 5
1 Meminjam N
ANGGOTA BUKU
10
BAB IV
TEKNIK NORMALISASI
Tujuan normalisasi :
1. Mengatur data dalam kelompok-kelompok sehingga masing-masing kelompok hanya
menangani bagian kecil sistem.
2. Meminimalkan jumlah data yang berulang dalam basisdata.
3. Membuat basisdata yang datanya diakses dan dimanipulasi secara cepat dan efisien tanpa
melupakan integrasi data.
4. Mengatur data sedemikian rupa sehingga ketika memodifikasi data, anda hanya
mengubah pada suatu tempat.
Aturan Normalisasi
1. Hilangkan kelompok berulang, buat tabel terpisah untuk setiap himpunan atribut yang
berhubungan dan tentukan kunci utama pada masing-masing tabel.
2. Hilangkan data berulang, jika sebuah atribut hanya tergantung pada sebagian kunci
utama gabungan, pindahkan atribut ke tabel lain.
3. Hilangkan kolom yang tidak tergantung pada kunci, jika atribut tidak tergantung pada
kunci, pindahkan atribut ke tabel lain.
4. Pisahkan relasi majemuk, tidak ada tabel yang bias mengandung dua atau lebi relasi 1:n
atau n:m yang tidak berhubungan langsung.
5. Pisahkan relasi majemuk yang berhubungan secara semantik, ada batasan pada informasi
yang memperbolehkan pemisahan relasi many-to-many yang berhubungan secara logis.
6. Bentuk normal optimal, sebuah model hanya dibatasi oleh fakta sederhana.
7. Bentuk normal domain-key, sebuah model harus terbebas dari semua anomaly
Tahapan Normalisasi
1. Bentuk Normal Kesatu (1 NF / First Normal Form)
Bentuk Bentuk Normal Kesatu mempunyai ciri yaitu setiap data dibentuk dalam file flat,
data dibentuk dalam satu record demi satu record dan nilai dari field berupa “atomic
11
value”. Tidak ada set atribut yang berulang ulang atau atribut bernilai ganda (multi
value). Tiap field hanya satu pengertian, bukan merupakan kumpulan data yang
mempunyai arti mendua. Hanya satu arti saja dan juga bukanlah pecahan kata kata
sehingga artinya lain.
Atom adalah zat terkecil yang masih memiliki sifat induknya, bila dipecah lagi maka ia
tidak memiliki sifat induknya.
2. Bentuk Normal Kedua (2NF)
Bentuk Normal kedua mempunyai syarat yaitu bentuk data telah memenuhi kriteria
bentuk Normal Kesatu. Atribut bukan kunci haruslah bergantung secara fungsi pada
kunci utama, sehingga untuk membentuk Normal Kedua haruslah sudah ditentukan
kunci-kunci field. Kunci field harus unik dan dapat mewakili atribut lain yang menjadi
anggotanya. Bentuk Normal Ketiga (3NF)
3. Untuk menjadi bentuk Normal Ketiga maka relasi haruslah dalam bentuk Normal Kedua
dan semua atribut bukan primer tidak punya hubungan yang transitif. Artinya setiap
atribut bukan kunci harus bergantung hanya pada kunci primer secara menyeluruh.
Contoh pada bentuk Normal kedua di atas termasuk juga bentuk Normal Ketiga karena
seluruh atribut yang ada di situ bergantung penuh pada kunci primernya.
4. Boyce-Codd Normal Form (BNCF)
Boyce-Codd Normal Form mempunyai paksaan yang lebih kuat dari bentuk Normal
ketiga. Untuk menjadi BNCF, relasi harus dalam bentuk Normal Kesatu dan setiap
atribut dipaksa bergantung pada fungsi pada atribut super key.
Contoh
UNNORMAL FORM
Contoh Data:
No_siswa Nama Wali_studi Kelas-l Kelas2 Kelas3
22890100 Tanzania Zaman 1234 1543
22890101 Nia Rizki 1234 1775 1543
KELAS(Kode_kelas,nama_kelas,instruktur)
merupakan bentuk 1NF karena tidak ada yang berganda dan tiap atribute satu
pengertian yang tunggal.
Contoh Data:
13
FIRST NORMAL FORM
Bentuk normal kesatu dari bentuk diatas menjadi:
No_siswa Nama Wali_studi Kode_kelas
22890100 Tanzania Zaman 1234
22890100 Tanzania Zaman 1543
22890101 Nia Rizki 1234
22890101 Nia Rizki 1775
22890101 Nia Rizki 1543
14
1. Step I bentuk unnormalized
Bentuklah menjadi tabel unnormalized, dengan mencantumkan semua field data yang ada
Menuliskan semua data yang akan direkam Terlihat record record yang tidak lengkap, sulit
untuk membayangkan bagaimana bentuk record yang harus dibentuk untuk merekam data
tersebut.
2. Step II bentuk normal kesatu
Bentuklah menjadi bentuk normal kesatu dengan memisah misahkan data pada field field
yang tepat dan bernilai atomic, juga seluruh record harus lengkap adanya. Bentuk file
adalah flat file.
15
Kode barang
Bentuklah tiga tabel dengan kunci tersebut, lihatlah ketergantungan fungsional field field
lain terhadap field kunci, maka didapatkan tabel sebagai berikut:
Field Qty dan Harga pada tabel tersebut tidak bergantung penuh pada kunci primer
nomor nota, ia juga bergantung fungsi pada kode barang. Hal ini disebut sebagai
kebergantungan yang transitif dan haruslah dipisahkan dalam dua tabel.
Masih terdapat redundancy yaitu setiap kali satu nota yang terdiri dari 5 macam
barang yang dibeli maka 5 kali pula dituliskan no nota, tanggal nota, tempo, dan totai.
Ini harus pula dipisahkan bila terjadi penggandaan tulisan berulang ulang.
16
5. Step V Pengujian dengan data contoh
Pengujian disini untuk memastikan kebenaran isi tabel dan hubungan antara tabel tersebut.
Ujilah bahwa setiap tabel haruslah punya hubungan dengan tabel yang lainnya. Bila tidak
ada penghubunga antar tabel maka dapat dikatakan perancangan untuk membuat satu
database adalah gagal.
17
BAB V
BAHASA QUERY FORMAL
Query adalah suatu objek database yang dapat digunakan untuk menampilkan,
menyunting atau menganalisa suatu data dengan memberikan baris-baris perintah tertentu.
Pada aplikasi ini sudah dilengkapi dengan Structured Query Language (SQL) yang menjadi
standard bahasa dalam mengolah database. Dengan SQL kita dapat mempersingkat penulisan
listing program yang panjang karena pada setiap perintahnya dapat mencakup banyak
perintah sekaligus.
Bahasa query formal basis data relasional adalah bahasa untuk meminta informasi dari
basis data. Bahasa query relasional formal merupakan bahasa antara yang digunakan basis
data, yaitu SQL dikonversi menjadi bahasa relasional formal sehingga dapat diterapkan
sekumpulan informasi untuk memperoleh query paling efisien.
Terdapat dua jenis bahasa query relasional formal yang utama, yaitu:
1. Aljabar relasional.
2. Kalkulus relasional
Aljabar Relasional
aljabar relasional merupakan kumpulan operasi terhadap relasi dimana setiap operasi
menggunakan satu atau lebih relasi untuk menghasilkan satu relasi yang baru dan termasuk
kategori prosedural dan juga menyediakan seperangkat operator untuk memanipulasi data.
Operasi select berfungsi untuk menyeleksi tuple-tuple yang memenuhi predikat yang
diberikan dari sebuah tabel relasi. Operasi select menyeleksi tuple-tuple yang memenuhi
predikat yang diberikan. Digunakan symbol sigma (σ) untuk menunjukkan operasi select.
Predikat muncul sebagai subcript dari σ. Argumen relasi diberikan dalam kurung yang
mengikuti σ.
18
2. Operasi projection (π)
Operasi project berfungsi untuk memilih nilai atribut-atribut tertentu saja dari sebuah
tabel relasi. Operasi project disimbolkan dengan symbol phi (π). Nama-nama atribut
yang diinginkan tampil ditulis sebagai subcript π.
Operasi cartesian product berfungsi untuk mengkombinasikan informasi yang ada dalam
2 tabel relasi atau lebih dan menghasilkan sebuah tabel relasi yang baru.
A ∪ B adalah relasi dengan heading (atribut) yang sama untuk setiap A dan B, dimana
terdiri dari himpunan semua tuples yang terdapat pada A atau B atau kedua-duanya.
Operasi union berfungsi untuk mendapatkan gabungan nilai atribut dari sebuah tabel
relasi dengan nilai atribut dari tabel relasi lainnya.
Operasi set difference berfungsi untuk mendapatkan nilai yang ada dalam sebuah tabel
relasi, tapi tidak ada dalam tabel relasi lainnya. A MINUS B adalah relasi dengan
heading (atribut) yang sama untuk setiap A dan B, dimana terdiri dari himpunan semua
tuples yang terdapat pada A, tetapi tidak terdapat pada B.
19
Operasi turunan dalam aljabar relasional adalah sebagai berikut :
1. Operasi set –interface
2. Operasi natural join
3. Operasi theta join
4. Operasi devision
Kalkulus Relasional
Kalkulus relasional adalah bahasa query yang non prosedural. Bahasa ini mendeskripsikan
informasi yang diinginkan tanpa memberi prosedurnya secara detil untuk mendapatkan
informasi tersebut.
20
P menyatakan rumus-rumus yang disusun dari atom-atom.
Berdasarkan acuan model relasional, ada 2 bahasa query kemersial yaitu SQL dan QBE.
21
BAB VI
BAHASA QUERY KOMERSIAL
Sasaran SQL
1. Menciptakan basis data dan struktur relasi
2. Melakukan menajemen data tingkat dasar
3. Membentuk query sederhana dan kompleks
4. Melakukan tugas-tugas dengan seminimal mungkin memakai struktur dan sintaks
perintah relatif mudah dipelajari
5. Harus portabel
Jenis SQL
1. Interactive SQL
2. Static SQL
3. Dynamic SQL
Subdivisi SQL
1. DDL (Data Definition Language)
Query-query ini digunakan untuk mendefinisikan struktur atau skema basis data
2. DML (Data Manipulation Language)
Query-query ini digunakan untuk manajemen data dalam basis data
3. DCL ( Data Control Language)
Query-query ini berhubungan dengan pengaturan hak akses dan wewenang.
22
Pengelompokan Statemen Sql
1. Data Definition Language (DDL)
CREATE DATABASE DROP DATABASE
CREATE TABEL DROP TABEL
CREATE INDEX DROP INDEX
CREATE VIEW DROP VIEW
ALTER TABLE
3. Data Access
GRANT , REVOKE
4. Data Integrity
RECOVER TABLE
5. Auxiliary
SELECT INTO OUTFILE,
LOAD, RENAME TABLE
2. Pembuatan Tabel
Sintaks : CREATE TABLE nama_table
23
( nama_kolom1 tipe_data_kolom1,
nama_kolom2,tipe_data_kolom2,….)
Contoh :
Buat struktur tabel dengan nama tabel MHS dengan data NIM char(8), NAMA
char(25), ALAMAT char(30)
3. Pembuatan Index
Sintaks : CREATE [UNIQUE] INDEX nama_index
ON nama_table (nama_kolom) ;
Contoh :
Buat index data mahasiswa berdasarkan NIM dengan nama MHSIDX Dimana NIM
tidak boleh sama
4. Pembuatan View
Sintaks :
CREATE VIEW nama_view [ (nama_kolom1,….) ]
AS SELECT statement
[WITH CHECK OPTION] ;
Contoh :
Buat view dengan nama MHSVIEW yang berisi semua data mahasiswa
CREATE VIEW MHSVIEW
AS SELECT * FROM MHS
B. DROP (MENGHAPUS)
1. Menghapus Database
Sintaks : DROP DATABASE nama_db ;
24
2. Menghapus Tabel
Sintaks : DROP TABLE nama_table ;
3. Menghapus Index
Sintaks : DROP INDEX nama_index ;
4. Menghapus View
Sintaks : DROP VIEW nama_view ;
Contoh :
DROP DATABASE Mahasiswa;
DROP TABLE MHS;
DROP INDEX MHSIDX;
DROP VIEW MHSVIEW;
Contoh :
1. Tambahkan kolom JKEL dengan panjang 1 char pada tabel MHS
ALTER TABLE MHS ADD JKEL char(1);
2. Ubah panjang kolom MTKULIAH menjadi 30 char
ALTER TABLE MKUL MODIFY COLUMN MTKULIAH char(30);
25
Data Manipulation Language (DML)
1. INSERT
Sintaks : INSERT INTO Nama_tabel [(nama_kolom1,…)]
Contoh :
Masukan data matakuliah Berkas Akses dengan kode KK222 dan besarnya 2
INSERT INTO MKUL VALUES(“KK222”,”Berkas Akses”, 2);
2. UPDATE
Sintaks : UPDATE nama_tabel
SET nama_kolom = value_1
WHERE kondisi ;
Contoh :
Ubah alamat menjadi “Depok” untuk mahasiswa yang memiliki NPM “50096487”
UPDATE MHS
SET ALAMAT=”Depok”
WHERE NPM=”50096487”;
DELETE
Sintaks : DELETE FROM nama_table
WHERE kondisi
Contoh :
Hapus data nilai matakuliah “KK021” bagi mahasiswa yang mempunyai NPM “
10296832”
DELETE FROM NILAI
WHERE NPM=”10296832” AND KDMK=”KK021”
. SELECT
Sintaks : SELECT [DISTINCT | ALL] nama_kolom
FROM nama_tabel
[ WHERE condition ]
[ GROUP BY column_list ]
[HAVING condition ]
[ ORDER BY column_list [ASC | DESC]]
26
Contoh :
a. Tampilkan semua data mahasiswa
SELECT NIM,NAMA,ALAMAT FROM MAHASISWA;
Atau
SELECT * FROM MAHASISWA;
27
BAB VII
FRAGMENTASI DATA
Merupakan sebuah proses pembagian atau pemetaan database dimana database dipecah-
pecah berdasarkan kolom dan baris yang kemudian disimpan didalam site atau unit komputer
yang berbeda dalam suatu jaringan data, sehingga memungkinkan untuk pengambilan
keputusan terhadap data yang telah terbagi.
Secara umum proses fragmentasi ini dibagi kedalam tiga jenis, yaitu:
1. Fragmentasi horizontal
Fragmentasi horizontal ini terjadi ketika suatu data yang berada pada suatu table
dipisah ke dalam beberapa table yang lain. Tabel-tabel yang lain tersebut mempunyai
struktur yang sama persis dengan table yang asli. Fragmentasi horizontal dibagi menjadi
dua yaitu:
a. Primary horizontal fragmentation
Merupakan horizontal fragmentation dimana suatu data dalam table secara horizontal
dipecah berdasarkan pada suatu nilai dalam satu atau lebih kolom tertentuk
b. Derived horizontal fragmentation
Merupakan suatu teknik horizontal fragmentation dimana data yang berada pada suatu
table secara horizontal dipecah ke dalam beberapa table yang lain, dengan kriteria data
yang dimasukan tergantung apakah data tersebut berelasi yang dengan data yang berada
di dalam table yang dipecah secara primary horizontal fragmentation atau tidak
2. Fragmentasi vertical
Merupakan suatu teknik fragmentasi data dimana data dipecah kedalam beberapa table
yang merupakan hasil pemisahan beberapa kolom yang berada pada table utama. Tabel
yang difragmentasi secara vertical harus dapat dikembalikan lagi seperti semula
(reconstruct)
3. Fragmentasi hybrid
Merupakan gabungan antara fragmentasi horizontal dan fragmentasi vertikal
28
Fungsi Fragmentasi :
1. Penggunaan
2. Efisiensi
3. Paralleslisme
4. Keamanan
29
Fragmentasi Horisontal terbagi menjadi 3 fragment yang
berbeda berdasarkan Mt_Kuliah
1. Relasi Mt_Kuliah=“Sistem Basis Data”
Mt_Kuliah=“Sistem Basis Data” (Ujian)
30
Fragment di atas memenuhi kondisi jika Nama_Mhs dan Mt_Kuliah adalah hal-hal
yang memenuhi syarat
Fragmentasi vertical:berdasarkan dekomposisi-nya dengan menambahkan tupel id
31
Relasi 2 = NIM,Kode_MK,Nil_Akhir,Grade,Tuple_ID
p NIM,Kode_MK,Nil_Akhir,Grade,Tuple_ID (Ujian)
Relasi 1b.
p NIM, Nama_Mhs, Mt_Kuliah, Nil_Akhir, Grade, Tuple_ID(s
Mt_Kuliah=“Peranc.Sistem” (Ujian))
32
Relasi 1c
p NIM,Nama_Mhs,Mt_Kuliah,Nil_Akhir,Grade,Tuple_ID(s Mt_Kuliah=“Visual Basic”
(Ujian))
Bagaimana bentuk database untuk data yang telah mengalami proses fragmentasi?
Fragmentasi data merupakan langkah yang diambil untuk menyebarkan data dalam database
terdistribusi . Selanjutnya akan dibahas apa yang dimaksud Database terdistribusi.
Database Terdistribusi
Yaitu kumpulan data yang digunakan bersama yang saling terhubung secara logik tetapi
tersebar secara fisik pada suatu jaringan komputer.Karakteristik Database terdistribusi, yaitu :
1. Kumpulan data yang digunakan bersama secara logik tersebar pada sejumlah komputer
yang berbeda
2. Komputer yang dihubungkan menggunakan jaringan komunikasi
3. Data pada masing-masing situs dapat menangani aplikasiaplikasi lokal secara otonom
4. Data pada masing situs dibawah kendali satu DBMS
5. Masing-masing DBMS berpartisipasi dalam sedikitnya satuaplikasi global
33
BENTUK-BENTUK TOPOLOGI DISTRIBUSI DATA :
a. Fully Connected network
34
c. Tree Strutured Network
d. Ring network
35
e. Star network
KERUGIAN :
1. Harga software mahal (Biaya)
2. Kompleksitas
3. Kelemahan dalam keamanan
4. Sulitnya menjaga keutuhan data
5. Kurangnya standar
6. Kurangnya pengalaman
7. Perancangan basisdata lebih kompleks
36