Anda di halaman 1dari 19

CRITICAL BOOK REPORT

SISTEM BASIS DATA


NORMALISASI DAN BAHASA QUERY

OLEH :
KELOMPOK 8

Juan Solahuddin 4181230005


Michael R Simanjuntak 4181230014
Rosalia R Simanjuntak 41813530004
Wahyudi Y A Simanjuntak 41813530012

Kelas : Matematika B 2018


Dosen Pengampu : Dr.Arnita,M.Si

JURUSAN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS NEGERI MEDAN
2019
KATA PENGANTAR
Puji dan syukur saya ucapkan kepada Tuhan Yang Maha Esa, karena atas berkat dan
RahmatNya sehingga penulis dapat menyelesaikan tugas makalah “Critical Book Report” mata
kuliah Sistem Basis Data ini. Saya juga berterima kasih kepada ibu dosen yaitu ibu Dr.Arnita
M.Si yang bersangkutan yang sudah memberikan bimbingannya.

Kami juga menyadari bahwa tugas ini masih banyak kekurangan oleh Karena itu kami
minta maaf jika ada kesalahan dalam penulisan dan juga mengharapkan kritik dan saran yang
membangun guna kesempurnaan tugas ini.

Akhir kata Kami ucapkan terima kasih dan semoga makalah “Critical Book Report” ini
dapat bermanfaat dan bias menambah pengetahuan bagi pembaca.

Medan, April 2019

Penyusun
Kelompok 8

1
DAFTAR ISI

KATA PENGANTAR ...............................................................................................................


DAFTAR ISI..............................................................................................................................
BAB I PENDAHULUAN ..........................................................................................................
A. LatarBelakang .................................................................................................................
B. Tujuan..............................................................................................................................
C. Manfaat............................................................................................................................
BAB II RINGKASAN ISI BUKU .............................................................................................
A. IdentitasBuku ..................................................................................................................
B. Ringkasan Isi Buku.......................................................................................................................
BAB III PEMBAHASAN/ANALISIS.......................................................................................
A. Kelebihan.............................................................................................................................................
B. Kelemahan...........................................................................................................................................
BABIV PENUTUP ..................................................................................................................
A. Kesimpulan....................................................................................................................
B. Saran ..............................................................................................................................
DAFTARPUSTAKA ...............................................................................................................
LAMPIRAN

2
BAB I
PENDAHULUAN

A. LatarBelakang

B. Tujuan
1. Untuk memenuhi tugas Critical Book Report mata kuliah Sistem Basis Data.
2. Untuk mempelajari materi mengenai basis data terutama mengenai normalisasi dan
bahasa query
3. Mengkritisi untuk mengetahui kelebihan dan kelemahan buku.

C. Manfaat
1. Menambah pengetahuan mengenai materi-materi Sistem Basis Data.
2. Mengetahui kelebihan dan kelemahan buku.
3. Memperoleh pengetahuan bagaimana mengkritisi sebuah buku.

3
BAB II
RINGKASAN MATERI TOPIK BAHASAN

A. IdentitasBuku
BUKU 1
Judul buku : Pengantar Basis Data
Pengarang : Sri Widianti,S.Kom
Penerbit : Lentera Ilmu Cendikia
Tahun terbit : 2009
Kota terbit : Jakarta
ISBN : 978-602-96627-8-8
Tebal buku : 195 halaman

BUKU 2
Judul buku : Basis Data
Pengarang : Janner Simarmata,Iman Paryudi
Penerbit : ANDI
Tahun terbit : 2005
Kota terbit : Yogyakarta
ISBN : 979-763-120-6
Tebal buku :177 halaman

4
B.RINGKASAN MATERI TOPIK BAHASAN

BUKU 1
NORMALISASI
TEKNIK NORMALISASI
Perancangan basis data sangat perlu dilakukan aagar kita memiliki basis data yang baik
dan efisien dalam ruang penyimpanan.Dalam merancang basis data,kita dapat melakukannya
dengan 2 cara,yaitu :
 Menerapkan teknik normalisasi terhadap struktur table yang ada
 Membuat table entity relationship

Defenisi Normalisasi
Normalisasi adalah proses pengelompokan data kedalam bentuk table atau relasi atau file
yang menyatakan entitas dan hubungan mereka sehingga terwujud satu bentuk database yang
mudah untuk dimodifikasi.Pada proses normalisasi selalu diuji pada beberapa komdisi.Apakah
ada kesuliatn selama proses delete,insert atau update dalam basis data yang disebut sebagai
penyimpangan atau anomali.

Macam-Macam Penyimpangan(Anomaly)
1. Insertion Anomaly,yaitu :eror atau kesalahan yang terjadi akibat operasi menyisipkan
tuple/record pada sebuah relasi.
2. Deletion Anomally,yaitu :eror atau kesalahan yang terjadi akibat operasi penghapusan
terhadap tuple/record dari sebuah relasi
3. Update Anomally,yaitu :eror atau kesalahan yang terjadi sebagai akibat operasi
perubahan tuple/record dari sebuah relasi
4. Functional Dependece,yaitu :diberikan sebuah relasi R,atribut Y dari R adalah
bergantung functional pada atribut X dalam R,jika dan hanya jika setiap nilai X dan R
punya hubungan dengan tepat satu nilai Y dan R
5. Fully Functionally Dependent
6. Ketergantungan Transitif
7. Ketergantungan Parsal

Jenis-Jenis Key
Key adalah sebuah atau gabungan dari beberapa atribut yang membedakan semua record
dalam table. Artinya,jika ada atribut yang dijadikan sebagai key maka tidak ada key yang
memiliki nilai yang sama
Ada beberapa macam key yang dapat diterapkan pada struktur table :
1. Super Key,merupakan satu atau lebih atribut yang dapat membedakan data dalam sebuah
table secara unik
2. Candidate Key,merupakan kumpulan atribut minimal yang dapat membedakan sebuah
table

5
3. Primary Key,yaitu memilih sebuah data dari candidate Key,dimana jaminan key nya
lebih unik
4. Alternate Key,merupakan candidate key yang tidak dijadikan primary key
5. Composite Key
6. Foreign Key

Langkah-Langkah Pembentukan Normalisasi

Bentuk Tidak Normal Normal Normal


Normal Satu(1NF) Dua(2NF) Tiga(3NF)

Normal Normal BCNF


lima(5NF) Empat(4NF)

a) Bentuk tidak normal,yaitu kumpulan data yang tidak ada keharusan mengikuti format
tertentu
b) Bentuk normal satu(1NF),yaitu bila relasi tersebut mempunyai nilai data yang atomatik
artinya tidak ada kerangkapan data
c) Bentuk normal dua(2NF),yaitu bila relasi merupakan 1NF dan setiap atribut bergantung
pada primary key
d) Bentuk normal tiga(3NF),yaitu bila relasi merupakan 2NF dan tidak tergantung secara
transitif pada primary key
e) BCNF,yaitu bila relasi merupakan 3NF dan semua determinannya merupakan candidate
key
f) Bentuk normal empat(4NF),yaitu bila relasi merupakan BCNF yang mana rinci data yang
ada didalamnya tidak mengalami ketergantungan pada banyak nilai
g) Bentuk normal lima(5NF),yaitu relasi data yang ada didalam struktur data tidak dapat
direkonstruksikan dari struktur data yang memuat rinci data lebih sedikit

BAHASA QUERY KOMERSIL


Dalam sistem manajemen database pada computer banyak menggunakan bahsa query
komersil.Query ini disampaikan lewat bahasa yang spesifik,yaitu : QBE dan SQL.QBE
disampaikan untuk memuaskan kalangan non-programmer,dimana mereka lebih suka melihat
table dari pada program.sedangkan SQL ditujukan bagi pemakai yang lebih suka menyampaikan
maksudnya pada penyusunan kode-kode bahasa program.

1. Structured Query Language(SQL)


SQL secara tidak resmi telah menjadi bahan standar dalam database karena lebih efisien
dan mudah untuk dipelajari dibandingkan semua bahasa databae yang lainnya
SQL memiliki sub language yang terdiri dari:
1) Data Defenision Language(DDL)
Perintahnya : Create table,create index,create view,alter table,drop index,drop view,drop table

6
2) Data Manipulation Language(DML)
Perintahnya:select,update,delete,insert

Security dalam SQL


Terdiri dari dua statement,yaitu:
1.VIEW
o Create view(Pembuatan View)
o Drop view(Penghapusan View)

2.GRANT,merupakan perintah untuk memberikan hak kepada pemakai.Dalam melaksanakan


beberapa operasi,user diijinkan mempunyai hak hak pemakai untuk operasi tersebut
Format : GRANT Previlage ON Table-Name TO Users

3.REVOKE,Adalah berfungsi untuk mencabut atau menarik hak pemakai


Format : REVOKE Privilege ON Tabel-name FROM Users

GRANT OPTION,yaitu memberikan fasilitas pada users untuk dapat melakukan grant pada users
lain

2. Query By Exlample(QBE)
QBE adalah sebuah query yang memiliki keadaan khusus dibandingkan query language yang
lainnya.Adapun kekhususan QBE adalah:
o QBE merupakan query language dengan sintaks 2 dimensi,sedangkan query lainnya
umumnya hanya 1 dimensi
o QBE merupakan query language yang mendekati konsep domain tuple-calculus yang
menggunakan sketon table

Operasi Pada QBE


1. Logikal operator,dua example dapat ditambahkan
2. Operator Intersection,untuk operasi ini misalnya mencari customer yang mempunyai
account dan loan pada cabang bekasi,maka QBE-nya sebagai berikut:
Deposit Branch-Name Acount-Number Customer-Name Balance
Bekasi P._X
3. Operator .OR. dan .AND.

7
BUKU 2
NORMALISASI
Normalisasi adalah: teknik perancangan yang banyak digunakan sebagai pemandu dalam
merancang basis data relasional. Pada dasarnya,normalisasi adalah proses dua langkah yang
meletakkan data dalam bentuk tabulasi dengan menghilangkan kelompok berulang lalu
menghilangkan data terduplikasi dari table relasional.
Pada waktu menormalisasi basis data,ada 4 tujuan yang harus dicapai,yaitu:
1. Mengatur data dalam kelompok-kelompok,sehingga masing-masing kelompok
hanyamenangani bagian kecil sistem.
2. Meminimalkan jumlah data berulang dalam basis data
3. Membuat basis data yang datanya bias diakses dan dimanipulasi secara cepat dan efisien
tanpa melupakan integritas data
4. Mengatur data sedemikian rupa sehingga ketika memodifikasi data,anda hanya mengubah
pada 1 tempat.
Tujuan normalisasi adalah: membuat kumpulan table relasional yang bebas dari data berulang
dan dapat dimodifikasi secara benar dan konsisten

KETERGANTUNGAN FUNGSIONAL
Konsep ketergantungan relasional adalah dasar untuk 3 bentuk normal pertama.sebuah
kolom y suatu table relasional R dikatakan tergantung secara fungsional pada kolom x jikadan
hanya jika setiap nilai x pada R berhubungan dengan tepat 1 nilai.
Notasi ketergantungan fungsional adalah:
R.x R.y
Secara sederhana,kita dapat mengatakan bahwa normalisasi adalah:proses menghilangkan
data berulang dari tabel relasional dengan memecah tabel relasional menjadi tabel yang lebih
kecil.Tujuannya agar hanay mempunyai kunci utama pada sebelah kiri ketergantungan
fungsional

BENTUK NORMAL PERTAMA (1NF)


Contoh yang kita ambil adalah sebuah perusahaan yang mendapatkan barang dari
sejumlah pemasok.masing-masing pemasok berada pada 1 kota.Sebuah kota dapat mempunyai
lebih dari 1 pemasok dan masing-masing kota mempunyai kode status tersendiri.berikut tabel
relasionalnya:
PEMASOK(p#,status,kota,b#,qty) dimana:
P# : kode pemasok(kunci utama)
Status : kode status kota
Kota : nama kota
b# :barang yang dipasok
qyt : jumlah barang yang dipasok
Bila dalam bentuk tabel 1NF maka:
PEMASOK
p# Status Kota b# qyt
P1 20 Yogyakarta B1 300
P1 20 Yogyakara B2 200
P1 20 Yogyakarta B3 400

8
P1 20 Yogyakarta B4 200
P1 20 Yogyakarta B5 100
P1 20 Yogyakarta B6 100
P2 10 Medan B1 300
P2 10 Medan B2 400
P3 10 Medan B2 200
P4 20 Yogyakarta B3 200
P4 20 Yogyakarta B4 300
P4 20 Yogyakarta B5 400
Anomali yang terjadi:
1. INSERT.fakta bahwa pemasok tertentu berlokasi pada kota tertentu(bandung) tidak dapat
ditambahkan hingga mereka memasok barang
2. DELETE.jika sebuah baris dihapus,maka yang hilang tidak hanya informasi tentang
barang dan jumlah,tetapi juga informasi tentang pemasok
3. UPDATE. Jika pemasok p1 pindah dari Yogyakarta ke Jakarta,maka enam baris harus di
update karena adanya perunbahan

BENTUK NORMAL KEDUA (2NF)


Sebuah tabel relasional berada pada bentuk normal jika dia berada pada 1NF dan setiap
kolom bukan sepenuhnya bergantung pada kunci utama,ini berarti bahwa setiap kolom bukan
kunci yang harus bergantung pada seluruh kolom yang membentuk kunci utama.
Proses mengubah tabel 1NF ke 2 NF:
 Tentukan sembarang kolom penentu selain kunci gabungan dan kolom-kolom yang
ditentukannya
 Buat dan beri nama tabel baru untuk masing-masing penentu dan kolom-kolom yang
ditentukannya
 Pindahakan kolom-kolom yang ditentukan dari tabel asal ke tabel baru
 Hapus kolom baru dipindahkan dari tabel asal,kecuali penentu yang akan berfungsi
sebagai kunci tamu
 Tabel asal bias diberi nama baru.
PEMASOK 2
P# Status Kota
P1 20 Yogyakarta
P2 10 Medan
P3 10 Medan
P4 20 Yogyakarta
P5 30 Bandung

Barang
P# B# Qyt
P1 B1 300
P1 B2 200
P1 B3 400
P1 B4 200
P1 B5 100

9
P1 B6 100
P2 B1 300
P2 B2 400
P3 B2 200
P4 B2 200
P4 B4 300
P4 B5 400

BENTUK NORMAL KETIGA (3NF)


Proses pengubahan tabel 3NF adalah:
1. Tentukan semua penentu selain kunci utama dan kolom yang ditentukannya
2. Buat dan beri nama tabel baru untuk masing-masing penentu dan kollom yang
ditentukannya
3. Pindahkan kolom yang ditentukannya dari tabel asal ketabel baru,penentu menjadi kunci
utama tabel baru
4. Hapus kolom yang baru saja dipindahkan dari tabel asal,kecuali penentu yang akan
berfungsi sebagai kunci tamu
5. Tabel asal bias diberi nama baru
Berikut tabel bentuk normal ketiga (3NF) :
PEMASOK_KOTA KOTA_STATUS
P# Kota
P1 Yogyakarta Kota Status
P2 Medan Yogyakarta 20
P3 Medan Medan 10
P4 Yogyakarta Bandung 30
P5 Bandung Semarang 40

BENTUK NORMAL BOYCE-CODE(BCNF)


Bentuk Normal Boyce-Code(BCNF) adalah versi 3NF yang lebih teliti dan berhungungan
dengan tabel relasional yang mempunyai:
 Banyak kunci kandidat
 Kunci kandidat gabungan
 Kunci kandidat yang aling tumpang tindih
BCNF didasarkan pada konsep penentu. Sebuah kolom penentu adalah kolom dimana
kolom-kolom lain sepenuhnya bergantung secara fungsional. Sebuah tabel relasional berada pada
BCNF jika dan hanya jika setiap penentu adalah kunci kandidat

BENTUK NORMAL KEEMPAT (4NF)


Bentuk normal keempat (4NF) didasarkan pada konsep ketergantungan
multivalue(MVD). Sebuah ketergantungan multivalue terjadi ketika dalam sebuah tabel
relasional yang setidaknya mengandung 3 kolom,satu kolom mempunyai banyak baris bernilai
sama. Tetapi kolom lain bernilai beda.

BENTUK NORMAL KELIMA (5NF)


Sebuah tabel berada pada bentuk normal kelima (5NF) jika dia tidak dapat mempunyai
dekomposisi lossless menjadi sebuah tabel lebih kecil

10
BAHASA QUERY KOMERSIL
STRUCTURED QUERY LANGUAGE)
Tabel basis data
Seubah basis data terdiri atas 1 atau lebih tabel dan masing-masing tabel diberi nama. Tabel
memiliki baris data.
Berikut adalah contoh tabel yang bernama “Pegawai”
Nama depan Nama belakang Alamat Kota
Adi Nugroho JL.A.Yani 233 Solo
Diana Nuraini JL.Merdeka 45 Medan
Hasan Martono JL.Diponegoro 10 Yogyakarta
Ita susanti JL.Jend.sudirman 3 yogyakarta
Tabel memiliki 4 record(satu record untuk setiap orang) dan empat kolom(nama depan,nama
belakang,alamat,kota)

Query
Dengan SQL,kita dapat melakukan query pada basis data dan mendapatkan hasilnya.contoh
query sebagai berikut:
SELECT NamaDepan FROM Pegawai
Hasilnya:
NamaDepan
Adi
Diana
Hasan
Ita
Bahasa Manipulasi Data SQL
Perintaah query dan update secara bersamaan membentuk bagian bahasa manipulasi data SQL:
 SELECT : Memilih data dari tabel basis data
 UPDATE : Mengupdate data dalam tabel basis data
 DELETE : Menghapus data dari tabel basis data
 INSERT INTO : Memasukkan data baru kedalam tabel basis data

BAHASA DEFENISI DATA SQL


Yang termasuk pernyataan bahasa defenisi data adalah :
 CREATE TABLE :Mmebuat tabel basis data terbaru
 ALTER TABLE : Mengubah tabel basis data
 DROP TABLE : Menghapus table basis data
 CREATE INDEX :Membuat indeks
 DROP INDEX : Menghapus index

11
Pernyataan SELECT
Dibagi atas berbagai pembagian,diantaranya :
 Distinct
 Klausa WHERE
 Kondisi LIKE
 Pernyataan INSERT INTO

Pernyataan UPDATE
Pernyataan update digunakan untuk memodifikasi data dalam tabel.sintaks :
UPDATE nama_tabel
SET nama_kolom = nilai_baru
WHERE nama_kolom = nilai
Jika ingin menambah nama belakang pada pegawai dengan nama depan joko,pernyataan SQL
nya adalah:
UPDATE Pegawai
SET NamaBelakang = `Wiyono`
WHERE NamaDepan = `Joko`
Hasilnya :
NamaDepan NamaBelakang Alamat
Adi Nugroho Jakarta
Diana Nuraini Medan
Hasan Martono Surabaya
Ita Susanti Banjarmasin
Joko Wiyano Ternate
Maria Wiwopo Irian jaya

Pernyataan DELETE
Pernyatan delete digunakan untuk menghapus baris pada tabel.sintaks:
DELETE FROM Pegawai
WHERE nama_kolom = nilai
Jika kita ingin menghapus pegawai dengan depan maria,pernyataan SQL nya adalah:
DELETE FROM Pegawai
WHERE NamaDepan = `Maria`
Hasilnya:
NamaDepan NamaBelakang Alamat
Adi Nugroho Jakarta
Diana Nuraini Medan
Hasan Martono Surabaya
Ita Susanti Banjarmasin
Joko widodo Ternate

12
Klausa ORDER BY
Terdiri atas:
 Operator AND dan OR
 Operator IN
 Operator BETWEEN…AND
 ALIAS

UNION dan UNION ALL


UNION
Perintah union digunakan untuk memilih informasi yang berhubungan dari 2 tabel,mirip perintah
JOIN.Namun,ketika menggunakan perintah UNION,tipe data semua kolom yang dipilih harus
sama.UNION hanya memunculkan nilai unik
Sintaks:
Pernyataan 1
UNION
Pernyataan 2
Misalkan kita memiliki tabel baru bernama pegawai 2
KodePegawai NamaDepan NamaBelakang Alamat
01 Ani Mariani Jakarta
02 Kiki Aditya Medan
03 Fitri Ginting Surabaya
04 Hasan juntak palembang

Untuk menampilkan semua pegawai pada tabel pegawai dan pegawai2,gunakan pernyataan
berikut:
SELECT NamaDepan FROM Pegawai
UNION
SELECT NamaDepan FROM Pegawai2
Hasilnya:
NamaDepan
Adi
Ani
Diana
Fitri
Hasan
Ita
Joko
kiki

UNION ALL
Sama saja dengan union. Hanya saja memilih secara keseluruhan

13
Membuat Basis Data dan Tabel
1. Membuat basis data
Untuk membuat basis data,gunakan pernyataan berikut:
CREATE BASISDATA nama_basisdata
2. Membuat Tabel
Untuk membuat tabel dalam sebuah basis data,gunakan pernyataan berikut :
CREATE TABLE nama_tabel
(nama_kolom1 tipe data,
Nama_kolom2 tipe_data,

Membuat Indeks
Indeks dibuat pada tabel yang sudah ada untuk mencari baris dengan lebih cepat dan
lebih efisien.Kita dapat membuat indeks pada 1 atau lebih kolom dalam suatu tabel dan masing-
msing indeks diberi nama.
Indeks Unik
Indeks unik berarti 2 baris tidak dapat mempunyai nilai indeks sama
Sintaks :
CREATE UNIQUE INDEX nama_indeks
ON nama_tabel (nama_kolom)
Indeks Sederhana
Jika kata UNIQUE dihilangkan,nilai yang sama diperolehkan
Sintaks:
CREATE INDEX Pegawai_indeks
ON Pegawai (NamaDepan)
Menghapus Indeks,tabel dan basis data
Sintaks :
DROP INDEX nama_tabel.nama_indeks
Alter Table
Sintaks :
ALTER TABLE nama_tabel
ADD nama_kolom tipe_data

ALTER TABLE nama_tabel


DROP COLUMN nama_kolom

GROUP BY dan HAVING


GROUP BY
Sintaks :
SELECT nama_kolom,COUNT (nama_kolom)
FROM nama_tabel
GROUP BY nama_kolom

14
HAVING
Sintaks:
SELECT nama_kolom,COUNT(nama_Kolom)
FROM nama_tabel
GROUP BY nama_kolom
HAVING COUNT (nama_kolom) kondisi nilai

Pernyataan SELECT INTO


Sintaks :
SELECT nama_kolom INTO nama_tabel_baru
IN basisdata_baru FROM sumber

15
BAB III
PEMBAHASAN/ANALISIS
A.KELEBIHAN
A.1 Buku Pertama
Buku Pengantar basis data karangan sri widianti memilik bahasa yang bagus dan mudah
dipahami untuk menelaah stiap bagian-bagian terutama pokok bahasan mengenai normalisasi
dan bahsa query. Buku ini juga dilengkapi berbagai contoh untuk membantu lebih memahami
materi-materi tersebut.
A.2 Buku Kedua
Buku Basis Data oleh Janner simarmata ini memiliki bahsa yang bagus dan mudah
dipahami materi yang ada. Serta dilengkapi contoh yang mumpuni.intinya,pada dasarnya
memiliki kelebihan yang sama dengan buku pertama

B.KEKURANGAN
A.1 Buku Pertama
Buku pertama ini menggunakan kata-kata yang tidak perlu atau sering menggunakan
pemborosan kalimat.selain itu,kurangnya format sintaks untuk pengaplikasiannya di
aplikasi.sehingga para pembaca harus mencari tambahan buku untuk dapat menerapkan materi di
pengaplikasiannya
A.2 Buku Kedua
Menurut kami,buku ini tidak memiliki kekurangan

16
BAB IV
PENUTUP

A.KESIMPULAN
Pada dasarnya kedua buku adalah bagus.hanya saja ada beberapa bagian yang memiliki
nilai tambahaan yang membuatnya lebih sempurna.kami lebih merekomendasi buku ke 2 yaitu
buku basis data karangan janner simarmata.karena menurut kami isi,penjelasan dan berbagai
contoh yang ada sudah cukup untuk lebih memahami pembaca untuk pengaplikasiannya.

B.SARAN
Diharapkan setelah melakukan critical book report ini para pembaca lebih dapat
menemukan buku mana yang lebih bagus dalam arti dari segi penjelasan,pemaparan materi serta
berbagaiu contoh untuk pengaplikasiannya.

17
DAFTAR PUSTAKA
Simarmata,janner dkk,2005,Basis Data,Andi,Yogyakarta

Widianti Sri,2009,Pengantar Basis Data,LENTERA ILMU CENDIKIA,Bekasi

18