0% menganggap dokumen ini bermanfaat (0 suara)
165 tayangan205 halaman

Pengantar Basis Data

Diunggah oleh

reskiaginoga
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
165 tayangan205 halaman

Pengantar Basis Data

Diunggah oleh

reskiaginoga
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 205

PENGANTAR BASIS DATA

PENGANTAR
BASIS DATA
Sri Widianti, S.Kom.

i
PENGANTAR BASIS DATA

PENGANTAR BASIS DATA

© Sri Widianti, S.Kom.

Penyunting: Tim LP3I


Tata Letak:
Disain Sampul: AanKhan.com

Penerbit: LENTERA ILMU CENDEKIA


Gedung Sentra Kramat Blok A-15
Jl. Kramat Raya Senen No. 7-9
Jakarta, Indonesia
Telp.: 021-3156126
Email: [email protected]

Dicetak Oleh:
LENTERA PRINTING
Jakarta

ii
PENGANTAR BASIS DATA

KATA PENGANTAR
Assalamu'alaikum Wr. Wb

Puji Syukur atas segala Rahmad dan Karunia-Nya,


sehingga Penulis dapat menyelesaikan revisi lampiran
dengan soal kasus dan analisanya, sehingga mahasiswa
dapat mengambil manfaat untuk belajar menganalisa
system di dunia nyata.

Di tengah maraknya kemajuan teknologi informasi


komputer diberbagai bidang kehidupan, banyak orang
dikejutkan oleh teknologi-teknologi baru di bidang
perangkat keras dan perangkat lunak komputer, sehingga
banyak yang melupakan tentang "Basis Data" yang
merupakan representasi digital dari kenyataan fisik dan
logika dari suatu system. Setiap orang yang terlibat di
dalam pembangunan suatu system harus menyadari
bukan hanya pentingnya Basis Data, tapi juga betapa
pentingnya membuat model data yang baik.

Buku ini memfokuskan mengenai konsep dasar dari basis


data, bagaimana membuat model data yang baik dan
bagaimana merancang Basis Data dengan menggunakan

iii
PENGANTAR BASIS DATA

Relationship Diagram dan Normalisasi serta contoh-


conloh kasusnya. Disamping itu membahas Bahasa Query
yang banyak digunakan system Basis Data.

Saat ini penulis juga sedang melakukan revisi terhadap isi


buku ini secara keseluruhan, yang akan mengarah pada
konsep Basis Data aplikasi di lapangan dunia kerja.
Mudah-mudahan dalam waktu dekat bisa terselesaikan
dengan baik. Maka penulis meminta doa dan
dukungannya agar apa-apa yang penulis paparkan nanti
dapat bermanfaat bagi pembaca secara umum dan
mahasiswa LP3I secara khusus dalam membantu mereka
merancang analisa suatu system dalam tugas akhir
mereka. Dengan penuh kerendahan hati penulis
menerima saran dan kritik yang membangun untuk
perbaikan pada bahan revisi berikutnya.

Bekasi, Agustus 2009 Penulis

Sri Widianti. SKom

iv
PENGANTAR BASIS DATA

DAFTAR ISI
KATAPENGANTAR iii

DAFTAR ISI iv

BAB I. KONSEP DASAR SISTEM BASIS DATA 1

1.1 Pengertian Basis Data Dan Sistem Basis Data 2

1.2 Komponen Sistem Basis Data 5

1.3 Keuntungan Dan Kerugian Sistem Basis Data 7

1.3.1. Keuntungan Sistem Basis Data 7

1.3.2. Kerugian Sistem Basis Data 10

1.4 Istilah-istilah Dalam Sistem Basis Data 12

1.5 Abstraksi Sistem Basis Data 14

1.6 Bahasa Basis Data 18

1.7 DBMS (Data Base Management System) 20

BAB II. MODEL DATA 23

2.1. Pengertian Model Data 24

2.2. Model Data Hirarki 26

2.3. Model Data Network 29

v
PENGANTAR BASIS DATA

2.4. Model Data Relational 31

BAB III. ENTITY RELATIONAL DIAGRAM


(ERD) 37

3.1. Komponen ERD 39

3.2. Derajat Relationship 41

3.3. Cardinality Rasio 43

3.4. Participation Constrain 45

3.5. Mapping dari ERD ke Data Base Diagram 47

3.6. Langkah-langkah Membuat Diagram ER 53

3.7. Contoh Kasus 56

BAB IV. NORMALISASI 69

4.1. Definisi Normalisasi 71

4.2. Macam-Macam Anomaly 72

4.3. Jenis-Jenis Ketergantungan 73

4.4. Jenis-Jenis Key 75

4.5. Langkah-langkah Pembentukan Normalisasi 79

4.6. Contoh Kasus 81

vi
PENGANTAR BASIS DATA

BAB V. BAHASA QUERY KOMERSIAL 95

5.1. Structure Query Languange (SQL) 97

5.1.1. Data Definition Language (DDL) 98

5.1.2. Data Manipulation Language (DML) 106

5.1.3. Security Dalam SQL 120

5.2. Query By Example (QBE) 126

5.2.1. Mengoperasikan Skeleton Table 127

5.2.2. Fungsi Utama Variable pada QBE 129

5.2 3.0perasi QBE 130

BAB VI. LINGKUNGAN DATA BASE 133

6.1. Crash dan Recovery 134

6.1.1. Jenis Storage 135

6.1.2. Jenis Kegagalan 136

6.1.3. Pengoperasian dan Struktur Storage 137

6.2. Concurrency 142

6.3. Locking 153

6.4. Security dan Integration 159

6.4.1. Security 159

vii
PENGANTAR BASIS DATA

6.4.2. Integration 162

BAB VII. PERKEMBANGAN BASIS DATA 165

7.1. Kategori DBMS 167

7.2. DBMS dan Aplikasi 169

7.3.Arsitektur Sistem 171

7.4. Perkembangan DBMS Berorientasi Kepada


Pemakai 174

7.4.1. DBMS yang berorientasi untuk satu


pemakai 174

7.4.2. DBMS yang berorientasi untuk


banyak pemakai 175

LAMPIRAN 177

DAFTAR PUSTAKA 195

viii
PENGANTAR BASIS DATA
1
BAB-1
KONSEP DASAR SISTEM
BASIS DATA
"TUNTUTLAH ILMU DARI BUAIAN SAMPAI LIANG
KUBUR"

POKOK BAHASAN :
 Pengertian Basis Data
 Komponen Basis Data
 Keuntungan & kerugian Basis Data
 Istilah-Istilah Basis Data
 Bahasa Basis Data
 DBMS

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
2
BAB KONSEP DASAR
SISTEM BASIS
1 DATA

1.1. PENGERTIAN BASIS DATA DAN SISTEM


BASIS DATA

Penting untuk mengerti secara jelas arti dan


batasan tentang Basis Data dan Sistem Basis Data
sebelum masuk ke pembahasan iebih lanjut.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
3
Berikut ini adalah pengertian Basis Data yang
diberikan oleh James Martin yaitu

"Basis data adalah suatu kumpulan data terhubung


yang disimpan secara bersama-sama pada suatu
media, tanpa adanya suatu kerangkapan data,
sehinggga mudah untuk digunakan kembali, dapat
digunakan oleh satu atau Iebih program aplikasi
secara optimal, data disimpan tanpa mengalami
ketergantungan pada program yang akan
menggunakannya, data disimpan sedemiMan rupa
sehingga apabila ada penambahan , pengambiian
dan modifikasj data dapat dilakukan dengan
mudah dan terkontrol."

Dari pengertian tersebut dapat disimpulkan bahwa


basis data mempunyai beberapa kriteria yang
penting yaitu :

1. Bersifat data oriented dan bukan program


oriented.
2. Dapat digunakan oleh beberapa program
aplikasi tanpa perlu mengubah basis datanya.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
4
3. Dapat berkembang dengan mudah, baik
volume mau pun strukturnya.
4. Dapat memenuhi sistem-sistem baru secara
mudah
5. Dapat digunakan dengan cara-cara yang
berbeda
6. Kerangkapan data dapat diminimalkan.

Dari pengertian tersebut dapat disimpulkan bahwa


Sistem Basis Data adalah "Sistem yang terdiri atas
kumpulan tabel / file yang sali'ng berhubungan
dalam sebuah basis data dan sekumpulan program
berupa DBMS yang memungkinkan beberapa
pemakai atau program lain untuk mengakses dan
memanipulasi tabel-label tersebut."

Sehingga dapal disimpulkan pula bahwa sistem


basis data mempunyai beberapa elemen penting,
yaitu basis data sebagai inti dari sistem basis data,
perangkat lunak untuk mengelola basis data,
perangkat keras sebagai pendukung operasi
pengolahan data, serta manusia yang mempunyai
peran penting dalam sistem tersebut.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
5
1.2. KOMPONEN SISTEM BASIS DATA

Sistem Basis Data merupakan sistem penyusunan


berkas data yang saling terpadu. Mempunyai
komponen-komponen sebagai berikut:

1. Database ( Basis Data )

Adalah kumpulan file-file yang saling


berhubungan atau berelasi sehingga
membentuk suatu basis data.

2. Software ( Perangkat Lunak )

Adalah perangkat lunak yang digunakan


dalam suatu sistem basis data.

Pengelolaan basis data secara fisik tidak dapat


dilakukan pemakai secara langsung, tetapi
ditangani oleh sebuah perangkat lunak yang
khusus yang disebut DBMS ( Database
Management System ) yang akan menentukan
bagaimana data diorganisasikan, disimpan,
diubah dan diambil kembali. Perangkat lunak
yang termasuk dalam DBMS seperti Dbase

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
6
III+, Dbase IV, Foxbase, Foxpro, SQL, Rbase,
Ms Access, Oracle dan Informix.

3. Hardware ( Perangkat Keras)

Adalah perangkat keras dalam suatu sistem


basis data, dimana mempunyai komponen-
komponen utama berupa :

1. Unit Pusat Pengolah ( Central Processing


Unit atau CPU )
2. Unit penyimpanan ( Storage Unit)
3. Keyboard, Monitor, Printer dll

4. Brainware ( Manusia )

Manusia merupakan elemen penting pada


sistem basis data. Pemakai ini terbagi atas
empat kategori:

4. Sistem Engineer

Yaitu tenaga ahli yang bertanggung jawab


atas pemasangan sistem basis data dan
juga mengadakan peningkatan serta

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
7
melaporkan kesalahan darl sistem
tersebut kepada pihak penjual.

5. Administrator Basis Data

Yaitu tenaga ahli yang mempunyai tugas


untuk mengawasi sistem basis data,
merencanakan dan mengaturnya.

6. Programmer

Yaitu bertugas membuat program aplikasi


yang diperlukan oleh pemakai akhir
dengan mehggunakan data yang terdapat
dalam sistem basis data.

7. Pemakai Akhir

Yaitu tenaga ahli yang menggunakan


data untuk mengambil suatu
keputusan yang diperlukan dalam suatu
instansi/perusahaan.

1.3. KEUNTUNGAN DAN KERUGIAN SISTEM


BASIS DATA
1.3.1. Keuntungan Sistem Basis Data

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
8
8. Data dapat dlpakal secara bersama-sama
( Multiple User)

Dalam rangka mempercepat semua daya


guna sistem dan mendapat responsi
waktu yang cepat, beberapa sistem
mengijinkan banyak pemakai untuk
mengupdate data secara simultan.

9. Data dapat distandarisasikan

Jika data tersebar dalam beberapa file


dalam bentuk format yang tidak sama,
maka ini menyulitkan dalam menulis
program aplikasi untuk mengambil dan
menyimpan data. Maka haruslah data
dalam suatu database dibuat format yang
standar sehingga mudah dibuat program
aplikasinya.

10. Mengurangi kerangkapan data


(Redudansi)

Maksudnya data yang sama disimpan


dalam berkas data yang berbeda-beda

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
9
sehingga apa biia ada pengupdatean
maka akan terjadi berulang-uiang.
Penyimpanan data yang sama berulang-
ulang dibeberapa file dapat
mengakibatkan juga inkonsistensi (tidak
konsisten). Apa blla salah satu dari fife
yang mengandung data tersebut terlewat
diupdate maka terjadilah data yang tidak
konsisten lagi.

11. Adanya kemandirian ( kebebasan ) data


atau data independent Dalam paket
bahasa DBMS, misalnya pada struktur file
setiap kali kita hendak melihat data
cukuplah dengan perintah List. Apa bila
hendak menambah data cukup dengan
Append. Jni berarti perintah-perintah
dalam paket DBMS bebas terhadap
database. Apa pun perubahan dalam
database semua perintah akan mengalami
kestabilan tanpa perlu ada yang diubah.
Hal ini akan berbeda dengan paket
bahasa lainnya.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
10
12. Keamanan ( security ) data terjamin.

Tidak setiap pemakai sistem database


diperbolehkan untuk mengakses semua
data maksudnya data dapat dilindungi
dari pemakai yang tidak berwenang.
Keamanan ini dapat diatur lewat program
yang dibuat atau menggunakan fasilitas
keamanan dari operating sistemnya.

13. Keterpaduan data terjaga ( masalah


integritas )

Memelihara keterpaduan data berarti


data harus akurat. hal Ini erat
hubungannya dengan pengontrolan
kerangkapan data dan pemellharaan
keselarasan data.

1.3.2. Kerugian Sistem Basis Data


14. Diperlukan tempat penyimpanan yang
besar

Karena didalamnya terdapat suatu sistem


database yang saling berkaitan maka

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
11
perlu tempat penyimpanan yang besar
untuk menampung sistem yang ada dan
data ( dokumen ) yang akan ditampung.

15. Diperlukan tenaga yang ferampil dalam


mengelola data

Untuk mengelola sistem yang besar


tersebut, maka diperlukan orang yang
memang ahli di bidang komputer yang
menanganl basis data sehingga tidak
terjadi kesalahan-kesalahan yang
diinginkan.

16. Perangkat lunaknya mahal

Perlu biaya yang besar untuk membeli


perangkat lunak yang berorientasi pada
sistem basis data terutama untuk
komputer yang berjenis Main Frame.

17. Kerusakan pada sistem basis data dapat


mempengaruhi depertemen yang terkait.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
12
Karena datanya saling berkaitan, maka
apabila ado kesalahan satu file saja, maka
file-file yang saling berkaitan pun akan
mengalami kesalahan sehingga akan
mempengaruhi departemen yang terkait.

1.4. ISTILAH-ISTILAH DALAM SISTEM BASIS


DATA
1. Enterprise

Yaitu suatu bentuk organisasi Data yang


disimpan dalam basis data merupakan data
operasional dari suatu Enterprise.

Contoh : Sekolah, Rumah Sakit, Bank dll

2. Entitas

Yaitu objek yang dapat dibedakan dengan


objek yang lainnya.

Contoh : Dalam Enterprise Sekolah terdapat


Entitas Mahasiswa, Mata kuliah

3. Atribut

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
13
Yaitu sebutan untuk mewakili suatu entity.

Contoh : Dalam Entitas Mahasiswa memiliki


atribut NIM, Nama, Alamat, Agama dan Iain-
Iain.

4. Nilai Data atau Data Value

Yaitu informasi yang tercakup dalam setiap


elemen data. Isi dari atribut disebut Nilai Data.

5. Record ( Tuple )

Yaitu kumpulan field-field yang saling


berkaitan yang menginformasikan tentang
suatu entity secara lengkap.

6. File

Yaitu kumpulan record-record yang sejenis


dimana mempunyai panjang elemen yang
sama, atribute yang sama namun berbeda-beda
data valuenya.

7. Database

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
14
Yaitu kumpulan file-file yang mempunyai
kaitan antara satu file dengan file lainnya
sehingga membentuk suatu bangunan data.

8. Database Management System ( DBMS )

Yaitu kumpulan file yang saling berkaitan


bersama-sama dengan program untuk
pengelolaanya. Database adalah kumpulan
datanya sedang program pengelolanya berdirl
sendiri dalam satu paket program yang
berfungsi untuk membaca data, mengisi data,
menghapus data serta melaporkan data dalam
database.

1.5. ABSTRAKSI DATA

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
15
Salah satu tujuan dan DBMS unfuk menyediakan
fasilitas dalam melihat data kepada pemakai (user).
Untuk itu sistem tersebut akan menyembunyikan
detail tentang bagaimana data disimpan dan
dipelihara. Karena itu sering kali data yang terlihat
oleh pemakai sebenarnya berbeda dengan yang
tersimpan secara fisik. Abstraksi data merupakan
tingkatan/levei dalam melihat bagaimana data
dalam sebuah sistem basis data.

Ada tiga level Abstraksi Data :

1. Level Fisik atau Internal level

Merupakan level terendah dalam Abstraksi


Data, yang menunjukkan bagaimana
sesungguhnya suatu data disimpan. Pada level
ini pemakai melihat data sebagai gabungan
dari struktur dan datanya sendiri. Pemakai juga
berkompeten dalam mengetahui bagaimana
repsesentasi fisik dari penyimpanan data. Pada
level ini kita akan melihat data sebagai teks,
angka, atau himpunan bit data.

2. level logik ( Konseptual)


PENGANTAR BASIS DATA
PENGANTAR BASIS DATA
16
Merupakan level berikutnya dalam abstraksi
data yang menggambarkan data apa yang
sebenarnya disimpan dalam basis data dan
hubungannya dengan data yang lain.

Level ini menggambarkan keseluruhan


database. Pemakai tidak memperdulikan
kerumitan dalam struktur level fisik lagi,
penggambaran cukup memakai kotck dan
keterangan. Level konseptual ini digunakan
oleh database administrator.

3. level Eksternal ( View level)

Merupakan level tertinggi dari abstraksi data


yang hanya menunjukkan sebagian dari
keseluruhan basis data. Bila pada level
konseptual data merupakan suatu kumpulan
yang besar dan komplek, pada level ini hanya
sebagian saja yang dilihat dan dipakai. Hal ini
disebabkan beberapa pemakai database tidak
membutuhkan semua isi database. Level ini
sangat dekat dengan user/pemakai, karena
setiap user butuh sebagian dari database.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
17
Konsep dari level ini akan menambah
pengertian mengenai kebebasan data ( data
independence ). Data independence dapat
dibagi menjadi dua bagian yaitu:

1. Physical Data Independence

Yaitu Internal skema dapat diubah oleh


database administrator tanpa menggangu
konseptual skema.

2. Logical data Independence

Yaitu Konseptual skema dapat diubah oleh


database administrator tanpa menggangu
eksternal skema.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
18

1.6. BAHASA BASIS DATA

DBMS merupakan perantara bagi pemakai dengan


basis data dalam disk. Cara komunikasi antara
pemakai dengan basis data tersebut diatur dalam
suatu bahasa khusus yang ditetapkan oleh
perusahaan pembuat DBMS. Bahasa ini dapat kita
sebut sebagai Bahasa Basis Data yang terdiri dari
atas sejumlah perintah. Bahasa Basis Data itu
biasanya adalah :

18. Data Definition Language ( DDL)


19. Data Manipulation Language ( DML )
20. Query

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
19
1. Data Definition Language ( DDL)

Struktur basis data yang menggambarkan desain


basis data secara keseluruhan dispesifikasikan
dengan bahasa khusus yang disebut Data
Definition Languange ( DDL J. Dengan bahasa
inilah kita dapat membuat tabel, membuat index,
mengubah tabel dan sebagainya.

2. Data Manipulation Language ( DML)

Merupakan bentuk bahasa basis data yang berguna


untuk melakukan manipulasi dan pengambilan
data pada suatu basis data. Manipulasi itu dapat
berupa : Penyisipan, penghapusan dan
pengubahan data. Data manipulation Language (
DML ) merupakan bahasa yang bertujuan
memudahkan pemakai untuk mengakses data
sebagaimana direpresentasikan oleh model data.

Ada 2 jenis DML yaitu :

1. Prosedural

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
20
Yang mensyaratkan agar pemakai
menentukan, data apa yang
diinginkan serta bagaimana cara
mendapatkannya.

2. Non Prosedural

Yang membuat pemakai dapat


menentukan data apa yang diinginkan
tanpa menyebutkan bagaimana cara
mendapatkannya.

3. Query

Adalah pernyataan yang diajukan untuk


mengambil informasi, biasanya diambil dari relasi
beberapa tabel. Query ini merupakan bagian DML
yang berfungsi untuk pengambilan informasi yang
disebut dengan Query Language.

1.7. DBMS ( DATABASE MANAGEMENT SYSTEM )

Yaitu software yang menangani semua


pengaksesan ke database

Fungsi DBMS:

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
21
1. Data Definition
 DBMS harus dapat menerima data
defition (skema eksternal, skema
conseptual dan skema internal dan semua
mapping-mappingnya )
 DBMS harus mengerti definisi dari DDL
(Data Definition Language )
2. Data manipulation
 DBMS harus dapat menangani
permintaan-permintaan dari user untuk
mengakses data di dalam database.
3. Data Security dan Integrity
 DBMS harus memonitor permintaan user
dan menolak permintaan yang dapat
merusak security dan integrity yang telah
didefinisikan oleh Database Administator
4. Data Recovery dan Concurenncy
 DBMS harus menangani recovery dan
concurrency control
5. Data Dictionary
 DBMS harus menyediakan fungsi data
dictionary

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
22
6. Pertormance
 DBMS harus menangani semua fungsi
efisiensi sebaik mungkin.

Proses Pengaksesan dalam DBMS:

1. Pemakai mengajukan permintaan dengan


menggunakan data sublanguage tertentu ( SQL)
2. DBMS menerima permintaan tersebut dan
menganalisanya.
3. DBMS memeriksa semua skema berikut mapping-
mappingnya dan mendefenisi dari struktur
penyimpanan.
4. DBMS melaksanakan operasi-operasi yang
diperlukan pada penyimpanan database.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
23
BAB-2
MODEL DATA
"DIBALIK KESULITAN PASTI ADA KEMUDAHAN"

Sumber Gambar http://katakatamutiara.me/dibalik-kesuli 1

POKOK BAHASAN :

 Pengertian Model Data


 Model Data Hirarki
 Model Data Jaringan
 Model Data Relational

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
24

BAB MODEL DATA

2.1 PENGERTIAN MODEL DATA

Ada beberapa model data di dalam suatu sistem


basis data. Model data adalah pemetaan yang
menunjukan hubungan logikal antara elemen data
atau suatu cara untuk menjelaskan bagaimana
pemakai dapat melihat data secara logik. Dalam hal
ini pemakai tidak perlu memperhatikan bagaimana
PENGANTAR BASIS DATA
PENGANTAR BASIS DATA
25
data disimpan dalam media penyimpanan secara
fisik. Penggolongan model data dapat ditunjukkan
dalam gambar berikut ini:

Dalam bab ini kita hanya membahas model data yang


berbasis record saja, sedang model data jenls yang
lainnya akan dibahas dalam bab tersendiri. Model data
berbasis record terdiri dari:

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
26
1. Model data Hirarki
2. Model data Network
3. Model data Relational

2.2 MODEL DATA HIRARKI

Sebuah basis data dengan Model data Hirarki terdiri


atas sekumpulan record yang dihubungkan satu
sama lain melalui link ( berupa pointer) yang
membentuk suatu struktur hirarki. Model data
hirarki disebut juga model Struktur Pohon.

Ketentuan-ketentuan dalam Model Data Hirarki


adalah :

 Terdiri dari kumpulan record (Rl, R2,


R3,.... Rn) yang masing-masing
mempunyai field pengenal
 Terdapat suatu kumpulan kaitan yang
menghubungkan semua jenis record
sehingga membuat diagram struktur data.
 Kaitan tersebut membentuk suatu pohon
yang semua ujungnya mengarah ke daun.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
27
 Tak mungkin ada elemen yang
mempunyai parent lebih dari satu.
 Setiap kaitannya membentuk hubungan
tunggal-jamak, artinya jika Ri parent dari
Rj, maka setiap record Rj tepat hanya
mempunyai 1 record Ri yang berkaitan

Model Hirarki mempunyai duo kon;ep


struktur data yaitu; Record, Parent Child
Relationship (PCR). Record adalah
kumpulan nilai-nilai field yang memberikan
informasi pada suatu entitas atau
relationship. Record-record yang sejenis
dikelompokkan dalam record type. Record
type diberikan nama dan strukturnya
didefinisikan oleh kumpulan nama-nama

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
28
field dimana masing-masing field
mempunyai jenis data tertentu. Parent Child
Relationship type adalah relasi 1 N antara
dua record type dan disisi lain (N) disebut
child record type dari PCR type. PCR type
terdiri dari satu record dari parent record
type dan beberapa record dari child record
type.

Contoh :

Berikut ini adalah contoh yang mengilustrasi


hubungan antara record-record Dosen
dengan record Kuliah pada sistem
perkulihan :

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
29

Dapat dilihat bahwa himpunan record-


record Dosen dan Kuliah diorganisasikan
dalam sebuah struktur pohon dengan Root
yang merupakan record dummy, Dari
struktur pohon tersebut dapat disimpulkan
bahwa tipe record Kuliah berada tipe record
Dosen secara hirarki. Sering pula disebutkan
tipe record Kuliah merupakan Child dan
tipe record Dosen merupakan parent dalam
struktur tersebut.

2.3 MODEL DATA JARINGAN (NETWORK MODEL)

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
30
Sebuah basis data dengan Model Jaringan akan
terdiri atas sekumpulan record yang dihubungkan
satu sama lain melalui link (yang berupa pointer).
Setiap record adalah sekumpulan field yang masing-
masing hanya berisi sebuah nilai data. Sebuah link
merupakan sebuah penghubung di antara dua
record.

Model Jaringan dikenal sebagai struktur Plex. Pada


dasarnya struktur jaringan ini merupakan perluasan
dari struktur hirarki. Kalau pada struktur hirarki,
setiap child hanya mempunyai satu parent,
sedangkan pada struktur jaringan setiap child dapat
mempunydi lebih dari satu parent. Struktur jaringan
merupakan suatu graph, terdiri dari suatu node
(simpul)( yang dihubungkan dengan suatu edge.

Beberapa ketentuan untuk Model Data Jaringan :

 Terdapat lebih dari satu edge antara


pasangan node
 Tidak ada konsep root node
 Suatu node dapat mempunyai lebih dari
parent node

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
31

Contoh :

Berikut ini adalah contoh yang mengilustrasi


hubungan antara record-record Dosen dengan
record Kuliah pada sistem perkulihan :

2.4 MODEL DATA RELATIONAL


PENGANTAR BASIS DATA
PENGANTAR BASIS DATA
32
Model data relational digambarkan dalam bentuk
tabel 2 dlmensi. Untuk memberikan gambaran
sebuah berkas data. Kolom dari tabel relational
menunjukkan antara field dari suatu record.
Sedangkan baris menunjukkan hubungan antara
record dalam suatu berkas data.

Istilah-lstilah Dalam Model Data Relational

 Relational = Tabel
 Tuple = Baris/Record
 Cardinality = Jumlah baris
 Atribut = Kolom/field
 Degree = Jumlah kolom
 Domain = Sekumpulan data

♦ Definisi Relasi

Yaitu Diberikan suatu himpunan Di, D2, .. Dn. R


merupakan relasi pada semua himpunan d\ atas
jika relasi itu adalah suatu himpunan dari n tuple
yang berurutan. Misal dl, d2,... dn sedemikian rupa
sehingga dl milik Dl, d2 milik D2 dan seterusnya

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
33
dn milik Dn. Himpunan Dl, D2, ... Dn adalah
domain dari relasi Rn adalah tingkat dari relasi R

♦ Sifat-Slfat Relasi

 Tidak ada tuple yang ganda


 Tuple-tuple boleh tidak berurutan
 Atribut-atributnyo tidak perlu urut
 Semua nilai atribut adalah atomik, artinya
atribut yang satu berbeda dengan lainnya.

Adapun karakteristik model data Relational adalah :

 Semua elemen data pada suatu baris dan


kolom tertentu harus mempunyai nilai
tunggal.

 Semua elemen data pada suatu kolom


tertentu dalam relasi yang sama harus
mempunyai jenis yang sama.

 Masing-masing kolom dalam suatu relasi


mempunyai suatu nama (atribut) yang
unik.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
34
 Pada suatu relasi atau tabel yang sama
tidak ada dua baris yang identik.

Contoh : Sebuah basis data model relational yang terdiri


dari

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
35

Tabel seperti di atas dianggap sebagai suatu relasi. Baris


dari tabel disebut Tuple sedang kolom dari tabel disebut
Atribut.

Keterangan :

 Tabel Supplier terdiri dari No__Supplier sebagai


kunci elemen data bersama 2 field lain yaitu
Nama_Supplier c|an Kota

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
36
 Tabel Barang terdiri dari Kode_Barang sebagai kunci
elemen data bersama 2 field lain yaitu Namajtargng
dan Harga

 Tabel Transaksi terdiri dari No_Supplier dan


Kode_Barang sebagai kunci elemen data bersama-
sdma dengan filed Jumlah.

Ketiga tabel tersebut bersatu padu membentuk satu basis


data Model Relational.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
37
BAB-3
ENTITY RELATIONAL
DIAGRAM (ERD)
"BERSIFATLAH KAMU SEPERTI PADI, SEMAKIN
BERISI SEMAKIN MERUNDUK"

Sumber Gambar: http://www.google.co.id/

POKOK BAHASAN :
 Komponen ERD  Mapping dari ERD ke Database
 Derajat Relationship Diagram

 Cardinality Rasio  Langkah-Langkah Membuat


Diagram ER
 Participation Constrain
 Contoh Kasus

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
38
ENTITY
BAB
RELATIONAL
3 DIAGRAM (ERD)

Entity Relationship Diagram merupakan jaringan yang


menggunakan susunan data yang disimpan dari sistem
secara abstrak. Diagram Entity Relationship ini ditemukan
oleh Chen tahun 1976. Tujuan dari Entity Relationship ini
adalah untuk menunjukkan objek data dan relationship
yang adapoda objek tersebut. Disamping itu Model ER ini

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
39
merupakan salah satu alat untuk perancangan dalam basis
data.

3.1. KOMPONEN ( SIMBOL ) ERD

1. Entity

Adalah suatu objek yang dapat dibedakan atau dapat


diidentifikasikar :ecara unik dengan objek lainnya,
dimana semua informasi yang berkaitan dengannya
dikumpulkan. Kumpuldn dari entity yang sejenis
dinamakan Entity Set.

Contoh:

Proyek Penjualan
Langganan Kendaraan
Peralatan Pegawai
Pasien Obat dll

Simbol dari Entity adalah :

2. Relationship

Adalah hubungan yang terjadi antara satu entity dengan


entity lainnya. Relationship tidak mempunyai keberadaan

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
40
fisik atau konseptual kecuali yang diwarisi dari hubungan
antara entity tersebut. Kumpulan Relationship yang
sejenis dinamakan dengan Relationship Diagram.

Keterangan: Memiliki adalah relationship set yang


terbentuk antara entity Pegawai dengan entity Kendaraan.

3. Atribut

Adalah karacteristik dari Entity atau Relationship yang


menyediakan penjeiasan detail tentang entity atau
relationship tersebut.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
41

3.2. DERAJAT RELATIONSHIP

Derajat dari Relationship adalah : 1. Unary ( Derajat


satu)

Adalah satu buah relationship menghubungkan satu buah


entity

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
42
Keterangan : Manusia menikah dengan manusia,
Relationship menikah hanya menghubungkan entity
manusia

2. Binary ( Derajat Dua )

Adalah satu buah Relationship rnenghubungkan dua


buah entity.

Keterangan : Pegawai memiliki kendaraan, sebuah


Relationship memiliki menghubungkan entity Pegawai
dan entity Kendaraan

3. Ternary ( Derajat Tiga )

Adalah satu buah Relationship menghubungkan tiga buah


Entity.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
43

Keterangan : Pegawai pada kota tertentu mempunyai


suatu proyek.

Entity Bekerja menghubungkan Entity Pegawai, Proyek


dan Kota.

3.3. CARDINALITY RASIO

Yaitu menjelaskan batasan pada jumlah entity yang


berhubungan melalui suatu relationship.

Jenis-Jenis Cardinality Rasio :

1. One To One (1:1)

Yaitu perbandingan antara entity pertama dengan


entity kedua berbanding satu berbanding satu.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
44

2. One To Many ( 1 : M )

Yaitu perbandingan antara entity pertama dengan


entity kedua berbandiny satu berbanding banyak.

3. Many To One ( M : 1 )

Yaltu perbandingan antara entity pertama dengan


entity kedua berbanding banyak berbanding satu.

4. Many To Many ( M : M )

Yaitu perbandingan antara entity pertama dengan


entity kedua berbanding banyak berbanding banyak.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
45

3.4. PARTICIPATION CONSTRAIN

Yaitu untuk menyatakan setiap entity pada type


tertentu apakah harus berpartisipasi pada entity lair
nya atau tidak.

Jenis-Jenis Participation Constrain adaiah :

1. Total Participation

Yaitu suatu keharusan suatu entity untuk


berpartisipasi dengan entity lainnya. Total
Participation digambarkan dengan :
(garis dua)

2. Partial Participation

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
46
Yaitu sebuah entity tidak diharuskan untuk
berpartlsipasi dengan entity lainnya. Partial
Participation digambarkan dengan : ----------------
( garis satu)

Marilah kita lihat beberapa contoh dalam sebuah


kasus ;

Artinya : Pegawai tidak harus bekerja pada suatu


proyek dan proyek pun tidak harus memjliki
pegawai.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
47
Artinya : Pegawai harus bekerja pada suatu
proyek dan proyek tidak harus merniliki
pegawai.

Artinya : Pegawal tidak harus bekerja pada suatu


proyek dan proyek harus memiliki pegawal.

Artinya : Pegawai harus bekerja pada suatu


proyek dan proyek pun harus memiliki pegawai.

3.5. MAPPING DARI ERD KE DATABASE


DIAGRAM

Aturan 1 : Bila type relasi berbanding 1 : 1 dan


participation constraint dari kedua entity adalah
total, hanya satu relasi yang harus dibuat. Primary
key dapat dipilih salah satu dari tiap entity.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
48

Maka relasinya adalah :

Transaksi (Nopeg. Napea,..........., Nokend, Nakend )

Aturan 2 : Bila type relasi berbanding 1:1 dan


participation constraint dari salah satu entity adalah
total, maka harus dibuat 2 buah relasi dan primary
key pada entity yang partial harus dijadikan foreign
key pada relasi lainnya.

Contoh :

Maka relasinya adalah :

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
49
 Pegawai ( Nopeq, Napeg,.......)
 Kendaraan ( Nokend, Nakend, ........., NOPeg)

Aturan 3 : Bila type relasi berbanding 1 : 1 dan


participation constraint dari kedua entity adalah
partial, maka dibuat 3 relasi. Relasi ketiga adalah
primary key kedua entity tersebut.

Contoh :

Maka relasinya adalah :

• Pegawai ( Nopeg, Napeg.......)


• Kendaraan ( Nokend, Nakend, ....)
• Transaksi ( Nopeg, Nokend )

Aturan 4 : Bila type relasi berbanding I ; M dan


participation constraint pada sisi M adalah total,
maka harus dibuat 2 buah relasi dan primary key

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
50
pada entity yang mempunyai cardinality rasio 1
harus ditambahkan ke dalam relasi M sebagai
foreign key.

Contoh :

Maka relasinya adalah :

 Pegawai ( Nopeg, Napeg.......)


 Kendaraan ( Nokend, Nakend,.......Nopeg )

Aturan 5 : Bila type relasi berbanding 1 : M dan


participation constraint pada sisi M adalah partial,
maka dibuat 3 relasi. Relasi ketiga adalah primary
key kedua entity tersebut.

Contoh :

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
51

Maka relasinya adalah :

• Pegawai ( Nopeg. Napeg.......)


• Kendaraan ( Nokend, Nakend.....)
• Transaksi ( Nopeg, Nokend )

Aturan 6 : Bila type relasi berbanding M : M dan


participation constraint tidak perlu dilihat. mgka
dibuat 3 relasi. Relasi ketiga adaiah primary key
kedua entity tersebut.

Contoh :

Maka relasinya adalah :

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
52
• Pegawai ( Nopeg, Napeg.......)
• Kendaraan ( Nokend, Nakend.....)
• Transaksj ( Nopeg, Nokend )

Aturan 7 : Bila degree dari relationship adalah


ternary ( derajat tiga ) maka harus dlbuat 4 buah
relasi dimana relasi keempat merupakan gabungan
darl primary key ketiga relasi tersebut ( participation
constraint tidak perlu dilihat)

Contoh :

Maka relasinya adalah :

• Proyek ( NoProvek. NmProyek, ...)


• Pegawaj ( NoPeg, Napeg. ...)
• Kota(Nokoa, Kota .....)

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
53
• Pekerjaan ( Nopeq, Nokota. Noproyek )

3.6. LANGKAH-LANGKAH MEMBUAT DIAGRAM -


ER
1. Mengidentifikasi dan menetapkan seluruh
himpunan entitas yang akan terlibat.
2. Menentukan atribut-atribut key dan masing-
masing himpunan entitas.
3. Mengidentifikasi dan menetapkan seluruh
himpunan relasi diantara himpunan entitas yang
ada beserta foreign-keynya.
4. Menentukan derajat dan kardinality rasio relasi
untuk setiap himpunan relasi.
5. Menentukan Partisipalion constrant dari suatu
relasi untuk setiap himpunan relasi.
6. Melengkapi himpunan relasi dengan atribut-
atribut yang bukan kunci. ( non-key )

3.7. CONTOH KASUS


1. Suatu perguruan tinggi mempunyai banyak
mahasiswa. Setiap mahasiswa tidak harus
mengikuti suatu mata kuliah. Setiap mahasiswa

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
54
biasanya mengikuli beberapa mata kuliah. Suatu
mata kuliah diajarkan oleh Seorang dosen dan
seorang dosen bisa mengajar beberapa mata
kuliah. Dan seorang dosen harus mengajarkan
suatu mata kuliah. Pada entitas Mahasiswa
diperlukan informasi tentang Nim, Nama_Mhs,
Alamat_Mhs dan Jurusan sedangkan Mata
Kuliah diperlukan informasi Kd_mk, Nm_mk,
Sks, Semester sedangkan Dosen diperlukan juga
informasi tentang Kd_Dosen, Nm_Dosen.

Pertanyaan : Buat E R D-nya

Jawab :

1. Mengidentifikasi dan menetapkan


seluruh himpunan entity yang akan
terlibat.

Sebagaimana yang telah kita sebutkan,


himpunan entitas mewakili sebuah
kumpulan entitas yang jelas
eksistensinya dan dapat berdiri sendiri.
Akan tetapi himpunan entitas mana saja

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
55
yang akan kita libafkan tidak hanya
tergantung pada jenis sistem yang akan
kita tinjau, tetapi juga ditenlukan oleh
seberapa jauh ruang lingkungan yang
ingin kita akomodasi dalam rancangan
basis data. Dari ruang lingkup soal cli
atas maka ada tiga buah himpunan
entitas, yaitu Mahasiswa, Mata Kuliah dan
Dosen.

2. Menentukan atribut-atribut key dari


masing-masing himpunan entitas.

Atribut-atribut key yang kita sertakan di


masing-masing himpunan entitas
merupakan atribut terpenting yang
dapat mengidentifikasi setiap entitas
yang ada di dalamnya. Dari soal di atas
primary key untuk entitas Mahasiswa
adalah atribut Nim, di himpunan entitas
Mata Kuliah adalah atribut Kd_Mk dan

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
56
di himpunan Dosen adalah atibut
Kd_Dosen.

3. Mengidentifikasi dan menetapkan


seluruh himpunan relasi diantara
himpunan entitas yang ada beserta
foreign-keynya.

Langkah ketiga ini merupakan langkah


yang terpenting dalam pembentukan
Diagram ER. Ketepatan kita dalam
menentukan relasi-relasi yang terjadi di
antara himpunan entitas akan sangat
menentukan kualitas rancangan basis
data yang akan kita bangun. Himpunan
relasi Mempelajari dan himpunan relasi
Dlajar merupakan relasi langsung yang
terjadi antara himpunan entitas
Mahasiswa dan Mata Kuliah serta antara

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
57
himpunan entitas Dosen dengan Mata
Kuliah.

4. Menentukan derajat dan kardinality


rasio relasi untuk setiap himpunan
relasi.

Fakta memperlihatkan bahwa seorang


mahasiswa boleh mengambil beberapa
Mata kuliah sekaligus dan begitu pula
sebaliknya, sebuah mala kuliah dapat
diikuti oleh banyak mahasiwa. Maka
kardinality rasio relasi antara himpunaa
entitas mahasiswa dan kuliah banyak
(M) ke banyak ( M ). Sementara fakta
yang ada juga menunjukkan bahwa

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
58
seorang Dosen dapat mengajar beberapa
mata kuliah (pada semester yang
berjalan), tetapi setiap mata kuliah
hanya dipegang oleh seorang dosen.
Maka kardinality rasio relasi antara
himpunan entity Dosen dan Mata
Kuliah adalah salu ( 1 ) ke banyak ( M ).
Berangkat dari fakta tersebut, maka
Diagram ER kita sekarang menjadi

5. Menentukan Partisipation constrant


dari suatu relasi untuk setiap
himpunan relasi.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
59
Setelah itu langkah selanjutnya adalah
menentukan partisipation antara entitas
yang dda. Dari kasus di atas
partisipation antara entitas Mahasiswa
dan Mata Kuliah adalah seorang
mahasiswa tidak harus mengikuti suatu
mata Kuliah tertentu tetapi suatu Mata
Kuliah harus diikuti oleh mahasiswa.
Partisipation antara entitas Mata Kuliah
dan Dosen adalah suatu mata kuliah
harus diajarkan oleh seorang dosen dan
sebaliknya seorang dosen harus
mengajar suatu mata kuliah.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
60
6. Melengkapl himpunan relasi dengan
atribut-atribut yang bukan kunci ( non-
key )

Berangkat dari fakta yang ada, atribut-


atribut deskripsi yang dapat kita
sertakan pada masing-masing himpunan
entitas dan himpunan relationship yang
ada. Maka selesailah pembuatan
diagaram ER ini dengan melengkapi
atribut setiap entitas dan relationship
yang ada.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
61

2. Suatu kIinik memiliki praktek dokter bersama,


sehingga dalam klinik lersebut memiliki banyak
dokter. Seorang pasien, apabila akan berobat
harus diperiksa oleh dokter dan sebaliknya
dokter pun harus memeriksa pasien. Pasien yang
berobat pada klinik tersebut lebih dari seorang.
Setiap selesai diperiksa pasien biasanya
menerima resep berupa obat dan biasanya setiap
pasien menerima beberapa jenis obat. Informasi
tenlang dokter adalah kode dokter, nama dokter,
PENGANTAR BASIS DATA
PENGANTAR BASIS DATA
62
spesialis dan tarif. Sedangkan informasi tentang
pasien adalah nomor pasien, nama pasien dan
alamat. Informasi tentang obat adalah kode obat,
nama obat, dosis.

Pertanyaan : Buat ERD-nya

Jawab :

1. Mengidentifikasi dan menetapkan seluruh


himpunan entity yang akan terlibat.

Sebagaimana yang telah kita sebutkan,


himpunan entitas mewakili sebuah kumpulan
entitas yang jelas eksistensinya dan dapat
berdiri sendiri. Akan tetapi himpunan entitas
mana saja yang akan kita libatkan tidak hanya
tergantung pada jenis sistem yang akan kita
tinjau, tetapi juga ditentukan oleh seberapa
jauh ruang lingkungan yang ingin kita
akomodasi dalam rancangan basis data. Dari
ruang lingkup soal di atas maka ada tiga buah
himpunan entitas, yaitu Dokter, Pasien dan
Obat.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
63

2. Menentukan atribut-atribut key darl masing-


masing himpunan entitas.

Atribut-atribut key yang kita sertakan di masing-


masing himpunan entitas merupakan atribut
terpenting yang dapat mengidentifikasi setiap
entitas yang ada di dalamnya. Dari soal di atas
primary key untuk entitas Pasien adalah atribut
No_Pas. di himpunan entitas Dokter adalah
atribut Kd_Dok dan di himpunan Obat adalah
atribut Kd_Obat.

3. Mengidentlfikasi dan menetapkan seluruh


himpunan relasi diantara himpunan entitas
yang ada beserta foreign-keynya,

Langkah ketiga ini merupakan langkah yang


terpenting dalam pembentukan Diagram ER.
PENGANTAR BASIS DATA
PENGANTAR BASIS DATA
64
Ketepatan kita dalam menentukan relasi-relasi
yang terjadi di antara himpunan entitas akan
sangat menentukan kualitas rancangan basis data
yang akan kita bangun.

Himpunan relasi Mendapat dan himpunan relasi


Diperiksa merupakan relasi langsung yang terjadi
antara himpunan entitas Pasien dan Obat serta
antara himpunan entitas Pasien dengan Dokter.

4. Menentukan derajat dan kardinality rasio relasi


untuk setiap himpunan relasi. Fakta
memperlihatkan bahwa seorang Pasien diperiksa
oleh seorang Dokter. Tetapi seorang Dokter dapat
memeriksa banyak Pasien. Maka kardinality rasio

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
65
relasi antara himpunan entitas Pasien dan Dokter
adalah banyak (M) ke Satu (I). Sementara takta
yang ada juga menunjukkan bahwa seorang
Dosen dapat mendapat beberapa jenis Obat, dan
satu jenis Obat pun dapal diterima oleh banyak
pasien. Maka kardinality rasio relasi antara
himpunan entity Pasien dan Obat adalah banyak
( M ) ke banyak ( M ). Berangkat dari fakta
tersebut, maka Diagram ER kita sekarang
menjadi

5. Menentukan Partisipation constrant dari suatu


relasi untuk setiap himpunan relasi.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
66
Setelah itu langkah selanjutnya adalah
menentukan partisipation antara entitas yang
ada. Dari kasus di atas partisipation antara
entitas Pasien dan Dokter adalah seorang Pasien
harus diperiksa oleh seorang Dokter dan seorang
Dokter pun harus memeriksa seorang Pasien.
Partisipation antara entitas Pasien dan Obat
adalah seorang Pasien tidak harus mendapat
Obat dan Obat pun tidak harus diterima oleh
Pasien pada saat beliau melakukan pemeriksaan.

6. Melengkapi himpunan relasi dengan atribut-


atribut yang bukan kunci (non-key)

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
67
Berangkat dari fakta yang ada, atribut-atribut
deskripsi yang dapat kita sertakan pada masing-
masing himpunan enWas dan himpunan
relationship yang ada. Maka selesailah
pembuatan diagara n ER ini dengan melengkapi
atribut setiap entitas dan relationship yang ada.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
68

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
69
BAB-4
NORMALISASI
"DIBALIK KEGAGALAN MERUPAKAN AWAL DARI
SUATU KESUKSESAN"

POKOK BAHASAN :
• Definisi Normalisasi
• Macam-Macam Anomaly
• Jenis-Jenis Ketergantungan
• Jenis-Jenis Key
• Langkah-Langkah Pembentukan Normalisasi
• Contoh Kasus

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
70
TEKNIK
BAB
NORMALISASI
4

Perancangan basis data sangat diperlukan, agar kita bisa


memiliki basis data yang baik dan efisien dalam
penggunaan ruang penyimpanan, cepat dalam
pengaksesan dan mudah dalam melakukan manipulasi
(Penambahan, pengubahan dan penghapusan) data.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
71
Dalam merancang basis data, kita dapat melakukan
dengan dua cara yaitu :

1. Menerapkan teknik Normalisasi terhadap struktur


tabel yang ada
2. Membuat model Entity Relationship

Dalam hal ini kita akan membahas teknik Normalisasi


sedangkan model Entity Relationship akan telah dibahas
dalam bab sebelumnya.

4.1. DEFINISI NORMALISASI

Normalisasi

Adalah proses pengelompokkan data ke dalam


bentuk tabel atau relasi atau file untuk menyatakan
entitas dan hubungan mereka sehingga terwujud
satu bentuk database yang mudah untuk
dimodifikasi.

Pada proses Normalisasi selalu diuji par a beberapa


kondisi. Apakah ada kesulitan selama proses
delete, insert atau update dalam basis data yang

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
72
disebut sebagai penyimpangan-penyimpangan
atau dikenal dengan Anomaly

4.2. MACAM-MACAM PENYIMPANGAN


(ANOMALY)

Dibawah ini akan diberikan contoh Anomaly sbb:

Tabel Resep

♦ Insertion Anomaly

Yaitu Error atau kesalahan yang terjadi


sebagai akibat operasi menyisipkan
tuple/record pada sebuah relasi. Contoh :
Jika ada obat baru yang akon
dimasukkan/disisipkan, maka obat tersebut
tldak dapat disisipkan ke dalam relasi
sampai ada pasien yang mengambil jenis
obat tersebut.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
73
♦ Deletion Anomaly

Yaitu error atau kesalahan yang terjadi


sebagai akibat operasi penghapusan
terhadap tuple/record dari sebuah relasi
Contoh : Jika pasien yang memiliki
No^Pasien P001 membatalkan tidak jadi
menembus resep obat tersebut, maka jika
record tersebut dihapus akan menyebabkan
hilangnya informasi tentang kode_obat
KdOl.

♦ Update Anomaly

Yaitu Error atau kesalahan yang terjadi


sebagai akibat operasi perubahan
tuple/record dari sebuah relasi. Contoh :
Jika harga obat untuk kode_obat KdOl
dinaikkan dari 2000 menjadi 5000, maka
harus dilakukan beberapa kali modifikasi
terhadop record-record pasien yang
menembus kode_obat KdOl, agar data selalu
tetap konsisten.

4.3. JENIS-JENIS KETERGANTUNGAN


PENGANTAR BASIS DATA
PENGANTAR BASIS DATA
74
♦ Ketergantungan Fungsional (Functional
Dependence)

Yaitu Diberikan sebuah relasi R, atribut Y


dari R adalah bergantung fungsional pada
artibut X dari R ( dapat ditulis R.X --> R.Y )
jika dan hanya jika setiap nilai X dalam R
punya hubungan dengan tepat satu nilai Y
dalam R

Contoh :

Barang ( Kd_Brg, Nm_Brg/.Harga )

Nm_Brg FD pada Kd_Brg ditulis


Barang.Kd_Brg --> Barang.Nm_Brg Harga FD
pada Kd_Brg ditulis Barang.Kd_Brg -->
Barang.Harga

♦ Ketergantungan Fungslonal Penuh ( Fully


Functionally Dependent)

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
75
Yaitu Bila atribut Y dan relasi R adalah FFD
pada atribut'X dari relasi R jika Y FD pada X
dan tidak FD pada himpunan bagian dari X

♦ Ketergantungan Transitif

Yaitu Bila menjadi atribut biasa pada suatu


relasi, tetapi menjadi kunci pada relasi
lainnya. Jika A ~> B dan B -» C, maka A -» C
adalah transitit

♦ Ketergantungan Parslal

Yaitu sebagian dari kunci itu dapat digunakan


sebagai kunci utama

♦ Ketergantungan Determinan

Yaitu suatu atribut atau gabungan atribut dimana


beberapa atribut lain bergantung sepenuhnya pada
atribut tersebut.

4.4. JENIS-JENIS KEY

Key adalah sebuah atau gabungan dari beberapa


atribut/field yang dapat membedakan semua

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
76
record dalam tabel secara unik. Artinya, jika suatu
atribut dijadikan sebagai key maka tldak boleh ada
dua atau leblh baris data dengan nilai yang sama
untuk atribut tersebut.

Ada beberapa macam key yang dapat dilerapkan


pada suctu tabel, yaitu :

1. Super Key
2. Candidate Key
3. Primary Key
4. Altematlf Key
5. Composite Key
6. Foreign Key

♦ Super Key

Yaltu merupakan satu atau leblh atribut yang


dapat membedakan setiap baris data dalam
sebuah tabel secara unik.

Contoh : Tabel Mahasiswa ( Nim, Nm_Mhs,


TgLLahir, Alamat)

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
77
Maka yang dapat dijadikan Super key adalah :

 ( Nim, Nm_Mhs,. Alamat, TgLLahir)


 ( Nim, Nm_Mhs)
 ( Nim, TgLLahir)
 ( Nm__Mhs)
 ( Nim)

♦ Candidate Key

Adalah merupakan kumpulan atribut minimal


yang dapat membedakan setiap baris data
dalam sebuah tabel secara unik. Sebuah
Candidate key tidak boleh berisi atribut atau
kumpulan atribut yang telah menjadi super key
yang lain. Jadi sebuah candidate key pastilah
Super key. tetapi belum tentu sebaliknya. Pada
contoh di afas, maka candidate key adalah :

 (Nim)
 ( Nm_Mhs)

♦ Primay Key

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
78
Adalah Memilih sebuah dari Candidate key,
dimana jaminan keunikan key-nya lebih baik.
Pada contoh di atas maka primary key adalah

 (Nim)

♦ Alternate Key

Adalah candidate key yang tidak dijadikan


primary key

♦ Composite Key

Adalah key yang terdiri dari dua atribut atau


lebih, dimana atribut-atribut tersebut bila
berdiri sendiri tidak menjadi identitas record,
tetapi bila dirangkaikan menjadi satu
kesatuan yang dapat IT, ;ngidentifikasikan
record secara unique.

♦ Foreign Key

Adalah non key atribut pada sebuah relasi


yang juga menjadi primary key atribut pada
relasi lainnya. Foreign key biasanya

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
79
digunakan sebagai penghubung antara
record-record dari kedua relasi tersebut.

4.5. UNGKAH-LANGKAH PEMBENTUKAN


NORMALISASI

Keterangan :

♦ Bentuk Tidak Normal ( Unnormalized Form )

Yaitu bentuk ini merupakan kumpulan data yang


tidak ada keharusan mengikuti format tertentu, dapat
saja data tidak lengkap atau terduplikasi.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
80
♦ Bentuk Normal satu / First Normal Form (INF)

Yaitu bila relasi tersebut mempunyai nilai data yang


atomik, artinya tidak ada lagi kerangkapan data.

♦ Bentuk Normal Dua / Second Normal Form ( 2 NF)

Yaitu bila reiasi tersebut merupakan 1 NF dan setiap


atribut tergantung penuh pada primary key.

♦ Bentuk Normal Tlga / Third Normal Form ( 3 NF )

Yaitu bila relasi merupakan 2 NF dan tidak


tergantung secara transitif pada primary key.

♦ Bentuk Normal Boyce - Codd / Boyce - Codd Norm


Form ( BCNF )

Yaitu bila relasi merupakan 3NF dan semua


determinatnya merupakan Candidate key

♦ Bentuk Normal Empat / Fourth Norm Form ( 4 NF )

Yaitu bila relasi merupakan BCNF, yang mana rinci


data yang ada didalamnya tidak mengalami
ketergantungan pada banyak nilai atau semua rinci

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
81
data yang mengalami ketergantungan pada banyak
nilai adalah juga mengalami ketergantungan

♦ Bentuk Normal Lima / Fifth Norm Form ( 5 NF )

Yaitu Suatu relasi berada daiam bentuk normal kelima


jika relasi data yang ada di dalam struktur data tidak
dapat direkonstruksikan dari struktur data yang
memuat rinci data lebih sedikit.

4.6. CONTOH KASUS


1. Kasus Faktur Pembelian Barang

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
82

♦ Bentuk Unnormalized

Caranya : Masukkan semua field data yang ada

Keterangan :

Terlihat masih ada record yang tidak lengkap, maka tabel


di atlas harus dirubah menjadi bentuk normal satu.

♦ Bentuk Normal Satu

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
83

Namun bentuk normal kesatu ini mempunyai


banyak kelernahan yailu :

a. Proses Inserting/ Penyisipan

Kita tidak dapat memasukkan kode dan nama


supplier saja tanpa ada transaksi pembelian,
sehingga supplier baru dapat masuk bila ada
transaksi penghapusan.

b. Proses Deleting/ Penghapusan

Bila satu record di atas dihapus, misalnya


nomor factur 779, maka berakibat pula
menghapus data supplier S02 ( Hitachi),
padahal data supplier masih diperlukan.

c. Proses Updating/ Penghapusan

Kode dan noma supplier terlihat ditulis berkali-


kali, bila suatu ketika terjadi perubahan nama
PENGANTAR BASIS DATA
PENGANTAR BASIS DATA
84
supplier misalnya, maka harus mengganti
disemua record yang mengandung hal
tersebut. Bile ada yang terlewat maka membuat
data tidak konsisten lagi.

d. Redudancy

Field jumlah di atas merupakan redundancy,


karena setiap kali harga dikalikan dengan
quantitas akan menghasilkan jumlah. Maka
field tersebut dapatlah dibuang, bila tidak
dibuang maka mengakibatkan tidak konsisten.
Tidak konsisten disini disebabkan karena bila
ada perubahan harga, hanya data harga yang
diubah, data jumlah tidak maka nilai jumlah
tidak sama dengan qty dikalikan dengan harga

Maka dengan melihat kelemahan tersebut,


maka bentuk normal satu ini harus kita rubah
ke dalam bentuk normal dua.

♦ Bentuk Normal Dua

Pembentukkan normal dua dengan cara


mencari kunci-kunci field yang sifatnya unik.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
85
Melihat kondisi tabel di atas maka dapat
diambil kunci kandidat yaitu :

 No Factur
 Kode Supplier
 Kode Barang

Dimana setiap field bergantung penuh kepada


primary key, maka bentuk normal dua-nya
sebagai berikut.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
86

Namun permasalahan masih ada yaitu pada


tabel Nota

a. Field Qty dan Harga pada tabel


tersebut tidak bergantung penuh pada
kunci primer no Factur, ia juga
bergantung fungsi pada kode barang.
Hal ini disebut sebagai ketergantungan

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
87
yang transistif dan haruslah
dipisahkan dalam dua tabel.
b. Masih terdapat redudancy yaitu setiap
kali satu nota yang terdiri dari 5
macam barang yang dibeli maka 5 kali
pula dituliskan no factur, tanggal.
tempo dan total. Ini harus pula
dipisahkan bila terjadi penggandaan
tulisan berulang-ulang.

♦ Bentuk Normal Tiga

Bentuk normal tiga mempunyai syarat


setiap tabel tidak mempunyai field yang
bergantung transitif, harus bergantung
penuh pada kunci utama. Maka
terbentuklah tabel sebagai berikut:

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
88

2. Kasus Daftar Nilai Siswa ( DNS )

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
89

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
90
Kelemahan pada Normal Satu adalah

 Kelemahan dalam Penyisipan ( Insert )

Kita tidak dapat menyisipkan IK 300 sebagai Kode-


MK dengan mata kuliah Bahasa Inggris, sampai ada
siswa yang mengikuti mata kuliah tersebut.

 Kelemahan dalam Perubahan ( Update )

Karena ada nama mata kuliah yang muncul


beberapa kali, misalnya kita akan merubah
Akuntansi menjadi Akuntansi Keuangan maka kita
harus merubah beberapa kali.

 Kelemahan dalam Penghapusan ( Delete )

Misal hanya ada satu siswa yang mengikuti atau


mengambil suatu mata kuliah. Jika kita akan
menghapus siswa tersebut, maka kita akan
kehilangan intormasi dari mata kuliah dan dosen.

♦ Bentuk Normal Dua

Pembentukkan normal dua dengan cara


mencari kunci-kunci field yang sifatnya unik.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
91
Mellhat kondisi tabel di atas maka dapat
diambil kunci kandidat yaitu :

 (NIS)
 (Kode_MK)
 (NIS, Kode_MK )

Dimana setiap field bergantung penuh kepada


primary key, maka behluk normal dua-nya
sebagai berikut.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
92
Tetapi masih ada kelemahan pada tabel Dosen sebagai
berikut:

 Kelemahan dalam Penyisipan (Insert )

Karena Dosen tergantung pada Kode_MK. Kita tidak


dapat menyisipkan data dari Dosen baru, sampai dosen
mengcjar mata kuliah tertentu.

 Kelemahan dalam Perubahan ( Update )

Data dari Dosen muncul berkali-kali, bila kita ingin


merubah datanya. Misalnya nama Hamzah ingin diganti
dengan Zaki maka harus merubah berkali-kali.

 Kelemahan dalam Penghapusan ( Delete )

Penghapusan untuk mata kuliah dengan kode mata


kuliah IK 350 akan menyebabkan hilangnya data dosen
yang bernama Riza

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
93
♦ Bentuk Normal Tiga

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
94

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
95
BAB-5
BAHASA QUERY
KOMERSIL
"ALLAH MENAIKKAN DERAJAT ORANG-ORANG
YANG BERILMU DAN BERTAQWA"

POKOK BAHASAN :
 Structured Query Language ( SQL )
 Data Definition Language ( DDL )
 Data Manipulation Language ( DML )
 Security dalam SQL
 Query By Example (QBE)
 Mengoperasi Skeleton Table
 Fungsi Utama Variable
 Operasi QBE

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
96

BAB BAHASA QUERY


KOMERSIL
5

Dalam sistem manajemen database pada komputer


banyak menggunakan Bahasa Query Komesil. Query ini
disampaikan lewat bahasa yang spesifik yaitu QBE dan
SQL. QBE disampaikan untuk memuaskan kalangan non
programmer, dimana mereka lebih suka melihat tabel dari
pada program sedangkan SQL ditujukan bagi pemakai

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
97
yang lebih suka menyampaikan maksudnya pada
penyusunan kode-kode bahasa program.

5.1 STRUCTURED QUERY LANGUAGE ( SQL )

SQL yang secara tidak resmi kini telah menjadi


bahasa standar dalam database, karena lebih efisien
dan mudah untuk dipelajari dibandingkan dengan
semua bahasa database yang lainnya. SQL berasal
dari Sequel, lalu didefinisikan oleh Chamnerlin di
IBM Laboratory di San Jose, California. Kemudian
distandarisasikan oleh ANSI ( American National
Standard Institute ) sebagai bahasa Query Database
Relational.

SQL memiliki sub language yang terdiri dari :

1. Data Definision Language ( DDL )

Perintahnya :

Create Tabel Create index Create View

Alter Table Drop Index Drop View

Drop Table

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
98
2. Data Manipulation Language ( DML )

Perintahnya : Select, Update, Delete dan Insert

5.1.1. DATA DEFINITION LANGUAGE ( DDL )

1. CREATE TABLE

Berfungsi untuk membuat tabel atau file.

Keterangan:

Nama Tabel adalah nama yang anda berikan pada


label yang baru anda buat. Nama tabel ini tidak
boleh lebih dan 8 karacter, tidak memakai spasi,
berisi huruf, angka dan diawali dengan huruf.

• Nama Kolom adalah nama yang anda berikan


unluk kolom ( Field ) pada label baru yang akan
anda bual. Nama kolom ( field ) ini tidak boleh
lebih dari 11 karakter, tidak memakai spasi, berisi
huruf, angka dan undercsore karakter serta harus
diawali dengan huruf. Antara satu kolom (field )
PENGANTAR BASIS DATA
PENGANTAR BASIS DATA
99
yang satu dengan yang lainnya harus dipisahkan
dengan tanda koma.
• Tipe Data adalah jenis data yang nilainya
dimasukkan dalam kolom yang telah ditentukan.

Macam- macam Tipe Data :

1. Interger : Untuk bilangan angka, maksimal sebanyak


11 digit.
2. Small Integer : Unluk bilangan angka, maksimal
sebanyak 6 digit.
3. Decimal (p,q) : Unluk bilangan angka sebanyak p digil
dengan tempat desimalnya q digit
4. Float (x,y) : Untuk bilangan angka ( floating point )
sebanyak x digit dengan y digit dari tidak desimal
5. Char (n) : Karacter string sebanyak n karacter,
maksimal 254 karacter isinya ditulis dengan landa (')
atau (")
6. Date : Untuk menulis tanggal
7. logical : Untuk logika, dimana pilihannya True atau
False
• Primary Key adalah kunci pada tabel tersebut, yang
bersifat uniq (tidak ganda )

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
100

Maka untuk membuat tabel Supplier adalah :

2. ALTER TABLE

Berfungsi untuk menambah satu atau lebih


kolom ( field ) pada tabel yang baru dibuat.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
101
Contoh : Anda ingin menambah alamat
pada tabel supplier dengan tipe data
karacter

Jawabannya :

ALTER TABLE Supplier

ADD (Alamat Char (20));

3. DROP TABLE

Berfungsi untuk menghapus suatu table

Bentuk Formatnya :
DROP TABLE nama label

Contoh : Anda ingin menghapus tabel


Supplier Jawabannya : DROP TABLE
Supplier;.

4. CREATE INDEX

Fungsinya membuat label index

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
102
Bentuk Formatnya : CREATE [uniq] INDEX
< nama Index > ON < nama tabel > (nama
kolom [Asc atau Desc ]...)

Keterangan ;

Uniq adalah pilihan perincian yang dapat


anda gunakan untuk menguatkan nilai data da
am kolom Index menjadi unik, jika nilai kolom
tidak unia maka Index tidak dapat dibuat.
Nama index adalah nama index yang baru.

 Nama Tabel adalah nama tabel yang berisi


kolom dimana index akan dibuat Nama
kolom secara Asc atau Desc adalah field
yang akan dijadikan kunci Index, Asc
artinya diurutkan dari kecil ke besar
sedangkan Desc adalah sebaliknya.

Contoh : Jika kita akan membuat index


pada tabel Supplier berdasarkan kode
Supplier secara Asending dan disimpan
dalam tabel baru misalnya Supplier

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
103
Jawabanya : CREATE [uniq] INDEX
Supplier 1 ON Supplier ( S# [Asc] );

5. DROP INDEX

Berfungsi menghapus tabel yang sudah


terindex

Formatnya : DROP INDEX < nama tabel


Index >

Contoh : Kita akan menghapus tabel Supplier 1


Jawabanya : DROP INDEX Supplier1;

6. CREATE VIEW

Berfungsi untuk manipulasi data, untuk


mengerjakan perintah View ini anda harus
menggunakan perintah Select.View sama
dengan tabel, dimana memiliki kolom dan
baris dan view dapat dipilih satu atau lebih
label. Tetapi sebuah View disimpan dalam
disk seperti halnya sebuah tabel, hanya
definisinya saja yang disimpan pada panel
katalog, Setiap kali label pada (catalog ini

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
104
dipakai sebuah View akan mengalami
komputasi kembali dari definisinya.

Jadi apa yang anda peroleh pada saat anda


melakukan Query sebuah View akan sama
sekali tergantung pada tabel-tabel dan view
yang terdapat dalam klausa FROM dari
pernyataan Select yang didefinisikan view
tersebut.

Bentuk Formatnya: CREATE VIEW < view


name > (( <nama kolom > ..... < nama kolom >
)) AS < pernyataan SELECT >
[ WITH CHECK OPTION ]

Keterangan:

 Nama View adalah harus dimulai dengan


huruf, bilangan dan garis bawah dan
panjangnya harus kurang dari 9 huruf.
 Nama Kolom adalah sebuah nama kolom
optional yang harus diberikan pada salah
satu kolom view.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
105
 Pernyataan Select adalah pernyataan Select
apa saja kecuali :
a. Pernyataan tersebut tidak boleh berisi)
sebuah klause UNION
b. tidak boleh berisi sebuah klause ORDER
BY
c. Tidak boleh berisi klause SAVE TO
TEMP
 With Check Option adalah klause optional
yang menyebabkan semua Update dan
penyisipan ke view akan diperiksa untuk
mengetahui apakah itu memenuhi definisi
view.

Contoh: kita akan memberikan akses ke


supplier yang berada di kota Surabaya
Jawbannya: CREATE VIEW
Surabaya_supliers

AS SELECT 5#, Sname, Status, City

FROM Supplier (S)

WHERE City = "Surabaya";

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
106
7. DROP VIEW

Berfungsi untuk menghapus file view

Bentuk formatnya : DROP VIEW View_name

Contoh : Akan menghapus data supplier

Jawabannya : DROP VIEW Supplier;

5.1.2. DATA MANIPULATION LANGUAGE ( OML )

Data Manipulation language ( DML) adalah bahasa


yang memperbole'hkan oemakai untuk mengdkses
atau memanipulasi data yang telah diorganisasikan
sebelumnya dalam model data yang tepat. Sebelum
kita masuk ke bahasa DML di dalam SQL ada
beberapa fasititas yang telah disediakan yaitu :

 ALL : Akan mendapatkan semua


baris yang sesuai dengan
WHERE
 DISTINCT : Akan mendapatkan baris
yang tidak duplikat
 WHERE : Menyatakan kondisi, akan
digabungkan dengan

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
107
operator logical AND, OR,
NOT dengan operator
pembanding <, >, =, <=, >=,
<>
 GROUP BY : Mengelompokkan baris-
baris dengan isi kolom yang
sama
 HAVING : Mengelompokkan kembati
baris-baris yang telah
dikelompokkan Oleh Group
By sesuai dengan
kondisinya.
 ORDER BY : Untuk menyusun tabel hasil
dengan nilai pada satu atau
lebih Dari suatu kolom

Disamping itu juga terdapat fungsi-fungsi perhitungan


yaitu :

 COUNT : Jumlah baris


 SUM : Jumlah Nilai
 AVG : Nilai Rata-rata
 MAX : Nilai yang terbesar
 MIN : Nilai yang terkecil
PENGANTAR BASIS DATA
PENGANTAR BASIS DATA
108
Sebelum kita masuk ke perintah DML, di bawah ini akan
diberikan contoh tabel-tabel yang saling relational sebagai
berikut :

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
109

Ada pun perintah Data Manipulation Language sebagai


berikut :

1. SELECT

Perintah Select ini akan menentukan informasi yang


ingin anda keluarkan dari tabel-tabel untuk memberi
anda sebuah tabel hasil. Hasil yang dikeluarkan dari
query SQL selalu berupa tabel relational.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
110

Keterangan ;

ALL I DISTINCT merupakan pilihan, jika anda


menggunakan ALL maka akan memperoleh semua
baris yang memenuhi klause WHERE, sedangkan
DISTINCT hanya akan member! anda baris yang non
duplikat di dalam tabel hasil.

o Items adalah daftar field-field dalam tabel dan


ekspresi yang memual data yang anda kehendaki.

Into < Daftor Voriabel > adalah memberikan


sebuah daftar varlabel memori, tempat (Into
Which ) nilai-nilai kolom yang akan dlseleksi.

o From adalah merupakan daftar tabel atau view


sebagai tempat asal kolom-kolom yang klta
seleksi.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
111
Where adalah sebuah daftar syarat yang harus
dipenuhi baris-baris yang dipilih dari tabel-tabel.

o Group BY dan Having adalah mengelompokkan


baris-baris yang memiliki nilai-nilai yang sama di
dalam kolom-kolom yang didaftarkan setelah
Group By.
o Order By adalah memungkinkan anda
mengurutkan baris-baris tabel hasil, baik
menggunakan Asending yaitu diurutkan dari
kecil menuju yang besar alau Desending yang
sebaliknya.

Contohnya:
o Tampilkan Nomor Supplier dan Noma Supplier
untuk Supplier yang tingga! di Bandung
Perintahnya: SELECT No_Supplier,
Nama_Supplier FROM Supplier WHERE Kota =
"Bandung" ;

Hasilnya :
No_Supplier Nama_Supplier S2
Budi
Wahyu

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
112
Tampilkan Kode_Barang untuk semua Barang
yang disupplay oleh Supplier Perintahnya:
SELECT Kode_barang FROM Transaksi;

Hasilnya: Kode_Barang B02 B03 B04 B02 B05 B02


B03
B01
B01
B04
Untuk mengeliminasikan duplikasi gunakan
DISTINCT : Perintahnya : SELECT DISTINCT
Kode_barang

FROM Transaksi ; Hasilnya: Kode_Barang


B01
B02
B03
B04
B05
• Tampilkan ' Nama Barang untuk nama barang =
Printer atau harga lebih besar dari 1.000.000

Perintahnya: SELECT Nama_Barang FROM Barang

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
113
Where Nama_Barang = "Printer" OR. Harga >
1000.000; Hasilnya: Nama_Barang Printer CPU

• Tampilkan Nomor Supplier dan Nama Supplier untuk


supplier yang tinggal di Jakarta dengan namanya
diurutkan dari besar ke kecil

Perintahnya; SELECT No_Supplier, Nama_Supplier F


ROM Supplier WHERE Kota = " Jakarta " ORDER BY
Nama_Supplier Desc ; Hasilnya: No_Suppiier
Nama_Supplier S5 Zaki S1 Agung

• Tampilkan No_Supplier dan Kode_Barang yang


berada pada kota yang sama. Perintahnya: SELECT
Supplier. No_Supplier, Barang . Kode_Barang

FROM Supplier, Barang WHERE Supplier.Kota =


Barang.Kota ;

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
114
Hasilnya :
No_Supplier Kode_Barang
S1 B02
S1 B03
S1 B04
S2 B02
S2 B05
S4 B03
S4 B01
S5 B0I
S5 B02
Berapakah jumlah Supplier ?

Perintahnya : SELECT COUNT (*)

FROM Supplier ; Hasilnya : 5

Tampilkan jumlah Supplier yang mensuplay Barang ?


Perintahnya : SELECT COUNT ( DISTINCT No_Supplier}

FROM Transaksi; Hasilnya : 5

Tampilkan jumlah kiriman untuk Barang = BO1


Perintahnya : SELECT COUNT (*)

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
115
FROM Transaksi

WHERE Kode_Barang = "B01"; Hasilnya : 2

• Tampilkan jumlah kiriman untuk Barang = B03 yang


disupply oleh supplier = S1 Perintahnya : SELECT
COUNT (*) FROM Transaksi WHERE Kode_Barang =
"B03" AND No_Supplier = "S1" ; Hasilnya : 1

Tampilkan total jumlah kiriman untuk barang = B02


Perintahnya : SELECT SUM ( Jumlah )

FROM Transaksi

WHERE Kode_Barang = "B02" ; Hasilnya : 129

• Tampilkan Kode Barang dan Total jumlah barang pada


setidp barang yang disupply oleh Supplier

Perintahnya : SELECT Kode_Barang, SUM( Jumlah )


FROM Transaksl GROUP BY Kode_Barang; Hasilnya :
Kode_Barang SUM ( Jumlah )
B01 30
B02 129
B03 48
B04 80
B05 54

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
116
Tampilkan KodeJSarang pada semua barang yang
disupply lebih dari satu supplier

Perintahnya: SELECT Kode_Barang FROM Transaksi


GROUP BY Kodejarang HAVING COUNT (*)> 1 ;
Hasilnya: Kode_Barang B01 B02 B03 B04

• Tampilkan Noma supplier untuk Supplier yang


mensuplay barang = BO2 Perintahnya: SELECT
Nama_Supplier

FROM Supplier WHERE No_Supplier IN

(SELECT No_Supplier FROM Transaksi

WHERE Kode_Barang = "B02") ; Hasilnya:


Nama_Supplier Agung Budi Laksono

• Tampilan Noma Barang untuk jumlah barang yang


dlkirim lebih dari 40 Perintahnya: SELECT
Nama_Barang

FROM Barang

WHERE Kode.Barang IN

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
117
(SELECT Kode_Barang FROM Transaksi WHERE
Jumlah > 40 ) ; Hasilnya: Nama_Barang Printer CPU
Disket

• Tampilkan kota Supplier dimana barang yang dlkirim


adalah Monitor Perintahnya: SELECT Kota

FROM Supplier WHERE No_Supplier IN

(SELECT No_Supplier FROM Transaksi WHERE


Kode_Barang IN

(SELECT Kode_Barang FROM Barang

WHERE Nama_Barang = "Monitor")) ; Hasilnya:


Kota

Bandung Jakarta

• Tampilkan nama supplier yang tidak mensuplay


barang = B02 Perintahnya: SELECT Nama_Supplier

FROM Supplier WHERE No ..Supplier NOT IN


(SELECT No_Supplier FROM Transaksi

WHERE Kode_Barang = "B02") ; Atau:

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
118
Perintahnya: SELECT Nama_Supplfer FROM
Supplier WHERE NOT EXITS

(SELECT**

FROM Trarnsaksi

WHERE NoLSupplier = Supplier.No_Supplier

.AND. Kode_Barang = "B02" ) ;

Hasil: Nama_Supplier Wahyu Zaki

2. UPDATE

Adalah berfungsi untuk isi record dalam sebuah table

Contohnya:

o Ubah koto pada supplier = S1 dengan kota


Bangka Perintahnya: UPDATE Supplier

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
119
SET Kota = " Bangka" Where No_Supplier = "S1";

o Ubah Jumlah semua Supplier yang tinggal di


Bandung menjadi 10. Perintahnya: UPDATE
Transaksi

SET Jumlah= 10 WHERE No_supplier IN


(SELECT No.Supplier

FROM Supplier

WHERE Kota = ' Bandung ');

3. DELETE

Adalah berfungsi untuk menghapus sebuah Field

Formatnya adalah: DELETE

FROM Nama Table [ WHERE Condition ];

Contohnya:

o Hapus semua kiriman yang jumlahnya lebih besar


dari 50 Perinfahnya: DELETE

FROM Transaksi WHERE Jumlah > 50 ;

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
120
4. INSERT

Adalah berfungsi untuk menyisipkqn suatu record

Contohnya:

Menyisipkan record pada tabel Barang Perintahnya :


INSERT INTO Barang

Value ("B06". "Buku". 20) ;

5.1.3. SECURITY DALAM SQL

1. VIEW

Terdiri dari dua statement yaitu :

 CREATE VIEW ( Pembuatan View )


 DROP VIEW ( Penghapusan View )

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
121
View merupakan suatu tabel semua yang
berisi sekumpulan data yang diambil dari
basis data. Bentuk Umum View:

Keterangan:

 View Name : Nama view yang


akan dibuat
 Colomn : Nama field untuk
view
 Statement : Atribut yang dipiiih
dari basis data
 Tabet Name : Nama tabel basis
data
 With Check Option : Digunakan jika ingin
menyakinkan data-
data yang ada di
view sesuai dengan
kondisi yang
diinginkan

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
122
Contoh:

• Buat View untuk supplier yang tinggal di Surabaya


Perintahnya: CREATE VIEW Supplied

AS SELECT No_Supplier, Nama_5upplier. Kota FROM


Supplier

WHERE Kota = " Surabaya "

( WITH CHECK OPTION );

• Buat View untuk Jumlah kiriman barang lebih besar


dari 25 Perintahnya: CREATE VIEW Trans

AS SELECT No_supplier. Kode_Barang. Jumlah


WHERE Jumlah > 25 ;

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
123

• Menghapus View Supplier2

Perintahnya : DROP VIEW Supplier2

• Menghapus View Trans Perintahnya: DROP VIEW

2. GRANT

Yaitu Perintah untuk memberikan hak kepada


pemakai.

Dalam melaksanakan beberapa operasi, user


dijinkan mempunyai hak pemakai untuk
operasi tersebut.

Formatnya adalah: GRANT Previlage ON Tabel-


Name TO Users

Keterangan:
PENGANTAR BASIS DATA
PENGANTAR BASIS DATA
124
 Previlage: Satu atau lebih Jenis
pengaksesan label ( SELECT. UPDATE,
DELETE, INSERT. ALTER. INDEX )
 Tabel-Name : Nama tabel
 Users: Nama users tertentu

Contoh:

 Memberikan ijin akses atau baca dari tabel


supplier pada user yang bernama Santi.

Perintahnya : GRANT SELECT ON


Supplier TO Santi

 Memberikan ijin boleh dibaca dan diubah


untuk atribut Kota pada User Agus dan
Santi.

Perintahnya : GRANT SELECT, UPDATE (


Kota ) ON Supplier TO Agus, Santi

3. REVOKE

Adalah berfungsi untuk mencabut atau menarik


hak pemakai

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
125
Formatnya adalah: REVOKE Privilege ON
Tabel-name FROM Users

Contoh:

Menarik hak pada user Santi untuk baca pada


tabel Supplier Perintahnya : REVOKE SELECT
ON Supplier FROM Santi

 Menarik hak updating pada Agus untuk


tabel Supplier Perintahnya : REVOKE
UPDATE ON Supplier FROM Agus
 Anita tidak boleh lagi melakukan Delete
dan Update untuk Tabel Barang
Perintahnya : REVOKE DELETE, UPDATE
ON Barang FROM Anita
 Wahyu tidak boleh melakukan apa pun
terhadap tabel Barang Perintahnya :
REVOKE ALL ON Barang FROM Wahyu
4. GRANT OPTION

Yaitu memberikan fasilitas pada users untuk


dapat melakukan GRANT pada users lain.

Contoh :

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
126
 User X1: GRANT SELECT ON Supplier TO
X2 WITH GRANT OPTION
 User X2: GRANT SELECT ON Supplier TO
X3 WITH GRANT OPTION
 User X3 : GRANT SELECT ON Supplier TO
X4 WITH GRANT OPTION

Bila User XI melakukan REVOKE SELECT ON


Supplier FROM X2 Maka GRANT untuk X2 ke
X3, GRANT X3 ke X4 akan di REVOKE secara
otomatis

5.2. QUERY BY EXAMPLE ( Q B E )

QBE adalah sebuah Query yanc memikili keadaan


khusus dibandingkan query language lainnya. QBE
ini dikembangkan di IBM Yorktown. Ada pun
kekhususan itu adalah :

o QBE merupakan Query language dengan sintak 2


dimensi, sedangkan Query lainnya pada
umumnya memiliki sintak 1 dimensi, seperti SQL
dimana Quelnya ditulis dalam I baris.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
127
Informasi yang diinginkan dari sebuah database
diekspresikan melalui contoh ( By Example )
sedangkan Query Language lainnya
menggunakan Procedure

QBE merupakan Query language yang mendekati


konsep domain tuple-calculus yang
menggunakan skeleton tabel ( tabel kerangka )
untuk mengekspresikan Querynya

Contoh QBE sebagai berikut:

Skeleton table mengekspresikan relation schema


dimana usermenentukan skeleton table yang
dinginkan dengan mengisi relation yang akan
dioperasikan pada kolom pertama dari skeleton
table.

5.2.1. MENGOPERASIKAN SKELETON TABLE

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
128
Untuk mengoperasikan QBE, user mengisi
skeleton-skeleton tersebut dengan Example-Rows.
Example Rows tersebut terdiri dari : Konstanta
Example Element

Example Element berupa domain variable untuk


membedakan konstanta dengan domain variable
yaitu:

 Domain variable selalu diawali dengan


under score (_) Contoh : _X Konstanta
dituliskan apa adanya, tanpa tanda petik

Contoh : Mencari semua customer yang


mempunyal Account pada cabang Bekasi

Jawab:

Query diatas memerintahkan QBE untuk mencari


tuple-tuple di Deposit yang value darl atribut-
atribut Branch-name nya adalah Bekasi. Untuk
setiap tuple yang memenuhi persyaratan, value
PENGANTAR BASIS DATA
PENGANTAR BASIS DATA
129
dari atribut Customer-Name nya dikirim ke
Domain Variable X. Dengdn Instruksi P, value dari
variable X ditampilkan pada kolom Customer-
Name.

QBE menghapus tuple-tuple yang diduplikat


secara otomatis sehingga untuk menghindari
penghapusan record-record yang diduplikat secara
otomatis digunakan instruksi: ALL

5.2.2. FUNGSI UTAMA VARIABLE PADA QBE

Yaitu Untuk mencocokkan value dari suatu atribute


dengan value dari tuple-tuple tertentu.

Contoh : Mencari customer-customer beserta


tempat tinggalnya untuk customer-customer yang
mempunyai LOAN pada cabang Bekasi Jawab :
Maka QBEnya dapat ditulis sebagai berikut:

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
130

Eksekusi QBE dari Query di atas adalah :

"QBE mencari tuple-tuple yang value atribut Branch


Namenya adalah Bekasi."

Kemudian untuk tiap-tiap tuple yang ditemukan QBE


mencari tuple pada relation customer, yang value atribut
customer name-nya sama dengan value atribut Customer
Name di Relation Borrow. Selanjutnya value dari
customer Name dari city ditampakkan.

5.2.3. OPERASI QBE

1. LOGIKAL OPERATOR

Dua Example element dapat ditambahkan


atau digunakan operator :

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
131
GREATHER THAN (>) atau LESS THAN
(<).

Contoh : Mencari Account Number dari


Customer yang balancenya lebih dari 1200

2. OPERATOR INTERSECTION

Untuk operasi intersection, misalnya


mencari Customer yang mempunyai
Account dan Loan pada cabang Bekasi maka
QBE-nya adalah sebagai berikut:

3. OPERATOR .OR. DAN .AND.

Berikul ini adolah contoh Query dengan


QBE yang menggunakan operator
penghubung .OR.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
132
Contoh : Mencari Customer yang
mempunyai Amount pada cabang Bekasi.
Cabang Kramat atau keduanya

Berikut ini adalah contoh Query dengan


QBE yang menggunakan operator
penghubung .AND.

Contoh : Mencari Customer yang


mempunyai Account di kedua cabang yaitu
Bekasi dan Cipulir.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
133
BAB-6
LINGKUNGAN
DATABASE
"ILMU PENGETAHUAN AKAN DIBAWA SEUMUR
HAYAT"

POKOK BAHASAN :
 Crash dan Recovery
 Jenis Storage
 Jenis Kegagalan
 Pengoperasian dan Struktur Storage
 Concurrency
 Locking
 Security Dan Integration
PENGANTAR BASIS DATA
PENGANTAR BASIS DATA
134

BAB LINGKUNGAN
DATABASE
6

6.1 CRASH DAN RECOVERY

Crash adalah suatu failure atau kegagalan dari suatu


sistem. Penyebab dari suatu kegagalan (Failure )
adalah :

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
135
 Dish Crash

Yaitu informasi yang ada di disk akan hilang.

 Power Failure

Yaitu informasi yang disimpan pada memori


utama dan register akan hilang.

 Software Error

Yaitu output yang dihasilkon tidak betui dan


sistem databasenya sendiri akan memasuki suatu
kondisi yang tidak konsisten.

6.1.1. JENIS STORAGE

Ada beberapa jenis media storage yang dapat


dibedakan dengan kecepatan relatif dan
kekenyalannya terhadap failure yaitu :

 Volatile Storage

Yaitu informasi yang terdapat pada volatile


storage akan hilang, jika terjadi kerusakan pada
sistem ( System crash ).

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
136
 Non Volatile Storage

Yaitu informasi yang terdapat pada non volatile


storage tidak akan hilang jika terjadi kerusakan
sistem (system crash )

 Stable Storage

Yaitu Informasi yang terdapat dalam stable tidak


pernah hilang. Maka untuk menjadikan stable
storage semua informasi direplikasikan pada
beberapa storage non volatile.

6.1.2. JENIS-JENIS KEGAGALAN

Adapun jenis-jenis kegagalan yang sering terjadi


adalah :

 Logikal Error

Yaitu program tidak dapat dilaksanakan. hal ini


disebabkan oleh kesalahan pada input, data tidak
ditemukan atau overflow.

 System Error

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
137
Yaitu Sistem berada pada keadaan yang tidak
diinginkan, seperti terjadi deadlock, sebagai
akibatnya program tidak dapat dilanjutkan.
namun beberapa selang waktu program dapat
dijalankan kembali.

 System Crash

Yaitu kegagalan fungsi perangkat keras yang


menyebabkan hilangnya ciala pada volatile
storage, tetapi data pada non volatile storage
masih tetap ada.

 Disk Failure

Yaitu hilangnya data dari sebuah blok disk yang


disebabkan oleh kerusakan head atau kesalahan
pada waktu pengoperasian transfer data.

6.1.3. PENGOPERASIAN DAN STRUKTUR


STORAGE

Sistem database yang tersimpan dalam non volatile


storage dipartisikan ke dalam unit tempat
penyimpanan dengan panjang tetap yang disebut

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
138
dengan Blok. Blok merupakan unit dari alokasi
penyimpanan dan transfer suatu data. Program
menjalankan berbagi aplikasi database, membaca
informasi dari disk ke memory dan menuliskan
kembali ke disk. Operasi pembacaan dan penulisan
ini dilakukan dalam unit blok. Blok yang terdapat
dalam disk disebut Blok Phisik sedangkan blok-
yang terdapat dalam main memory disebut Blok
Buffer.

Pemindahan Blok antara disk dan main memory :

 Input ( X )

Yaitu memindahkan blok fisik dimana item data


X berada ke dalam main memory.

 Output(X)

Yaitu memindahkan blok buffer dimana item


data X berada ke dalam disk dan menggantikan
blok fisik yang terjadi.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
139

Interaksi antar program aplikasi dan sistem


database, dilakukan melalui operasi sebagai
berikut:

 READ ( X, x )

Artinya memberi nilai item data X ke dalam


variable lokal x, operasi ini dilakukan sebagai
berikut:

1. Jika blok dimana X berada bukan di dalam


main memory, maka lakukan input (X)
2. Pindahkan nilai X dari blok buffer ke x
 WRITE ( X, x )

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
140
Artinya memberikan nilai dari variable lokal x ke
item data X di dalam blok buffer, operasi ini
dilakukan sebagai berikut:

1. Jika blok dimana X berada bukan di dalam


main memory, maka lakukan input (X)
2. Pindahkan nilai x ke X yang terdapat
dalam blok buffer.

Kedua operasi di atas hanya membutuhkan


pemindahan data dari disk ke main memory.
Penulisan dari blok buffer ke disk biasanya
diiakukan jika buffer manager memerlukan
ruangan pada memory untuk meyelesaikan
masalah lain atau jika sistem databasenya
menginginkan perubahan nilai X disimpan ke
disk. Hal ini disebut Foece Output karena blok
buffer melakukan operasi Output (X),

Contoh Kasus:

Pada sistem perbankan terdapaf beberapa


account dan sejumlah program aplikasi yang
digunakan untuk mengakses dan mengupdate

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
141
account tersebut. Misalkan sebelum program P
dieksekusi, nilai account A dan B adalah 1000 dan
2000, Selanjutnya dimisalkan pula bahwa main
memory berisi blok buffer A. tetapi bukan B.
Maka dapat digambarkan sbb :

Pada saat READ ( A, a ) dieksekusi, aksi yang


terjadi adalah memberikan nilai 1000 ke a. Tetapi
pada saal READ (B,b ) dieksekusi, sistem pertama
harus menempatkan blok fisik B ke main memory
dan kemudian b diberi nilai 2000. Sehingga
gambarnya Sbb:

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
142

Pada saat program P dieksekusi nilai a dan b


berubah berturut-turut menjadi 950 dan 2050.
Selanjutnya operasi WRITE dieksekusi. keadaan
dari sistem terlihat pada gambar di bawah ini

6.2. CONCURRENCY

Salah satu tujuan utama dalam mengembangkan


sebuah sistem basis data adalah membuat sumber
informasi dipakai oleh sejumlah pemakai. Kadang-

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
143
kadang perlu mengakses data secara terus
menerus. jika semua pemakai hanya membaca data,
maka data yang satu tidak akan berbaur dengan
data yang lain dan perlu ada pengontrolan
terhadap konkurensi. Tetapi jika ada dua orang
pemakai mencoba untuk mengupdate secara terus-
menerus atau salah satu mengupdate sedang yang
lain membaca data, maka ada kemungkinan terjadi
benturan data.

Salah satu kriteria untuk mengklafikasi sebuah


sistem database adalah dengan menghubungkan
sejumlah pemakai yang dapat menggunakan sistem
secara konkurensi yakni pada waktu yang sama .

Contohnya adalah pada kasus sistem pemesanan


tiket pesawat terbang yang digunakan oleh ratusan
agen perjalanan / travel dan disinilah terjadi
pemesanan tiket secara konkuren.

Sehingga dapat disimpulkan bahwa :

1. Hampir semua DBMS adalah sistem multi user

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
144
2. Sistem seperti ini perlu adanya mekanisme
pengontrolan konkuren
3. Tujuan dari mekanisme ini adalah untuk
menjamain bahwa transaksi-transaksi yang
konkuren tidak saling menggangu operasinya
masing-masing.
4. Maka akan terdapat beberapa masalah yang
akan timbul dalam menjalankan transaksi-
transaksi yang konkuren. Masalah yang sering
terjadi adalah ;
a. Masalah kehilangan modifikasi
b. Masalah modifikasi sementara
c. Masalah analisa yang tidak konsisten

 Masalah Kehilangan Modifikasi

Masalah ini timbul jika dua transaksi mengakses


item database yang sama yang mengakibatkan
nilai dari item database tersebut menjadi tidak
benar. Misal ada dua transaksi T1 dan T2 yang
bekerja kira-kira hampir bersamaan seperti yang
ditunjukan gambar di bawah ini:

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
145

Keterangan:

 Transaksi A membaca R pada t1, transaksi B


membaca R pada t2
 Transaksi A memodifikasi R pada t3
 Transaksi M memodifikasi record yang sama
pada t4
 Modifikasi dan transaksi A akan hilang karena
transaksi B akan memodifikasi R tanpa
memperhatikan modifikasi dari fransaksi a pada
t3,

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
146
Contoh Kasus:

Agus dan Santi memiliki simpanan secara


bersamaan dengan saldo Rp. 1.000.000 Santi mendapat
pembayaran sebesar Rp.100.000 dan memutuskan
untuk menyimpan ke dalam rekening tersebut,
dengan menggunakan kantor cabang bank yang
terdekat dengan kantornya. Pada saat yang
bersamaan, Agus memerlukan uang untuk
membayar sesuatu dan memutuskan untuk
mengambil Rp. 50.000 dari rekeningnya, dengan
menggunakan kantor cabang yang berbeda. Jika
transaksi ini dieksekusi secara serial, transaksi yang
satu diproses setelah transaksi yang lain tanpa
operasi interleaved ( selang waktu operasi ) maka
soldo akhir adalah Rp. 950.000, tanpa terkecuali
transaksi tersebut diproses secara konkuren, maka
saldo akhir menjadi tidak benar. Gambar di bawah
ini menunjukkan schedule untuk dieksekusi secara
konkuren yang menghasilkan saldo akhir Rp.
1.100.000 pada rekening Santi. Terlihat pada
schedule ini, pada waktu T5 transaksi untuk Santi
menggunakan nilai yang dibaca melalui variable

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
147
saldo, bukan nilai baru. yang belum dibacanya,
Berdasarkan schedule ini, update yang berasal dari
transaksi Agus menjadi hilang.

Ket: Nilai akhir dari item saldo menjadi tidak benar


hal ini disebabkan Transaksi Santi membaca nilai
saldo sebelum transaksi Agus mengubah nilai
tersebut dalarn database, sehingga nilai yang sudah
diupdate yang dihasilkan dari transaksi Agus
menjadi hilang.

 Masalah Modifikasi Sementara

Masalah ini timbul jika transaksi membaca suatu


record yang sudah dimodifikasi oleh transaksi
lain tetapi belum terselesaikan (uncommited).

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
148
terdapat kemungkinan kalau transaksi tersebut
dibatalkan (roolback).

Gambar di bawah ini menunjukkan sebuah


contoh, dimana transaksi B mengupdate item R
dan kemudian mengalami kegagalan sebelum
transaksi berakhir, sehingga sistem harus
mengubah kembali item R ke nifai yang lama.
Sebelum ini dikerjakan, transaksi A sudah
membaca nilai sementara dari R, yang belum
disimpan secara permanen ( commit) di dalam
database, disebabkan oleh kegagalan dari
transaksi B. Transaksi B mengalami kegagalan
(failure ) dan harus mengubah kembali nilai R ke
nilai yang lama, tetapi sementara itu transaksi A
sudah membaca nilai sementara R yang tidak
benar.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
149

Keterangan:

 Transaksi B memodifikasi record R pada T1


 Transaksi A membaca R pada T2
 Pada saat T3 transaksi B dibatalkan
 Maka transaksi A akan membaca record yang
salah
 Pada saat T2 transaksi A memodifikasi R
 Karena transaksi B dibatalkan pada waktu T3,
maka transaksi A memodifikasi record yang
salah.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
150
Contoh Kasus:

Pada contoh di bawah ini. transaksi bunga dihitung


bunga untuk rekening simpanan dengan tingkat
bunga sebesar 15%, sedangkan transaksi simpanan
menyimpan Rp. 1.000.000 ke rekening tersebut,
tetapi terjadi Rollback. Nilai saldo awal pada
rekening tersebut adalah Rp. 1.000.000. Seandainya
transaksi simpanan mengupdate nilai dari saldo
menjadi Rp. 2.000.000 sebelum transaksi bunga
membaca saldo, maka jumlah yang akan disimpan
adalah Rp. 2.100.000, Tetapi transaksi simpanan
menjadi RollBack, yang berarti keadaan database
seharusnya tidak berpengaruh disebabkan transaksi
simpanan tersebut. Akibatnya transaksinya sendiri
mengalami kesalahan, kemungkinan terjadi kredit
rekening yang salah atau sebagai akibat adanya
sistem crash. Sehingga tingkat bunga yang dihitung
terhadap salda menjadi tidak benar. Jika Rollback
dilakukan maka saldo mungkin menjadi tidak benar.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
151
Jawab:

 Masalah Analisa yang Tidak Konsisten

Masalah ini timbul, jika sebuah transaksi


membaca beberapa nilai. tetapi transaksi yang
kedua mengupdate beberapa nilai tersebut
selama eksekusi transaksi pertama. Berikut ini
adatah ilustrasinya:

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
152

Keterangan :

 Transaksi A menjumlahkan nilai 1, nilai 2 dan


nilai 3
 Transaksi B --> nilai 1 + 10, nilai 3-10
 Pada waktu T8 transaksi A membaca nilai yang
salah karena nilai 3 sudah dimodifikasi menjadi
20 ( transaksi B sudah melakukan commit
sebelum transaksi A membaca nilai 3 )
 Commit adalah operasi yang menyatakan bahwa
suatu transaksi sudah terselesaikan atau sukses.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
153
 Rollback adalah operasi yang menyatakan bahwa
suatu transaksi dibatalkan.

6.3. LOCKING

Locking adalah salah satu mekanisme pengontrolan


konkuren. Konsep dasar dari slstem Locking adalah
ketika suatu transaksi memerlukan jaminan kalau
record yangf diinginkan tidak akan berubah secara
mendadak, maka diperlukan kunci untuk record
tersebut. Fungsi dari kunci ( Lock ) itu adalah
untuk menjaga record tersebut agar tidak
dimodifikasi transaksi lain.

CARA KERJA KUNCI:

1. Pertama kita asumsikan terdapat 2 macam kunci


 Kunci X: Kunci yang ekslusif
 Kunci S: Kunci yang digunakan bersama-sama
2. Jika transaksi A menggunakan kunci X pada record R,
maka permintaan dari transaksi B untuk suatu kunci
pada R ditunda, dan B harus menunggu sampai A
melepaskan kunci tersebut.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
154
3. Jika transaksi A menggunakan kunci S pada record R,
maka :

Bila transaksi B ingin menggunakan kunci X, maka B


harus menunggu sampai A melepaskan kunci tersebut.

Bila transaksi B ingin menggunakan kunci S, maka B


dapat menggunakan kunci S bersama A.

4. Ketentuan :
o Bila suatu transaksi hanya melakukan pembacaan
saja, secara otomatis ia memerlukan kunci S -->
Baca (S)

Bila transaksi tersebut ingin memodifikasi record,


maka secara otomatis ia memerlukan kunci X -->
memoditikasi (X)

Bila transaksi tersebut sudah menggunakan kunci


S, setelah itu ia akan memodifikasi record, maka
kunci S akan dinaikkan ke level kunci X

5. Kunci X dan kunci S akan dilepaskan pada saat


synchpoint. synchpoint menyatakan akhir dari suatu

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
155
transaksi dimana basis data berada pada state yang
konsisten. Bila synchpoint ditetapkan :

Semua modifikasi program menjalankan operasi


commit atau rollback

 Semua kunci dan record dilepaskan


 Masalah Kehilangan Modifikasi

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
156
Keterangan:

 Pada waktu T3, transaksi A memerlukan kunci X maka


transaksi A harus menunggu sampai B melepaskan
kunci S
 Transaksi B juga harus menunggu pada saat T4
 Maka tidak akan ada yang kehilangan modifikasi,
tefapi terdapat keadaan baru yang Deadlock
 Masalah Modifikasi Sementara

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
157

Keterangan :

• Transaksi A pada T2 tidak dapat dijalankan langsung


tetapi harus menunggu sampai 6 melepaskan kunci X
• Bila B sudah mencapai sychpoint, maka kunci X
dilepaskan dan A dapat meneruskan prosesnya.
• Maka transaksi A tidak akan terjadi kesalahan dalam
membaca karena mencapai synchpoint
• Masalah Analisa Yang Tidak Konsisten

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
158

Keterangan :

 Transaksi B pada T6 tidak diijinkan, karena


memerlukan Kunci X maka B harus menunggu
sampai A melepaskan kunci S kepada nilai 1

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
159
Pada T7 transaksi A juga tidak dapat langsung
dilaksanakan, karena B menggunakan kunci X
pada nilai 3. Maka A harus menunggu B
melepaskan kunci X pada nilai 3

 Transaksi A akan membaca nilai yang benar. tapi


timbul masalah baru yaitu Deadlock,
6.4. SECURITY DAN INTEGRITY
6.4.1. SECURITY

Yaitu Suatu proteksi data terhadap perusakan data


dan pemakaian oleh pemakai yang tidak
mempunyai ijin.

Tidak setiap pemakai sistem database


diperbolehkan untuk mengakses semua data.
Misalkan data mengenai gaji hanya boleh dibuka
oleh bagian keuangan dan personalia saja, maka
tidak diperkenankan bagian gudang membaca don
mengubahnya. Keamanan ini dapat diatur melalui
program yang dibuat oleh pemrogram atau melalui
fasilitas keamanan dari operating sistem.

Beberapa masalah security secara umum :

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
160
1. Dalam suatu perusahaan siapa saja
yang diijinkan untuk mengakses
suatu sistem
2. Bila sistem tersebut menggunakan
pasword, bagaimana kerahasian
dari password tersebut dan berapa
lama password tersebut harus diganti.
3. Didalam pengontrolan hardware,
apakah ada proteksi untuk
penyimpanan data (Data storage)

Penyalahgunaan database untuk kategori yang tidak


disengaja, disebabkan oleh :

1. Kerusakan selama proses transaksi


2. Anomali yang disebabkan oleh akses database yang
konkuren
3. Anomali yang disebabkan oleh pendistribusian data
pada beberapa komputer
4. Logika error yang mengancam kemampuan transaksi
untuk mempertahankan konsistensi database

Hal-hal yang dikelompokkan ke dalam tindakan yang


disengaja adalah :

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
161
1. Pengambilan data atau pembacaan data oleh pihak
yang tidak berwenang
2. Pengubahan data oleh pihak yang tidak berwenang
3. Penghapusan data oleh pihak yang tidak berwenang

Cara menangani masalah security adalah :

1. Phisical

Yaitu lokasi-lokasi dimana terdapat sistem komputer


haruslah aman secara fisik terhadap serangan para
perusak.

2. Man

Yaitu wewenang pemakai harus diiakukan dengan


hati-hati untuk mengurangi kemungkinan adanya
manipulasi oleh pemakai yang tidak bertanggung
jawab

3. Sistem Operasi

Yaitu walaupun sistem databasenya sudah aman,


kelemahan pada sislem operasi memungkinkan
pengaksesan data oleh pihak yang berwenang, karena

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
162
hampir seluruh sistem database menggunakan sistem
akses jarak jauh melalui jaringan,

4. Sistem Database

Yaitu beberapa pemakai yang berwenang dalam


sistem database mungkin hanya boleh mengakses
sebagian databasenya, yang lainnya hanya boleh
melihat dan menggunakan tanpa boleh mengubahnya.
Hal ini harus dapat dilakukan oleh sistem tersebut.

6.4.2. INTEGRITY

Integrity dalam basis data adalah memeriksa


keakuratan dan validasi data. Integrity ada 2 yaitu :

1. integrity Konstrains

Yaitu memberikan suatu sarana yang


memungkinkan pengubahan database oleh
pemakai berwenang sehingga tidak akan
menyebabkan data inkonsisten Integrity
constrain berisi aturan-aturan atau batasan-
batasan untuk tujuan terlaksananya integrifas
data. Dengan demikian batasan ini melindungi

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
163
database dari kerusakan. Untuk menjaga
integritas ini, digunakan cara triggring yaitu :
satu perintah yang dilaksanakan secara otomatis
oleh sistem sebagai efek sampingan dari
modifikasi data.

Untuk merancang mekanisme trigger maka kita


harus :

1. Menentukan kondisi
2. Menentukan Aksi

Ada 2 cara untuk mengamankan data yaitu :

 Encryption

Yaitu Jika data telah di encrypt, maka


untuk mengembalikannya pemakai
tersebut harus mendecrypt-nya tertebih
dahulu.

 Data Pollution

Yaitu pengubahan data untuk


mengacaukan pemakai yang tidak
berwenang dengan cara random.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
164
3. Integrity Rule

Integrity rule ini biasanya digunakan pada


basis data yang menggunakan model
relational. Integrity rule terdiri; Integrity
Entity ( Rule 1 )

Yaitu Tidak ada satu komponen kunci


primer yang bernilai kosong; Integrity
Refresensi ( Rule 2 )

Yaitu suatu domain yang dipakai sebagai


kunci primer bila merupakan atribut tunggal
pada domain yang bersangkutan,

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
165
BAB-7
PERKEMBANGAN BASIS
DATA
"JANGANLAH KAMU MENGULANGI KESALAHAN
YANG PERNAH TERJADI"

POKOK BAHASAN :
• Kategori DBMS
• DBMS dan Aplikasi
• Arsistcktur Sistem
• Perkembangan DBMS Berorientasi Kepada Pemakai

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
166

BAB PERKEMBANGAN
BASIS DATA
7

Sebagaimana perkembangan teknologi komputer pada


umumnya, perkembangan dunia basis data juga sejalan
dengan perkembangan tersebut. Perangkat lunak DBMS
yang sangat luas digunakan pada pertengahan 1980-an
hingga awal 1990. Khusus untuk komputer mikro dengan
sistem stand alone dan sistem operasi DOS adaldh Dbase

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
167
III+ dan Foxbase. Sedangkan untuk komputer mini dan
mainframe atau multi user dengan sistem operasi unix
orang justru tidak menggunakan DBMS khusus, tetapi
membangun aplikasi dengan menggunakan bahasa
COBOL yang memang dilengkapi dengan operasi file
yang cukup lengkap dan sangat berorientasi ke basis data.

Sejak awal 1990-aa di saat komputer mikro berjaya


dengan teknologi komputer jaringan ( LAN ) yang
diperkenalkan oleh Novell, pemanfaatan Dbase III+
semakin luas dan diperkaya dengan perangkat lunak
aplikasi untuk basis data semacam Clipper dan Foxpro.
Sedangkan untuk komputer yang lebih tinggi sudah mulai
lahir produk-produk DBMS, seperti IBM-DB2, SDK-Ingres
dan Oracle.

7.1. KATEGORI DBMS

Berdasarkan perkembangan teknologi, kita dapat


mengkategorikan DBMS dalam beberapa kategori
yang jumlahnya bisa bertambah seiring dengan
perkembangan teknologi di masa yang akan dafang.
Beberapa kategori DBMS itu adalah

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
168
• DBMS Konvensional

Sebagian besar DBMS yang ada saat ini masih


dapat dikategorikan sebagai DMBS konvensional
yang sudah menjadi standar pemakaian di
berbagai tempat. DBMS konvensional ini
meliputi juga DBMS untuk pemakai tunggal
maupun banyak pemakai tetapi dengan
menerapkan model basis data yang lama,
misalnya model jaringan, model hirarki a*au pun
model yang lebih populer yaitu model relasional.

• DBMS Berorientasi Objek

DBMS berorientasi objek merupakan respon


terhadap perkembangan yang terjadi dalam
dunia pemrograman, jadi databasenya lebih
mengarah untuk bahasa pemrograman.

• DBMS Objek Relational

DMBS objek Relational merupakan DBMS yang


merupakan kompromi antara DBMS Relational
dengan yang berorientasi objek. Secara objektif

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
169
DBMS ini masih menerapkan model relational
sebagai basis pengelolaan datanya.

• DBMS untuk Web/Internet

DBMS untuk Web/Internet merupakan DBMS


yang dibuat untuk keperluan khusus yaitu
menangani dokumen-dokumen Web yang
banyak digunakan di dunia internet.

7.2. DBMS DAN APLIKASI

Tidak sedikit orang berpendapat bahwa perangkat


lunak semacam Dbase III+, Foxpro dan MS Access
tidak dapat dikategorikan sebagai DBMS, yang
berpendapat seperti ini pasti orang yang
beranggapan bahwa sebuah DBMS haruslah sebuah
sistem ( perangkat lunak ) yang berdiri sendiri dan
terpisah dengan aplikasi basis Data. DBMS yang
besar, seperti MS. SQL Server, Oracle, Sybase,
Informix, IBM-DB2 memang dirancang sejak awal
untuk berdiri sendiri, sehingga banyak sekali
fasilitas yang ditandangani oleh DBMS ini.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
170
Basis data dapat dianggap sebagai objek yang hidup,
karena sesungguhnya aplikasi tidak pernah
berinteraksi langsung dengon basis data. Tetapi
selalu melalui DBMS sebagai perantara. Bahkan
DBMS sendiri bisa melakukan aktivitas sendiri yang
bisa ditangkap oleh aplikasi. Jadi interaksi antara
aplikasi, basis data dan DBMS merupakan interaksi
dua arah.

Perangkat lunak semacam Dbase UK. Foxbase, MS


Access dapat saja kiia golongkan sebagai DBMS,
jika kita lebih meninjau dari sisi fungsinya secara
umum, yaitu untuk mengelola basis data,
walaupun memang fasilitas tambahannya yang
tersedia tidak selengkap yang ada pada DBMS
PENGANTAR BASIS DATA
PENGANTAR BASIS DATA
171
yang besar. Aplikasi basis data yang kita buat akan
menyatu dengan DBMS pada saat pemakaiannya.

7.3. ARSITEKTUR SISTEM

Arsitektur sistem merunjuk pada konfigurasi secara


keseluruhan yang akan menjadi tempat hidup dari
DBMS, basis data dan aplikasi yang
memanfaatkannya.Dari waktu ke waktu sejalan
dengan kemajuan teknologi, arsiktektur sistem yang
akan kita pilih semakin beragam dan semakin
banyak variannya, yang juga berubah adalah
keunggulannya. Arsiktur sistem yang saat ini boleh
dikatakan paling baik dan banyak diterapakan di
berbagai tempat.

Pertimbangan utama dalam menentukan arsiktektur


sistem yang paling cocok ientu saja bukan hanya
keunggulan teknologinya, disamping faktor biaya
juga harus memilih arsiktektur sistem yang memang
sesuai dengan kebutuhan nyata di tempat sistem
yang akan menggunakannya.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
172
Beberapa jenis arsistektur sistem yang dapat
digunakan adalah :

1. Sistem Tunggal ( Stand Alone )

Pada arsistektur ini, DBMS basis data dan


aplikasi basis data ditempatkan pada komputer
yang sama. Dengan demikian pemakai yang
dapat menggunakannya di setiap saat juga
hanyq satu orang (single user). Arsistektur ini
merupakan arsistektur sistem yang paling
sederhana dan paling murah. Arsistertur
semacam ini dapat kita pilih dan digunakan, jika
basis data yang dikelola memang tidak terlalu
besar dan lebih bersifat membantu pekerjaan-
pekerjaan administrasi. Sistem Stand Alone
dapat diterapkan pada bidang pekerjaan yang
relatif kecil, seperti apotik, wartel dan Iain-Iain.

2. Sistem Tersentralisasi ( Centralized System )

Kita tidak dapat mempertahankan pemakaian


sistem Stand Alone, jika harus mengakomodasi
pemakaian oleh banyak pemakai ( Multi user ).

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
173
Arsistektur ini terdiri atas sebuah mesin server
dan sejumlah terminal ( workstation ). Yang
tersentralisasi dalam arsistektur ini dapat
mencangkup Basis Data, DBMS dan aplikasi
basis data. Arsistektur semacam ini akan cocok
untuk sistem jaringan ( LAN ). Bentuk
sentralisasi ini menggunakan DBMS yang
menyatu dengan dengan aplikasi, sehingga basis
datanya bersifat pasif. Kelemahan lain dari
bentuk ini adanya kelemahan mekanisme
pengamanan basis data dan hanya
mengandalkan mekanisme pengamanan yang
dimiliki oleh sistem operasi yang ada di server.

3. Sistem Client-Server

Sebagaimana sistem tersentralisasi, arsistektur


ketiga ini juga diterapkan pada sebuah sistem
jaringan. Sistem Client Server ini ditujukan
untuk mengatasi kelemahan pada sistem
tersentralisasi sebelumnya. Sistem ini terdiri atas
dua komponen utama yaitu Client dan Server.
Client berisi aplikasi basis data dan server berisi
DBMS dan basis data. Setiap aktivitas yang
PENGANTAR BASIS DATA
PENGANTAR BASIS DATA
174
dikehendaki para pemakai akan lebih dulu
ditangani oleh Client, Client selanjutnya
rnengupayakan agar semua proses sebisa
mungkin ditangani sendirt. Jika ada proses yang
harus melibatkan data yang tersimpan pada
basis data, barulah Client melakukan kontak
dengan server.

7.4. PERKEMBANGAN DBMS BERORIENTASI


KEPADA PEMAKAI

Berdosarkan orientasi pemakainya, kita dapat


mengelompokkan DBMS dalam 2 kategori yaitu:

7.4.1. DBMS Yang Berorientasi Untuk Satu Pemakai

Ms Access, Dbase, Clipper, Foxpro, Foxbase,


Borland merupakan contoh-contoh DBMS yang
lebih berorientasi untuk satu pemakai dan karena
itu dapat dengan mudah dipasang di komputer
pribadi ( PC ).

Pada DBMS kelompok ini pengembangannya


terjadi pada aspek-aspek :

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
175
• Jika pada awalnya, struktur tabel hanya
mencangkup pendefenisian nama tied, tipe dan
ukurannya. DBMS yang lebih baru juga
memasukkan feature, deskripsi field dan bentuk
validasi sebagai bagian dari struktur tabel.
• Tipe data yang dapat ditangani oleh DBMS
terbaru sudah semakin banyak, seper ti untuk
mengakomodasi kebutuhan penyimpanan data
teks yang panjang. gambar dan data OLE.
• Adanya Utilitas tambahan untuk mempermudah
pemakai dalam menggunakan DBMS, seperti
pembuatan Query, pembuatan laporan, hingga
pembuatan perintah makro secara otomatis
melalui pendefinisian menu dan tampilan layar.

7.4.2. DBMS Yang Berorientasi Untuk Banyak Pemakai

Oracle, Borlanjnterbase, MS SQL Server, Sybase,


Informix, IBM DB2 merupakan contoh-contoh
DBMS yang lebih diorientasikan untuk banyak
pemakai dan karena itu lebih ditujukan untuk
pemakaian pada sistern jaringan komputer ( LAN
atau WAN ). Tidak sebagaimana kelompok
pertama, DBMS kelompok ini memisahkan fungsi
PENGANTAR BASIS DATA
PENGANTAR BASIS DATA
176
pengelolalan basis data dan fungsi pembangunan
aplikasi.

Fungsi pengelolaan DBMS kelompok ini


menongani aspek-aspek :

• Pengamanan objek basis data terhadap pemakai


yang tidak berhak ( aspek security) dan bentuk-
bentuk operasi yang tidak diperbolehkan (
aspek integrity )
• Penanganan pemulihan data akibat kegagalan
operasi basis data ( aspek recovery ), baik yang
disebabkan oleh operasi-operasi basis data yang
salah atau menimbulkan konflik, maupun faktor
eksternal seperti mesin yang macet ( crash ),
disk yang rusak atau terputusnya koneksi
jaringan.

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
177

LAMPIRAN
CONTOH KASUS DAN SOLUSI
ANALISANYA

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
178

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
179

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
180

4. Bentuk 3NF = Bentuk 2 NF

Karena Kasusnya 1:1, artinya 1 orang pegawai


mendapatkan 1 slip gaji setiap terjadinya transaksl

Keterangan:
* : Primary Key
** : Foreign Key
PENGANTAR BASIS DATA
PENGANTAR BASIS DATA
181

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
182

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
183

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
184

Keterangan:
* : Primary Key
** : Foreign Key

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
185

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
186

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
187

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
188

Keterangan:
* : Primary Key
** : Foreign Kay

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
189

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
190

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
191

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
192

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
193

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
194

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
195
DAFTAR PUSTAKA
Date, C.J. An Introductions to Data Base System Vol. 1. 6th
Edition : Addson Westey, Singapore, 1992

Fathansyar. lr, Basis Data : Penerbit Informatika, Bandung,


1999

Korth, Henry F and Silberschat, Abraham, Database


System : Mc Graw-Hill, Newyork, 1992

Kristianto, Harianto, Konsep dan Perancanaan Database :


Penerbit Andi Offset, Yogyakarta, 1993

Sutanta, Edhy, Sistem Basis Data, Konsep dan


Perancanaan dalam Sistem Informasi Management:
Penerbit Andi Offset, Yogyakarta, 1996

PENGANTAR BASIS DATA


PENGANTAR BASIS DATA
196

PENGANTAR BASIS DATA

Anda mungkin juga menyukai