pengertian basis data

64
1 PENGERTIAN BASIS DATA Basis : dapat diartikan sebagai markas atau gudang, tempat bersarang atau berkum pul. Data : representasifakta dunia nyata yang m ewakilisuatu objek seperti manusia (pegawai, siswa, pembeli, pelanggan), barang, hewan peristiwa, konsep, keadaan, dan sebagainya yang direkam dalam bentuk angka, huruf, sim bol,teks,gam bar,bunyi,atau kom binasinya. B asis D ata : Kumpulan file / table yang saling berelasi(berhubungan) yang disim pan dalam m edia penyim panan eletronik,atau koleksi terpadu dari data yang saling berkaitan yang dirancang untuk memenuhi kebutuhan informasi suatu enterpris e (dunia usaha). Menurut James Martin, Basis Data adalah kumpulan data yang saling berhubungan yang disimp secara bersama sedemikian rupa dan tanpa pengulangan (redundansi) y tidak perlu, untuk memenuhi berbagai kebutuhan.

Upload: wray

Post on 07-Jan-2016

45 views

Category:

Documents


0 download

DESCRIPTION

PENGERTIAN BASIS DATA. 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. PENGERTIAN INFORMASI. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: PENGERTIAN BASIS DATA

1

PENGERTIAN BASIS DATA

Basis : dapat diartikan sebagai markas atau gudang, tempat bersarang atau berkumpul.

Data : 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.

Basis Data : 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 disimpansecara bersama sedemikian rupa dan tanpa pengulangan (redundansi) yangtidak perlu, untuk memenuhi berbagai kebutuhan.

Page 2: PENGERTIAN BASIS DATA

2

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, tetapijika data dibiarkan berdiri sendiri tanpa pengolahan, seringkali tidak berarti dan tidak memberikan tambahan pengetahuan.

Page 3: PENGERTIAN BASIS DATA

3

TOPOLOGI PENYEDIAAN BASIS DATA

Database

Database

Standalone user andStandalone database

Multiple user andMultiple database

Database

Page 4: PENGERTIAN BASIS DATA

4

DATA VS INFORMASI

Basis data dapat mendukung sistem informasi yang berbentuk cukup sederhana, seperti direktori / daftar telepon.

Basis Data

Information [System]Query

Information

Query

Query+Data

Page 5: PENGERTIAN BASIS DATA

5

Mahasiswa

Jurusan

Nama

NPM

………

DosenNama

………

………………

REPRESENTASI DATA

Page 6: PENGERTIAN BASIS DATA

6

Lemari arsip di sebuah ruang Basis Data di sebuah hardisk

Dosen

Matakuliah

Mahasiswa Nilai

HARD DISK

(Basia Data NilaiMahasiswa)

Table Matakuliah

Table Mahasiswa

Table Dosen

Table Nilai

LEMARI ARSIP VS BASIS DATA

Page 7: PENGERTIAN BASIS DATA

7

File / Berkas / Table Rekaman / Record / Baris …………. …………. Elemen Data / Field / Atribut …… …….. ……..

Database

Berkas / File / Table adalah kumpulan record sejenis yang mempunyai panjang atribut / field sama, namun berbeda isi datanya. 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.

HIRARKI DATA

Page 8: PENGERTIAN BASIS DATA

8

STRUKTUR TABLE

No NPM Nama

1

2

3

n

Setiap field mempunyai tipe data sama atau berbedadari field lainnya.

Record (Baris)

Field (Kolom)

Page 9: PENGERTIAN BASIS DATA

9

Jenis

Merk

………

- Merk- Jenis- Bahan- Ukuran- Warna- Harga

Keterangan : Object seringkali dinamakan sebagai *ENTITY*, kelompok data yang merepresentasikan object tersebut,dinamakan *ATTRIBUTE*

No Merk Jenis BahanUkuran

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

Bahan

Buat TABLE dalam Basis Data (Database)

Tentukan ATTRIBUTE

TABLE SEPATU

DATA PADA SEBUAH OBJECT

Page 10: PENGERTIAN BASIS DATA

10

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 yanganda rasakan?

Page 11: PENGERTIAN BASIS DATA

11

Basis Data

Basis Data X: Table A Table B Table C Table D Table E

Dll

Database management system (DBMS)

PC

PC

PC

Basis Data Y: Table J Table K Table L Table M Table N

Dll

KOMPONEN BASIS DATA

1) Perangkat keras (hardware)

2) Sistem operasi (operating system)

3) Basis data (database)

4) Sistem (aplikasi/perangkat lunak)

pengelola basis data (DBMS)

5) Pemakai (user)

6) Aplikasi (perangkat lunak) lain

(bersifat optional)

Page 12: PENGERTIAN BASIS DATA

12

Database Manager

Database Administrator

Database User

PENGGUNA DATABASE

a. Interaksi dengan manager fileb. Integritasc. Keamanand. Bakcup dan recovery

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.

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).

Page 13: PENGERTIAN BASIS DATA

13

CONTOH APLIKASI DENGAN BASIS DATA

Page 14: PENGERTIAN BASIS DATA

14

“LOGIN PAGE” DENGAN BASIS DATA

Page 15: PENGERTIAN BASIS DATA

15

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

DATABASE MANAGEMENT SYSTEM

Page 16: PENGERTIAN BASIS DATA

16

PEMANFAATAN BASIS DATA (DATABASE)

Bidang Fungsional :1. Kepegawaian2. Pergudangan (inventory)3. Akuntansi4. Reservasi5. Layanan Pelanggan, dll

Bentuk Perusahan :1. Perbankan2. Rumah Sakit3. Produsen Barang4. Sekolah5. Telekomunikasi, dll

Page 17: PENGERTIAN BASIS DATA

17

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

Page 18: PENGERTIAN BASIS DATA

18

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.

Page 19: PENGERTIAN BASIS DATA

19

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)

Page 20: PENGERTIAN BASIS DATA

20

CONTOH IMPLEMENTASI DATABASE

Penjadwalan mengajar dosen

Page 21: PENGERTIAN BASIS DATA

21

ABSTRAKSI DATA

Page 22: PENGERTIAN BASIS DATA

22

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.

Page 23: PENGERTIAN BASIS DATA

23

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.

Page 24: PENGERTIAN BASIS DATA

24

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.

Page 25: PENGERTIAN BASIS DATA

25

D D LData Definition Language

D M LData Manipulation Language

D C LData Control Language

DATABASE LANGUAGE

Page 26: PENGERTIAN BASIS DATA

26

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.

Page 27: PENGERTIAN BASIS DATA

27

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

Page 28: PENGERTIAN BASIS DATA

28

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).

Page 29: PENGERTIAN BASIS DATA

29

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

Page 30: PENGERTIAN BASIS DATA

30

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

Page 31: PENGERTIAN BASIS DATA

31

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.

Page 32: PENGERTIAN BASIS DATA

32

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.

Page 33: PENGERTIAN BASIS DATA

33

MENYIMPAN DATA PADA DBMS

* IDo CITY* EMP_ID

ADDRESS

* IDo NAME

EMPLOYEE ID Name------ -------------34 Yadi Ar-Ruhio37 Dwi Probowo89 Anwar Habibi

ID City EMP_ID------ -------------------------------- ------1 Jl. Bunga Bakung 15 A, Bekasi 343 Kampung Daun, Blok C4-20, Banten 8934 Jl. Aceh No. 14, Bandung 3442 Kompleks Pajak Jl.NPWP 12, Jakut 3889 Jl. Kenangan 1117-RT.3/RW.5 Jkt 37 91 Jl. Atletik V No.3, Purwokerto 55

Keterangan: karena tidak ada relasi, maka kolom EMP_ID yang ada pada tabel ADDRESS bisa dimasukkan data apa saja, termasuk emp_idyang sebetulnya tidak ada pada tabel Employee!

Page 34: PENGERTIAN BASIS DATA

34

MENYIMPAN DATA PADA RDBMS

Keterangan: karena ADANYA relasi, maka kolom EMP_ID yang ada pada tabel ADDRESS hanya bisa menerima emp_id yang ada pada tabel Employee!

* IDo CITY* EMP_ID

ADDRESS

* IDo NAME

EMPLOYEE ID Name------ -------------34 Yadi Ar-Ruhio37 Dwi Probowo89 Anwar Habibi

ID City EMP_ID------ -------------------------------- ------1 Jl. Bunga Bakung 15 A, Bekasi 343 Kampung Daun, Blok C4-20, Banten 8934 Jl. Aceh No. 14, Bandung 3489 Jl. Kenangan 1117-RT.3/RW.5 Jkt 37

Page 35: PENGERTIAN BASIS DATA

35

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

Page 36: PENGERTIAN BASIS DATA

36

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

Page 37: PENGERTIAN BASIS DATA

37

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

Page 38: PENGERTIAN BASIS DATA

38

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

Page 39: PENGERTIAN BASIS DATA

39

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

JENIS-JENIS KEY

Page 40: PENGERTIAN BASIS DATA

40

RELASIAdalah 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 RELASIAda 3 macam yaitu:1. Relasi Satu ke satuData dari entitas pertama berkorespondensi ke satu dan hanya satu data di

entitas kedua dari kedua arah

2. Relasi Satu ke banyakUntuk 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 banyakUntuk setiap data di entitas pertama ada banyak data yang berhubungan di

entitas kedua,begitu juga sebaliknya

Derajat relasi juga disebut Kardinalitas Relasi

Page 41: PENGERTIAN BASIS DATA

41

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 NormalisasiFirst Normal Form (1NF), Second Normal Form (2NF)Third Normal Form (3NF), Boyce Codd Normal Form, Fourth Normal Form (4NF), Fifth Normal Form (5NF)

NORMALISASI

Page 42: PENGERTIAN BASIS DATA

42

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

FIRST DAN SECOND NORMAL FORM

Page 43: PENGERTIAN BASIS DATA

43

CONTOH TABEL TIDAK DI-NORMALISASI

Cust# Customer Phone Invoice# Date Total----- -------------------- -------- -------- -------- ------101 ABC Corporation 325-7289 1319 10/22/03 891.57101 ABC Corporation 325-7289 2649 11/05/03 532.68101 ABC Corporation 325-7289 26883 12/06/03 520.92101 A.B.C. Corp. 325-7289 42926 02/10/04 362.82101 A.B.C. Corp. 325-7289 75284 05/03/04 901.86101 ABC Co. 325-7289 91958 05/24/04 740.60102 Beta Partners Ltd. 902-4416103 Custom Services 381-9408104 Data Automation Inc. 452-9520 13999 11/30/03 842.51104 Data Automation Inc. 452-9520 23413 12/12/03 469.36104 Data Automation Inc. 452-9520 52056 12/14/03 222.11104 Data Automation 452-9520 64976 01/16/04 36.36104 Data Automation 452-9520 95954 03/24/04 566.60105 Epsilon Enterprises 902-7767 29950 01/20/04 529.67105 Epsilon Enterprises 902-7767 74628 04/15/04 602.86105 Epsilon Enterprises 902-7767 79050 06/25/04 677.66106 Financial Consulting 428-0131 3522 01/02/04 128.95106 Financial Consulting 428-0131 20471 03/20/04 699.19106 Financial Consulting 428-0113 49515 04/06/04 798.51106 Financial Contracting 428-0113 55215 05/01/04 158.21106 Financial Contracting 428-0131 79507 05/02/04 432.50106 Financial Contracting 428-0131 79877 05/14/04 428.50

Page 44: PENGERTIAN BASIS DATA

44

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.

Page 45: PENGERTIAN BASIS DATA

45

Cust# Invoice# Date Total ----- -------- -------- ------ 101 1319 10/22/03 891.57 101 2649 11/05/03 532.68Cust# Customer Phone 101 26883 12/06/03 520.92----- -------------------- -------- 101 42926 02/10/04 362.82101 ABC Corporation 325-7289 101 75284 05/03/04 901.86102 Beta Partners Ltd. 902-4416 101 91958 05/24/04 740.60103 Custom Services 381-9408 104 13999 11/30/03 842.51104 Data Automation Inc. 452-9520 104 23413 12/12/03 469.36105 Epsilon Enterprises 902-7767 104 52056 12/14/03 222.11106 Financial Consulting 428-0131 104 64976 01/16/04 36.36 104 95954 03/24/04 566.60 105 74628 04/15/04 602.86 105 79050 06/25/04 677.66 106 3522 01/02/04 128.95 106 20471 03/20/04 699.19 106 49515 04/06/04 798.51 106 55215 05/01/04 158.21 106 79507 05/02/04 432.50 106 79877 05/14/04 8.50

Tabel di sebelah kiri adalah Tabel Customer (Pelanggan), dan tabel di sebelahKanan adalah Tabel Invoice.Pada tahap ini, kita sudah memulai proses yang dinamakan Normalisasi.

Page 46: PENGERTIAN BASIS DATA

46

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 aplikasi-aplikasi spreadsheet seperti

Microsoft Excel.

Page 47: PENGERTIAN BASIS DATA

47

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.

DENORMALISASI DATABASE

Normalisasi

Denormalisasi

Page 48: PENGERTIAN BASIS DATA

48

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.

DATABASE OLTP DAN OLAP

Page 49: PENGERTIAN BASIS DATA

49

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.

Page 50: PENGERTIAN BASIS DATA

50

ERD PADA PENGEMBANGAN SISTEM

Gambar : System Development Life Cycle

Pada tahapan inilah konsepBasis Data harus sudah sangatjelas, dan pada tahap ini ERDdibuat.

Page 51: PENGERTIAN BASIS DATA

51

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

Page 52: PENGERTIAN BASIS DATA

52

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.

Page 53: PENGERTIAN BASIS DATA

53

NOTASI MARTIN (CROW’S FOOT)

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.

Notasi Crow's foot memiliki beberapa keunggulan:

• Sangat jelas jika digunakan untuk mendefinisikan hubungan “ke-banyak” (many) atau seringkali disebut child/anak.

• Dapat menggambarkan hubungan/relasi yang menghasilkan foreign key mandatory (wajib diisi) dan foreign key optional (tidak wajib diisi).

Crow's foot notation

Page 54: PENGERTIAN BASIS DATA

54

CONTOH ERD PADA NOTASI CHEN

Page 55: PENGERTIAN BASIS DATA

55

ERD DENGAN NOTASI CROW’S FOOT

EMPLOYEE* ID

o NAME

ADDRESS* ID

o CITY

having

EMPLOYEE

ADDRESS

IDNAME

ID CITY

* IDo CITY* EMP_ID

ADDRESS

* IDo NAME

EMPLOYEE

Notasi Crow’s Foot menggunakan Oracle Designer

NotasiChen’s

Table hasil

Page 56: PENGERTIAN BASIS DATA

56

RELASI PADA NOTASI CROW’S FOOT

Satu ke banyak / One to manyForeign Key bersifat mandatory

* IDo NAMEo EMP_ID

ADDRESS

* IDo NAME

EMPLOYEE

Satu ke banyak / One to manyForeign Key bersifat optional

EMPLOYEE* ID

o NAME

ADDRESS* ID

o CITY

Page 57: PENGERTIAN BASIS DATA

57

CONTOH ERD DENGAN NOTASI CROW’S FOOT

Page 58: PENGERTIAN BASIS DATA

58

CONTOH ERD RUMAH SAKIT SEDERHANA

Page 59: PENGERTIAN BASIS DATA

59

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.

SECURITY DATABASE

Page 60: PENGERTIAN BASIS DATA

60

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

Page 61: PENGERTIAN BASIS DATA

61

KEUNGGULAN DAN KELEMAHAN DDBMS

Keunggulan DDBMSa. Secara alami mengikuti struktur organisasib. Adanya otonomi lokalc. Sifatnya dapat dipakai bersamad. Peningkatan ketersediaane. Peningkatan kehandalanf. Peningkatan kinerjag. Ekonomish. Pertumbuhan yang modular Kelemahan DDBMS adalah

a. Kompleksitasb. Biayac. Kelemahan dalam keamanand. Sulitnya menjaga keutuhan datae. Kurang standardf. Kurangnya pengalaman

Page 62: PENGERTIAN BASIS DATA

62

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.

Page 63: PENGERTIAN BASIS DATA

63

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

Page 64: PENGERTIAN BASIS DATA

64

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 object-relational database management sistem (ORDBMS).