Download Slide 1

Document related concepts
no text concepts found
Transcript
PENGERTIAN BASIS DATA
Basis
:
Data
:
Basis Data
:
dapat diartikan sebagai markas atau gudang, tempat
bersarang atau berkumpul.
representasi fakta dunia nyata yang mewakili suatu objek
seperti manusia (pegawai, siswa, pembeli, pelanggan),
barang, hewan peristiwa, konsep, keadaan, dan
sebagainya yang direkam dalam bentuk angka, huruf,
simbol, teks, gambar, bunyi, atau kombinasinya.
Kumpulan file / table yang saling berelasi (berhubungan)
yang disimpan dalam media penyimpanan eletronik, atau
koleksi terpadu dari data yang saling berkaitan yang
dirancang untuk memenuhi kebutuhan informasi suatu
enterprise (dunia usaha).
Menurut James Martin,
Basis Data adalah kumpulan data yang saling berhubungan yang disimpan
secara bersama sedemikian rupa dan tanpa pengulangan (redundansi) yang
tidak perlu, untuk memenuhi berbagai kebutuhan.
1
PENGERTIAN INFORMASI
Informasi adalah hasil pemrosesan, manipulasi
dan pengorganisasian/penataan dari sekelompok
data di dalam basis data, yang mempunyai nilai
pengetahuan (knowledge) bagi penggunanya.
Keterangan,
Data yang dikelola dengan baik, bisa menghasilkan suatu informasi, tetapi
jika data dibiarkan berdiri sendiri tanpa pengolahan, seringkali tidak
berarti dan tidak memberikan tambahan pengetahuan.
2
TOPOLOGI PENYEDIAAN BASIS DATA
Database
Multiple user and
Multiple database
Standalone user and
Standalone database
Database
Database
3
DATA VS INFORMASI
Query
Query
Information [System]
Basis
Data
Query+Data
Information
Basis data dapat mendukung sistem informasi yang
berbentuk cukup sederhana, seperti direktori / daftar
telepon.
4
REPRESENTASI DATA
………
………
NPM
Jurusan
Nama
Nama
Dosen
………
Mahasiswa
………
5
LEMARI ARSIP VS BASIS DATA
Matakuliah
Mahasiswa
Dosen
Nilai
Lemari arsip di sebuah ruang
Table
Matakuliah
Table
Dosen
Table
Mahasiswa
Table
Nilai
HARD DISK
(Basia Data
NilaiMahasiswa)
Basis Data di sebuah hardisk
6
HIRARKI DATA
Berkas / File / Table adalah
kumpulan record sejenis yang
mempunyai panjang atribut /
field sama, namun berbeda isi
datanya.
Database
File / Berkas / Table
Rekaman / Record / Baris
………….
Elemen Data / Field / Atribut ……
…….. ……..
………….
Rekaman / Record / Baris
adalah gabungan sejumlah
elemen data yang saling
terkait.
Elemen Data / Field / Atribut
adalah satuan data terkecil yang
tidak dapat dipecah lagi menjadi
unit lain yang bermakna.
7
STRUKTUR TABLE
Field (Kolom)
No
NPM
Nama
1
Record (Baris)
2
3
n
Setiap field mempunyai tipe data sama atau berbeda
dari field lainnya.
8
DATA PADA SEBUAH OBJECT
Tentukan ATTRIBUTE
- Merk
- Jenis
- Bahan
- Ukuran
- Warna
- Harga
Buat TABLE dalam Basis Data (Database)
Merk
No
………
Jenis
Bahan
Merk
Jenis
Bahan
Ukuran
Warna
Harga
1
Puma
Sport
Kulit
40
Putih
$ 360
2
Carvil
Kantor
Kulit
41
Coklat
$ 200
3
Adidas
Sport
Canvas
39
Merah
$ 420
4
Lotto
Sport
Kulit
40
Putih
$ 325
5
Adidas
Sport
Canvas
42
Merah
$ 420
TABLE SEPATU
Keterangan : Object seringkali dinamakan sebagai *ENTITY*, kelompok data yang merepresentasikan object tersebut,
dinamakan *ATTRIBUTE*
9
CONTOH INFORMASI
Contoh informasi yang dapat dihasilkan dari table SEPATU pada halaman sebelumnya,
diantaranya :
- Ada 4 merk sepatu yang tercatat di dalam basis data.
- Ada 2 merk sepatu berbeda yang mempunyai ukuran yang persis sama.
- Sepatu merk Carvil, adalah sepatu termurah pada daftar tersebut.
- dan lain sebagainya (sebutkan!)
Pertimbangkan informasi berikut :
Tidak ada sepatu berwarna hitam, hijau, abu-abu, jingga, ungu, biru, maroon, kuning,
perak metalik, belang merah-putih, belang coklat-hitam, atau belang merah-coklat pada
data yang ada dalam table SEPATU.
Efek apa yang
anda rasakan?
10
KOMPONEN BASIS DATA
1) Perangkat keras (hardware)
Basis Data
PC
Basis
Data X:
Table A
Table B
Table C
Table D
Table E
Dll
Basis
Data Y:
Table J
Table K
Table L
Table M
Table N
Dll
3) Basis data (database)
4) Sistem (aplikasi/perangkat lunak)
PC
pengelola basis data (DBMS)
5) Pemakai (user)
PC
Database management
system (DBMS)
2) Sistem operasi (operating system)
6) Aplikasi (perangkat lunak) lain
(bersifat optional)
11
PENGGUNA DATABASE
Database Manager
a. Interaksi dengan manager file
b. Integritas
c. Keamanan
d. Bakcup dan recovery
Database Administrator
a. Mendefinisikan pola struktur database.
b. Mendefinisikan struktur penyimpanan dan metode akses.
c. Mampu memodifikasi pola dan organisasi phisik.
d. Memberikan kekuasaan pada user untuk mengakses data.
e. Menspesifikasikan keharusan integritas data.
Database User
Ada 4 macam pemakai DB, berbeda berdasarkan keperluan dan cara akses :
1. Programmer Aplikasi,
2. Casual User (user mahir),
3. User Umum (end user), dan
4. User khusus (specialized user).
12
CONTOH APLIKASI DENGAN BASIS DATA
13
“LOGIN PAGE” DENGAN BASIS DATA
14
DATABASE MANAGEMENT SYSTEM
DBMS adalah koleksi terpadu dari program-program
(sistem perangkat lunak) yang digunakan untuk
mendefinisikan, menciptakan, mengakses dan merawat
database (basis data). Tujuannya adalah menyediakan
lingkungan yang mudah dan aman untuk penggunaan dan
perawatan database. Contoh daripada DBMS adalah MS-
Access, MS SQL-Server, MySql, DB2 dan Oracle
15
PEMANFAATAN BASIS DATA (DATABASE)
Bidang Fungsional :
1. Kepegawaian
2. Pergudangan (inventory)
3. Akuntansi
4. Reservasi
5. Layanan Pelanggan, dll
Bentuk Perusahan :
1. Perbankan
2. Rumah Sakit
3. Produsen Barang
4. Sekolah
5. Telekomunikasi, dll
16
KEUNTUNGAN BASIS DATA (DATABASE)
1). Mengurangi redudansi data
2). Integritas Data
3). Menghindari inkonsisten data
4). Penggunaan data bersama
5). Standarisasi data
6). Jaminan Keamanan Data (Security Data)
7). Menyeimbangkan kebutuhan data
17
KERUGIAN BASIS DATA (DATABASE)
1). Diperlukan hardware (perangkat keras tambahan) : CPU yang
lebih kuat, terminal yang lebih banyak, alat komunikasi.
2). Biaya Performance yang lebih besar : listrik, personil yang
lebih tinggi klasifikasinya, biaya telekomunikasi antar lokasi.
3). Rawannya keberhasilan operasi : gangguan listrik, dan
komunikasi.
4). Sistem kelihatan lebih kompleks : banyaknya aspek yang harus
diperhatikan.
18
OPERASI DASAR BASIS DATA
1). Pembuatan basis data baru (create database)
2). Penghapusan basis data (drop database)
3). Pembuatan table baru ke suatu basis data (create table)
4). Penghapusan table dari suatu basis data (drop table)
5). Penambahan/pengisian data baru di sebuah basis data (insert)
6). Pengambilan data dari sebuah table (retrieve / search)
7). Pengubahan data dalam sebuah table (update)
8). Penghapusan data dari sebuah table (delete)
19
CONTOH IMPLEMENTASI DATABASE
Penjadwalan mengajar dosen
20
ABSTRAKSI DATA
21
USER’S VIEW
Level Pandangan Pemakai
(View Level)
Level abstraksi tertinggi yang
menggambarkan hanya satu
bagian dari keseluruhan
database, pada level ini
hanya sebagian saja yang
dilihat dan dipakai. Hal ini
disebabkan beberapa
pemakai database tidak
membutuhkan semua isi
database.
22
CONCEPTUAL VIEW
Level Konseptual
Level abstraksi data level
lebih rendah dibandingkan
level pandangan pemakai,
yang menggambarkan data
apa (what) yang disimpan
dalam basis data, dan
hubungan relasi yang terjadi
antar data. Level ini
digunakan oleh database
administrator, yang
memutuskan informasi apa
yang akan dipelihara dalam
satu database.
23
PHYSICAL VIEW
Level Fisik
Level abstraksi paling
rendah, menggambarkan
bagaimana (how) data
disimpan dalam kondisi
sebenarnya. Level ini
digunakan oleh programmer,
yang digunakan untuk
melakukan pemrograman
dengan mengunakan
database dan DBMS tertentu
sesuai dengan kebutuhan
end-user.
24
DATABASE LANGUAGE
DDL
Data Definition Language
DML
Data Manipulation Language
DCL
Data Control Language
25
DATA DEFINITION LANGUAGE
Data Definition Language (DDL)
Struktur / skema basis data yang menggambarkan / mewakili desain basis
data secara keseluruhan dispesifikasikan dengan bahasa khusus, dan
dikompilasikan dalam kumpulan table yang disimpan dalam file khusus
yang disebut kamus data (data dictionary) yang merupakan suatu
metadata (superdata), yaitu data yang mendiskripsikan data
sesungguhnya.
26
CONTOH PERINTAH DDL
CREATE - to create objects in the database
ALTER - alters the structure of the database
DROP - delete objects from the database
TRUNCATE - remove all records from a table
COMMENT - add comments to the data dictionary
RENAME - rename an object
Keterangan : DDL diatas diambil dari Oracle Database
27
DATA MANIPULATION LANGUAGE
Data Manipulation Language (DML)
DML berisi sekumpulan operasi manipulasi data pada basisdata, DML biasa
disebut bahasa query yaitu bahasa untuk meminta informasi dari
basisdata. DML merupakan bahasa yang bertujuan memudahkan pemakai
untuk mengakses data sebagaimana direpresentasikan oleh model data.
1).
Prosedural, yang mensyaratkan pemakai menentukan, data
apa yang diinginkan serta bagaimana cara mendapatkannya.
2).
Nonprosedural, yang membuat pemakai dapat menentukan
data apa yang diinginkan tanpa menyebutkan bagaimana
cara mendapatkannya.
Contoh paket bahasa prosedural DML : dBase, FoxBase, sedang untuk
Nonprosedural DML : SQL (Structure Query Language), QBE (Query By Example).
28
CONTOH PERINTAH DML
SELECT - retrieve data from the a database
INSERT - insert data into a table
UPDATE - updates existing data within a table
DELETE - deletes all records from a table, the space for the records remain
MERGE - UPSERT operation (insert or update)
CALL - call a PL/SQL or Java subprogram
EXPLAIN PLAN - explain access path to data
LOCK TABLE - control concurrency
Keterangan : DML diatas diambil dari Oracle Database
29
DATA CONTROL LANGUAGE
Data Control Language (DCL)
DCL merupakan sub bahasa untuk mengendalikan struktur internal
basisdata, DCL untuk menyesuaikan sistem agar supaya lebih efisian dan
DCL sangat bergantung pada vendor
Contoh Perintah DCL
GRANT - gives user's access privileges to database
REVOKE - withdraw access privileges given with the GRANT command
Keterangan : DCL diatas diambil dari Oracle Database
30
ANOMALI PADA DML
a. Anomali Peremajaan (Update).
Anomali peremajaan terjadi apabila ada perubahan pada sejumlah data
yang mubazir pada suatu table tetapi tidak seluruhnya diubah.
b. Anomali Penyisipan (Insert).
Anomali penyisipan terjadi apabila pada saat penambahan hendak
dilakukan, ternyata ada elemen data yang masih kosong, dan elemen data
tersebut justru menjadi kunci.
c. Anomali Penghapusan (Delete).
Anomali penghapusan terjadi apabila suatu baris (record) yang tidak
terpakai dihapus, dan sebagai akibatya ada data lainnya yang hilang.
31
DBMS VS RDBMS
Pada prinsipnya sebuah RDBMS adalah sebuah DBMS, dengan kelebihan
adanya relational (relasi) antara obyek-obyek (entity/tabel) yang ada di
Dalam database tersebut. RDBMS : Relational Data Base Management System
Database relational terdiri dari
kumpulan tabel yang menyimpan data
spesifik. Ketentuan sebuah database
adalah database relational
mempengaruhi bagaimana data
disimpan dan diproses. Konsep
database relational sendiri berangkat
dari aljabar relational, pertama kali
dipopulerkan oleh “bapak” database
relational, E.F. Codd.
Sebagian besar atau bahkan hampir
semua database yang digunakan dewasa
ini adalah database relational. Data yang
disimpan dapat diproses dengan
menggunakan bahasa pemrograman yang
dinamakan Structured Query Language,
atau SQL.
32
MENYIMPAN DATA PADA DBMS
EMPLOYEE
* ID
o NAME
ADDRESS
* ID
o CITY
* EMP_ID
ID
-----34
37
89
ID
-----1
3
34
42
89
91
Name
------------Yadi Ar-Ruhio
Dwi Probowo
Anwar Habibi
City
-------------------------------Jl. Bunga Bakung 15 A, Bekasi
Kampung Daun, Blok C4-20, Banten
Jl. Aceh No. 14, Bandung
Kompleks Pajak Jl.NPWP 12, Jakut
Jl. Kenangan 1117-RT.3/RW.5 Jkt
Jl. Atletik V No.3, Purwokerto
EMP_ID
-----34
89
34
38
37
55
Keterangan: karena tidak ada relasi, maka kolom EMP_ID yang ada
pada tabel ADDRESS bisa dimasukkan data apa saja, termasuk emp_id
yang sebetulnya tidak ada pada tabel Employee!
33
MENYIMPAN DATA PADA RDBMS
EMPLOYEE
* ID
o NAME
ADDRESS
* ID
o CITY
* EMP_ID
ID
-----34
37
89
ID
-----1
3
34
89
Name
------------Yadi Ar-Ruhio
Dwi Probowo
Anwar Habibi
City
-------------------------------Jl. Bunga Bakung 15 A, Bekasi
Kampung Daun, Blok C4-20, Banten
Jl. Aceh No. 14, Bandung
Jl. Kenangan 1117-RT.3/RW.5 Jkt
EMP_ID
-----34
89
34
37
Keterangan: karena ADANYA relasi, maka kolom EMP_ID yang ada
pada tabel ADDRESS hanya bisa menerima emp_id yang ada pada tabel Employee!
34
KEY DAN RELASI
KEY PRIMER (PRIMARY KEY)
o Key/Key Primer adalah atribut atau kombinasi dari minimal beberapa atribut
yang mendefinisikan secara unik suatu kemunculan dari entitas.
contoh : Kode barang adalah key primer untuk sebuah Barang
o Key primer akan berpeluang besar menjadi dasar indeks primer untuk tabel basis
data fisik, tetapi bisa juga tidak
ATURAN KEY PRIMER
o Setiap entitas harus punya key primer
o Tidak ada bagian dari key primer yang boleh null atau tidak punya nilai
o Nilainya tidak boleh berubah
35
CANDIDATE KEY
Ketika lebih dari satu atribut yang mendefinisikan entitas secara unik, maka atribut
semacam itu disebut key cadangan (candidates keys).
contoh : SOCIAL_SECURITY# merupakan key cadangan untuk entitas PEGAWAI.
COMPOSITE KEY
Ketika lebih dari satu atribut yang diperlukan untuk menunjukkan suatu entitas, maka
key primer tersebut disebut key campuran (composite keys)
ALTERNATE KEY
Atribut yang dapat di jadikan sebagai alternatif untuk menjadi primary key
36
S#
SNAME
KODE
S1
RISKA
122
S2
SANDY
122
S3
SANTI
123
S4
IMEL
112
S5
TANIA
123
a)
Candidate Key : S#, SNAME
b)
Primary Key : S#
c)
Alternatif Key : SNAME
d)
Foreign Key : KODE
37
KEY ASING(FOREIGN KEY)
•
•
Key Asing (Foreign Key) digunakan untuk merelasikan entitas-entitas dalam
sebuah sistem relasi.
Key asing berupa satu atau lebih atribut yang domain (alternatif nilai)-nya
terbatas baik pada :
a. nilai-nilai yang muncul sebagai key primer untuk entitas-entitas yang
dihubungkannya.
•
•
b. atau secara keseluruhan,nilai-nilai yang tidak ada
Hal ini merupakan aturan dari Integritas Referensial
Key primer dari asosiasi umumnya berupa key campuran yang meliputi
semua key asing
38
JENIS-JENIS KEY

Candidate Key : field-field yang dapat di jadikan sebagai calon key (kunci)

Primary Key : field yang di jadikan sebagai key (kunci) biasanya unique

Alternate Key : field-field / key yang dapat di jadikan sebagai alternatif untuk
menjadi primary key

Composite Key : Key yang terbentuk lebih dari satu field

Unique Key : field-field yang unik, dimana nilai datanya tidak ada yang sama
dalam setiap recordnya

Foreign Key : field yang menjadi tamu dalam sebuah table karena field tersebut
dijadikan sebagai penghubung (relasi) dengan table yang lainnya
39
RELASI
Adalah koneksi (hubungan) antara 2 atau lebih entitas.
Diagram ER (Entity-Relationship) berisi kotak-kotak yang menyatakan entitas yang dihubungkan
dengan garis-garis yang menunjukkan Relasi
DERAJAT RELASI
Ada 3 macam yaitu:
1. Relasi Satu ke satu
Data dari entitas pertama berkorespondensi ke satu dan hanya satu data di entitas
kedua dari kedua arah
2. Relasi Satu ke banyak
Untuk setiap data di entitas pertama ada banyak data yang berhubungan di entitas
kedua,tetapi untuk setiap data di entitas kedua ada satu dan hanya satu data di
entitas pertama
3. Relasi Banyak ke banyak
Untuk setiap data di entitas pertama ada banyak data yang berhubungan di entitas
kedua,begitu juga sebaliknya
Derajat relasi juga disebut Kardinalitas Relasi
40
NORMALISASI
Normalisasi adalah proses efisiensi pengorganisasian data di dalam
database.
Dua tujuan normalisasi :
1. Menghilangkan data yang "redundant" (contoh:menyimpan data yang
sama di dalam lebih dari satu tabel)
2. Meyakinkan ketergantungan data sebagai sesuatu yang masuk akal (hanya
menyimpan data yang berhubungan dalam sebuah tabel)
Macam-macam/Tingkatan Normalisasi
First Normal Form (1NF), Second Normal Form (2NF)
Third Normal Form (3NF), Boyce Codd Normal Form,
Fourth Normal Form (4NF), Fifth Normal Form (5NF)
41
FIRST DAN SECOND NORMAL FORM
Pada penerapannya, yang sering digunakan pada saat seseorang Sistem
Analis atau Perekayasa Database melakukan normalisasi adalah First Normal
Form dan Second Normal Form.
First Normal
- Menghilangkan kolom yang duplikat (duplikasi data) dari tabel
- Membuat tabel terpisah dari tiap-tiap grup data yang berhubungan dan
mengidentifikasi setiap row untuk mendapatkan unique key/primary key
Second Normal
- Berada pada First Normal Form
- Memindahkan subset data yang ditampilkan beberapa rows dan
menempatkannya pada tabel terpisah
- Membuat 'relationship' diantara tabel-tabel baru dan tabel sebelumnya
melalui/menggunakan Foreign Key
42
CONTOH TABEL TIDAK DI-NORMALISASI
Cust#
----101
101
101
101
101
101
102
103
104
104
104
104
104
105
105
105
106
106
106
106
106
106
Customer
-------------------ABC Corporation
ABC Corporation
ABC Corporation
A.B.C. Corp.
A.B.C. Corp.
ABC Co.
Beta Partners Ltd.
Custom Services
Data Automation Inc.
Data Automation Inc.
Data Automation Inc.
Data Automation
Data Automation
Epsilon Enterprises
Epsilon Enterprises
Epsilon Enterprises
Financial Consulting
Financial Consulting
Financial Consulting
Financial Contracting
Financial Contracting
Financial Contracting
Phone
-------325-7289
325-7289
325-7289
325-7289
325-7289
325-7289
902-4416
381-9408
452-9520
452-9520
452-9520
452-9520
452-9520
902-7767
902-7767
902-7767
428-0131
428-0131
428-0113
428-0113
428-0131
428-0131
Invoice#
-------1319
2649
26883
42926
75284
91958
Date
-------10/22/03
11/05/03
12/06/03
02/10/04
05/03/04
05/24/04
Total
-----891.57
532.68
520.92
362.82
901.86
740.60
13999
23413
52056
64976
95954
29950
74628
79050
3522
20471
49515
55215
79507
79877
11/30/03
12/12/03
12/14/03
01/16/04
03/24/04
01/20/04
04/15/04
06/25/04
01/02/04
03/20/04
04/06/04
05/01/04
05/02/04
05/14/04
842.51
469.36
222.11
36.36
566.60
529.67
602.86
677.66
128.95
699.19
798.51
158.21
432.50
428.50
43
Tabel di atas adalah tabel invoice (tagihan), dimana tabel tersebut menyimpan
data-data pelanggan berikut tagihan masing-masing.
Pada tabel tersebut, users dibingungkan dengan nama pelanggan karena
dituliskan secara berbeda-beda meskipun memiliki Cust# yang sama (nomor
pelanggan sudah betul). Nomor telepon juga dituliskan berulang-ulang, dengan
resiko suatu saat kemungkinan penulisan nomor telepon akan salah. Tabel
tersebut juga memiliki data pelanggan yang tidak memiliki tagihan! (Invoice#
kosong). Sehingga, apakah tabel itu layak dinamakan sebagai tabel tagihan?
Tentu saja TIDAK!
Dengan kata lain, jika tabel itu ditambahi data (dengan proses insert tentunya),
maka sangat besar kemungkinan data yang berikutnya tersebut adalah data yang
salah. Hal ini karena data yang seharusnya tidak perlu ditulis berulang-ulang,
ditulis secara terus menerus. Pecahlah tabel tersebut menjadi beberapa buah
tabel kecil.
44
Cust#
----101
102
103
104
105
106
Customer
-------------------ABC Corporation
Beta Partners Ltd.
Custom Services
Data Automation Inc.
Epsilon Enterprises
Financial Consulting
Phone
-------325-7289
902-4416
381-9408
452-9520
902-7767
428-0131
Cust# Invoice#
----- -------101
1319
101
2649
101
26883
101
42926
101
75284
101
91958
104
13999
104
23413
104
52056
104
64976
104
95954
105
74628
105
79050
106
3522
106
20471
106
49515
106
55215
106
79507
106
79877
Date
-------10/22/03
11/05/03
12/06/03
02/10/04
05/03/04
05/24/04
11/30/03
12/12/03
12/14/03
01/16/04
03/24/04
04/15/04
06/25/04
01/02/04
03/20/04
04/06/04
05/01/04
05/02/04
05/14/04
Total
-----891.57
532.68
520.92
362.82
901.86
740.60
842.51
469.36
222.11
36.36
566.60
602.86
677.66
128.95
699.19
798.51
158.21
432.50
8.50
Tabel di sebelah kiri adalah Tabel Customer (Pelanggan), dan tabel di sebelah
Kanan adalah Tabel Invoice.
Pada tahap ini, kita sudah memulai proses yang dinamakan Normalisasi.
45
Pada tahap ini, tidak ada keraguan mengenai nama pelanggan dan nomor telepon.
Nomor telepon mungkin saja masih salah, tetapi nomor telepon tidak berulang-ulang
dan hanya satu nomor saja untuk setiap pelanggan (tidak mempunyai kemungkinan
lain). Jika kita melakukan pencetakan tagihan, kita cukup menggunakan Cust# yang
ada pada tabel Invoice untuk mendapatkan data nama pelanggan dan nomor
teleponnya dari tabel Customer.
Database manager dapat me-relasikan tabel-tabel yang dibuatnya, dan dengan cara
ini maka akan terbentuk database yang dinamakan dengan relational database.
Catatan:
Jika kita memiliki data yang banyak mengandung duplikasi seperti contoh tabel di
atas (tabel yang belum di normalisasi), maka kita tidak menggunakan sesuatu yang
dinamakan “relational”, hal ini sering terjadi pada users yang menggunakan aplikasiaplikasi spreadsheet seperti Microsoft Excel.
46
DENORMALISASI DATABASE
Denormalisasi database adalah kejadian dimana database secara sengaja
tidak dibuat mengikuti kaidah Normalisasi atau bahkan dari bentuk Normal
dirubah menjadi tidak normal (Denormalisasi) untuk mendukung kebutuhan
bisnis/pengambilan keputusan/pencarian data.
Normalisasi
Denormalisasi
47
DATABASE OLTP DAN OLAP
Dari sisi pengaksesannya, database dapat dibagi menjadi :
1.
OLTP : On Line Transaction Processing
2.
OLAP : On Line Analytical Processing
OLTP, database yang di Normalisasi
OLTP memiliki karakteristik volume transaksi yang besar hingga sangat besar, tetapi
dengan proses terhadap data yang minimal (DML sangat sederhana). Contoh
penerapan database jenis ini ada pada kasir, mesin ATM, data panggilan telepon, dan
sejenisnya.
OLAP, database yang di Denormalisasi
OLAP memiliki karakteristik proses yang mengambil banyak data historis yang
diakumulasi dalam waktu atau periode yang lama. Database yang denormalisasi
seringkali dibutuhkan untuk mendukung “business intelligence”. Contoh penerapan
database jenis ini misalnya pada sistem pelaporan keuangan, penjualan, dan
sejenisnya.
48
ENTITY RELATIONSHIP DIAGRAM (ERD)
Model data / tool (alat) yang digunakan dalam proses analisa
untuk menggambarkan kebutuhan data dan asumsi-asumsi dalam
sistem, secara top-down (dari atas ke bawah). ERD ini dapat
digunakan kembali (berulang) untuk analisa dan desain pada
SDLC (System Development Life Cycle)
Tiga elemen dasar di dalam ERD:
• Entities adalah “sesuatu” dimana kita mencari informasi.
• Attributes adalah kumpulan data pada entity.
• Relationships adalah penghubung antara entity-entity.
49
ERD PADA PENGEMBANGAN SISTEM
Gambar : System Development Life Cycle
Pada tahapan inilah konsep
Basis Data harus sudah sangat
jelas, dan pada tahap ini ERD
dibuat.
50
CONTOH SOFTWARE ERD
Terdapat beberapa (cukup banyak) perangkat lunak/software yang bisa digunakan
untuk menggambarkan Entity Relationship Diagram,
Mempunyai Hak Cipta / Berbayar,
Avolution, ConceptDraw, ER/Studio, ERwin, DeZign for Databases, MEGA
International, OmniGraffle, Oracle Designer, PowerDesigner, Rational Rose, RISE
Editor, SmartDraw, Sparx Enterprise Architect, SQLyog, Toad Data Modeler,
Microsoft Visio, dan Visual Paradigm.
Free / Gratis,
MySQL Workbench, StarUML, dan SchemaSpy
51
NOTASI ERD
Referensi definitif untuk entity relationship modelling secara
umum, diulas pada tulisan Peter Chen (1976).
IDEFIX (Integration Definition for Information Modeling)
bahasa pemodelan data untuk memodelkan data secara
semantik, sebagai hasil dari program: Integrated Computer
Aided Manufacturing (ICAM).
Notasi Bachman dari Charles Bachman.
Notasi Martin dari James Martin. Dinamakan juga notasi
Crow’s Foot, dan sangat populer.
Notasi (min, max) dari Jean-Raymond Abrial pada 1974.
Notasi standard UML. Unified Modeling Language (UML)
adalah bahasa yang digunakan untuk standarisasi
pemodelan data pada software engineering.
52
NOTASI MARTIN (CROW’S FOOT)
Notasi Crow's foot memiliki beberapa keunggulan:
• Sangat jelas jika digunakan untuk mendefinisikan
hubungan “ke-banyak” (many) atau seringkali
disebut child/anak.
Crow's foot notation
• Dapat menggambarkan hubungan/relasi yang
menghasilkan foreign key mandatory (wajib diisi)
dan foreign key optional (tidak wajib diisi).
Notasi cukup banyak di adopsi oleh software-software yang digunakan untuk menggambarkan
Entity Relationship Diagram (ERD), diantaranya :
Oracle Designer, System Architect, Visio, PowerDesigner, ModelRight, Toad Data
Modeler, DeZign for Databases, OmniGraffle, MySQL Workbench dan Dia.
53
CONTOH ERD PADA NOTASI CHEN
54
ERD DENGAN NOTASI CROW’S FOOT
NAME
ID
EMPLOYEE
EMPLOYEE
EMPLOYEE
* ID
o NAME
* ID
o NAME
having
ADDRESS
ADDRESS
* ID
o CITY
ID
CITY
Notasi
Chen’s
Notasi Crow’s Foot
menggunakan
Oracle Designer
ADDRESS
* ID
o CITY
* EMP_ID
Table hasil
55
RELASI PADA NOTASI CROW’S FOOT
Satu ke banyak / One to many
Foreign Key bersifat mandatory
EMPLOYEE
* ID
o NAME
Satu ke banyak / One to many
Foreign Key bersifat optional
EMPLOYEE
ADDRESS
* ID
o CITY
* ID
o NAME
ADDRESS
* ID
o NAME
o EMP_ID
56
CONTOH ERD DENGAN NOTASI CROW’S FOOT
57
CONTOH ERD RUMAH SAKIT SEDERHANA
58
SECURITY DATABASE
Adalah merupakan tindakan untuk memproteksi kejahatan untuk mencuri atau memodifikasi data
dalam sistem database.
1. Database system level.
Merupakan mekanisme autentikasi dan otorisasi untuk mengijinkan pemakai tertentu
melakukan akses data yang diperlukan saja.
2. Operating system level.
Operating system super-user dapat melakukan apapun terhadap database. Kemanan
sistem operasi yang handal dan bagus diperlukan dalam hal ini.
3. Network level.
Pada level ini proses kemanan harus menggunakan enkripsi untuk menjaga :
Eavesdropping (pembacaan yang tidak terotorisasi terhadap pesan – pesan tertentu)
Masquerading (berpura – pura menjadi pemakai yang sah atau mengirimkan pesan
yang seolah berasal dari pemakai yang sah).
4. Physical Level.
Yaitu melakukan akses fisik terhadap komputer memungkinkan terjadinya perusakan
data, kemanan dengan menggunakan kunci yang diperlukan. Komputer juga harus
diamankan dari kebanjiran, kebakaran dan lainnya.
5. Human Level.
Pemakai harus disaring dahulu untuk memastikan bahwa pemakai yang sah tidak
memperbolehkan memberikan hak akses kepada orang lain (penyusup). Pemakai harus
dilatih dalam pemilihan password dan menjaga kerahasiaannya.
59
DATABASE TERDISTRIBUSI
Merupakan salah satu pengembangan di sistem basisdata, yang berupa kumpulan data
yang digunakan bersama yang saling terhubung secara lojik tetapi tersebar secara fisik
pada suatu jaringan komputer.
DDBMS mempunyai karakteristik sebagai berikut :
a. Kumpulan data yang digunakan bersama yang secara lojik saling terhubung yang
tersebar pada sejumlah komputer yang berbeda
b. Komputer komputer saling dihubungkan menggunakan jaringan komunikasi
c. Data pada masing masing komputer dibawah kendali satu DBMS
d. DBMS dimasing masing komputer dapat menangani aplikasi aplikasi lokal secara
otonom
e. Masing masing DBMS berpartisipasi dalam sedikitnya satu aplikasi global
60
KEUNGGULAN DAN KELEMAHAN DDBMS
Keunggulan DDBMS
a. Secara alami mengikuti struktur organisasi
b. Adanya otonomi lokal
c. Sifatnya dapat dipakai bersama
d. Peningkatan ketersediaan
e. Peningkatan kehandalan
f. Peningkatan kinerja
g. Ekonomis
Kelemahan DDBMS adalah
h. Pertumbuhan yang modular
a. Kompleksitas
b. Biaya
c. Kelemahan dalam keamanan
d. Sulitnya menjaga keutuhan data
e. Kurang standard
f. Kurangnya pengalaman
61
OBJECT ORIENTED DATABASE
Teknologi ini mengintegrasikan kemampuan basis data (DBMS) dengan
kemampuan pemrograman berorientesi kepada obyek (OOP).
Letak perbedaan utama ODBMS dengan sistem basis data konvensional
adalah pada sistem basis data konvensional data direpresentasikan ke
dalam bentuk tabel-tabel dengan kolom yang mewakili kategori dari data,
dan baris yang berisi data itu sendiri. Sedangkan dalam ODBMS, data
direpresentasikan sebagai sebuah obyek, baik dalam hal pengaksesannya
maupun dalam hal pemodelannya.
62
KELEBIHAN DAN KELEMAHAN OODB
Kelebihan OODB diantaranya:
1. Desain yang “indah”
2. Penyederhanaan pembuatan aplikasi
3. Kinerja yang baik
Kelemahan OODB diantaranya:
1. Tight coupling
2. Kurangnya dukungan platform
3. Sulit bermigrasi
4. Kebutuhan keterampilan
5. Query yang kompleks
63
KENYATAAN OODB
Pada saat diperkenalkan beberapa tahun lalu, ODBMS diperkirakan akan
segera menjadi teknologi utama di bidang basis data menggantikan Sistem
Basis Data Relasional (RDBMS). Utamanya karena RDBMS tidak dirancang
untuk menangani tipe data multimedia yang banyak digunakan di internet.
Kenyataan pada saat ini ramalan tersebut tidak mengenai sasaran. Saat ini
terbukti RDBMS masih jauh lebih banyak dipergunakan. ODBMS hanya
mendapatkan sebagain kecil dari pasaran. Penjualan RDBMS mencapai 50
kali lipat penjualan ODBMS. Di sisi lain pembuat RDBMS menambahkan
kemampuan penggunaan obyek ke dalam sistem buatannya menjadi objectrelational database management sistem (ORDBMS).
64