33
Konsep Dasar Basis Data Dr.Budi Setiyono, MT

Sistem Basis Data - Website Personal - Institut …personal.its.ac.id/files/material/3799-budi-SBD-Konsep...5 Sistem: sebuah tatanan yang terdiri atas sejumlah komponen fungsional

  • Upload
    ngoque

  • View
    215

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Sistem Basis Data - Website Personal - Institut …personal.its.ac.id/files/material/3799-budi-SBD-Konsep...5 Sistem: sebuah tatanan yang terdiri atas sejumlah komponen fungsional

Konsep Dasar Basis Data

Dr.Budi Setiyono, MT

Page 2: Sistem Basis Data - Website Personal - Institut …personal.its.ac.id/files/material/3799-budi-SBD-Konsep...5 Sistem: sebuah tatanan yang terdiri atas sejumlah komponen fungsional

Apa itu …

Basis gudang/markas/tempat berkumpul/tempat bersarang

Data• Fakta mengenai “dunia” (sesuatu ataupun kejadian/event)

• Pengetahuan tentang fakta yang direkam dan mempunyai artiimplisit

Basis Data• Himpunan kelompok data (arsip) yang saling berhubungan yang

diorganisasi sedemikian rupa agar dapat dimanfaatkan secara cepatdan mudah.

• Kumpulan data yang saling berhubungan yang disimpan secarabersama sedemikian rupa tanpa pengulangan yang tidak perlu.

• Computerized recording system

Page 3: Sistem Basis Data - Website Personal - Institut …personal.its.ac.id/files/material/3799-budi-SBD-Konsep...5 Sistem: sebuah tatanan yang terdiri atas sejumlah komponen fungsional

Apa itu …

DBMS/Data Base Management System

Sekumpulan program untuk Pengelolaan Basis Data

(Database Management System / DBMS), antara lain untuk

• Mendefinisikan Basis Data : type data, strukture,

constraints

• Membangun DB: Menyimpan data

• Manipulasi DB : query, update, report

• Sharing sebuah DB : mengijinkan multiple user dapat

mengakses data secara bersamaan

Page 4: Sistem Basis Data - Website Personal - Institut …personal.its.ac.id/files/material/3799-budi-SBD-Konsep...5 Sistem: sebuah tatanan yang terdiri atas sejumlah komponen fungsional

Apa itu …

Contoh s/w DBMS : Oracle

SQL Server

MS Access

MySQL

PostGress

DB2, dll

Page 5: Sistem Basis Data - Website Personal - Institut …personal.its.ac.id/files/material/3799-budi-SBD-Konsep...5 Sistem: sebuah tatanan yang terdiri atas sejumlah komponen fungsional

5

Sistem :

sebuah tatanan yang terdiri atas sejumlah komponen fungsional

(dengan tugas/fungsi khusus) yang saling berhubungan dan secara

bersama-sama bertujuan untuk memenuhi suatu proses/pekerjaan

tertentu

Sistem basis data :

perpaduan antara basis data dan DBMS, terdiri dari komponen –

komponen sbb :

•Hardware

•Software

•Basis data

•DBMS

•User

•Aplikasi lain

Apa itu …

Page 6: Sistem Basis Data - Website Personal - Institut …personal.its.ac.id/files/material/3799-budi-SBD-Konsep...5 Sistem: sebuah tatanan yang terdiri atas sejumlah komponen fungsional

6

TUJUAN BASIS DATA

Mengatur data/mengorganisasikan data

agar diperoleh kemudahan, ketepatan,

dan kecepatan dalam pengambilan

kembali

Page 7: Sistem Basis Data - Website Personal - Institut …personal.its.ac.id/files/material/3799-budi-SBD-Konsep...5 Sistem: sebuah tatanan yang terdiri atas sejumlah komponen fungsional

Aplikasi Basis Data

Perbankan : meliputi semua transaksi

Airlines: reservasi, penjadwalan (schedules)

Universitas: registrasi

Penjualan : konsumen, produk, persediaan

Manufacturing: produksi, inventori, order, supply

Human resources: data pegawai, gaji, pajak

hampir semua aspek kehidupan terkaitdengan basis data

Page 8: Sistem Basis Data - Website Personal - Institut …personal.its.ac.id/files/material/3799-budi-SBD-Konsep...5 Sistem: sebuah tatanan yang terdiri atas sejumlah komponen fungsional

Users/Programmers

Software to Process

Queries/Programs

Application Programs/Queries

Software to Access

Stored Data

DATABASE

SYSTEM

DBMS

SOFTWARE

Stored Database

Definition

(Meta-Data)

Stored

Database

Lingkungan Sistem Basis Data

Page 9: Sistem Basis Data - Website Personal - Institut …personal.its.ac.id/files/material/3799-budi-SBD-Konsep...5 Sistem: sebuah tatanan yang terdiri atas sejumlah komponen fungsional

Pola dalam penyimpanan data

Sistem pemrosesan berkas tradisional.

tiap aplikasi memiliki berkas sendiri sendiri

Dependensi data-program

Perubahan data membuat sejumlah program perludimodifikasi

Duplikasi data

Data yang sama muncul pada beberapa berkas

Keterbatasan berbagi data (Isolasi data - banyak format file)

Waktu pengembangan lama

Perlu membuat program untuk mengakses data

Problem integritas (kekonsistensian)

Batasan integritas (misalnya saldo > 0) menjadi bagian dari program

Keamanan data tidak terjamin

Page 10: Sistem Basis Data - Website Personal - Institut …personal.its.ac.id/files/material/3799-budi-SBD-Konsep...5 Sistem: sebuah tatanan yang terdiri atas sejumlah komponen fungsional

Sistem Pemrosesan Berkas Tradisional

Bentuk pemrosesan dasar

yang lahir sebelum

database muncul

Berkecunderungan tidak

berbagi berkas (Setiap

aplikasi memiliki berkas

tersendiri)

Aplikasi

Personalia Personalia

Aplikasi

Pelatihan Pelatihan

Page 11: Sistem Basis Data - Website Personal - Institut …personal.its.ac.id/files/material/3799-budi-SBD-Konsep...5 Sistem: sebuah tatanan yang terdiri atas sejumlah komponen fungsional

Sistem Pemrosesan Berkas Tradisional

Dependensi data-program

Perubahan data membuat sejumlah program perlu dimodifikasi

Duplikasi data

Data yang sama muncul pada beberapa berkas

Keterbatasan berbagi data (Isolasi data - banyak format file)

Waktu pengembangan lama

Perlu membuat program untuk mengakses data

Problem integritas (kekonsistensian)

Kekakangan integritas (misalnya saldo >) menjadi bagian dariprogram

Keamanan data tidak terjamin

Page 12: Sistem Basis Data - Website Personal - Institut …personal.its.ac.id/files/material/3799-budi-SBD-Konsep...5 Sistem: sebuah tatanan yang terdiri atas sejumlah komponen fungsional

Pendekatan Sistem Database

Independensi program-data

Meminimalkan redundansi data

Meningkatkan konsitensi data

Meningkatkan kemampuan berbagai data

Meningkatkan produktivitas pengembangan aplikasi

Meningkatkan pencapaian standarisasi

Meningkatkan kualitas data

Meningkatkan tanggapan dan kemudahan akses terhadapdata

Mengurangi pemeliharaan program

Page 13: Sistem Basis Data - Website Personal - Institut …personal.its.ac.id/files/material/3799-budi-SBD-Konsep...5 Sistem: sebuah tatanan yang terdiri atas sejumlah komponen fungsional

1-5 1-13

Page 14: Sistem Basis Data - Website Personal - Institut …personal.its.ac.id/files/material/3799-budi-SBD-Konsep...5 Sistem: sebuah tatanan yang terdiri atas sejumlah komponen fungsional

1-5a 1-14

Define UNIVERSITY database

Structure of the record

STUDENT ( Name , Number, Class, Major)

COURSE ( Name , Number, Credit, Dept.)

Data type of data element

Name: a string of characters

Number: integer

Grade: {A,B,C,D,F,I}

…..

Constraints

The sections that students take must be taught by some instructors.

Page 15: Sistem Basis Data - Website Personal - Institut …personal.its.ac.id/files/material/3799-budi-SBD-Konsep...5 Sistem: sebuah tatanan yang terdiri atas sejumlah komponen fungsional

1-5b 1-15

Construct UNIVERSITY database

Store data on storage medium

˙store data for each student, course, section, grade repot, prerequisite

˙records in various files may be related to one another

Manipulate UNIVERSITY database

Query:

Retrieve the transcript ( a list of all courses and grades) of Smith.

Update:

Create a new section for the database course for this semester.

Page 16: Sistem Basis Data - Website Personal - Institut …personal.its.ac.id/files/material/3799-budi-SBD-Konsep...5 Sistem: sebuah tatanan yang terdiri atas sejumlah komponen fungsional

Independensi Program-Data

Struktur data pada database terpisah dengan program

Perubahan struktur data tidak membuat program harus

dimodifikasi

Struktur Data

Kode

Program

Paradigma lama

Kode

Program

Pendekatan database

Database

Page 17: Sistem Basis Data - Website Personal - Institut …personal.its.ac.id/files/material/3799-budi-SBD-Konsep...5 Sistem: sebuah tatanan yang terdiri atas sejumlah komponen fungsional

Redundansi Data

Redundansi data dapat dikurangi dengan cara data yang

sama untuk aplikasi yang berbeda dijadikan satu

Data Pegawai

Bagian penggajian

Bagian pelatihan

Data Pegawai

Data Pegawai

Contoh redundansi dataMengatasi redundansi data

Page 18: Sistem Basis Data - Website Personal - Institut …personal.its.ac.id/files/material/3799-budi-SBD-Konsep...5 Sistem: sebuah tatanan yang terdiri atas sejumlah komponen fungsional

18

Syarat basis data yang baik :

-Tidak adanya redundansi dan inkonsistensi data

Redundansi Data

Page 19: Sistem Basis Data - Website Personal - Institut …personal.its.ac.id/files/material/3799-budi-SBD-Konsep...5 Sistem: sebuah tatanan yang terdiri atas sejumlah komponen fungsional

Konsistensi Data

Pengurangan redundansi data berimplikasi pada

peningkatan konsistensi data (mengurangi

kemungkinan untuk tidak konsisten)

Contoh: Dua biro perjalan tidak terhubung

ke database milik maskapai penerbangan. Apa

yang terjadi kalau salah satu biro sudah

menjual tempat duduk nomor 4 padahal biro

yang lain tidak tahu?

Page 20: Sistem Basis Data - Website Personal - Institut …personal.its.ac.id/files/material/3799-budi-SBD-Konsep...5 Sistem: sebuah tatanan yang terdiri atas sejumlah komponen fungsional

Berbagi Data

Data dapat diakases oleh banyak

pemakai dengan tetap

memperhatikan otorisasi

Istilah multiuser menyatakan bahwa

sebuah data bisa diakses oleh banyak

orang dalam waktu yang bersamaan

Page 21: Sistem Basis Data - Website Personal - Institut …personal.its.ac.id/files/material/3799-budi-SBD-Konsep...5 Sistem: sebuah tatanan yang terdiri atas sejumlah komponen fungsional

Tanggapan dan Akses

Sistem database memberikan tanggapan dan akses yang

cepat sekalipun pemakai adalah orang yang tidak tahu

tentang pemrograman

Dengan menggunakan perintah dalam level SQL

(Structured Query Language) yang mudah untuk dipahami

oleh orang awam, akses terhadap database mudah sekali

dilakukan

Page 22: Sistem Basis Data - Website Personal - Institut …personal.its.ac.id/files/material/3799-budi-SBD-Konsep...5 Sistem: sebuah tatanan yang terdiri atas sejumlah komponen fungsional

Produktivitas Pengembangan Aplikasi

Kemudahan dalam mengakses database

membuat waktu untuk pengembangan

aplikasi dapat dipersingkat

Sistem database menyediakan banyak tool

yang berguna untuk pembuatan aplikasi

Report generator

Form generator

Page 23: Sistem Basis Data - Website Personal - Institut …personal.its.ac.id/files/material/3799-budi-SBD-Konsep...5 Sistem: sebuah tatanan yang terdiri atas sejumlah komponen fungsional

Standarisasi

Standarisasi seperti nama data, panjang data, kemungkinan

nilainya, dan bahkan prosedur untuk mengaksesnya dapat

diatur oleh yang berwewenang (DBA)

Contoh:

Nama pegawai selalui bertipe Aplhanumeric dengan panjang

maksimal 35 karakter.

Semua pemrogram menggunakan standar tersebut

Page 24: Sistem Basis Data - Website Personal - Institut …personal.its.ac.id/files/material/3799-budi-SBD-Konsep...5 Sistem: sebuah tatanan yang terdiri atas sejumlah komponen fungsional

Kualitas Data

Kualitas data sangat berpengaruh terhadap pemerolehaninformasi yang berkualitas

Adanya kekangan (constraint) dalam database membuatpelanggaran terhadap isi data oleh pemakai tidak akanditoleransi oleh sistem dengan sendirinya

Kekangan adalah suatu aturan yang diterapkan pada data dan tidak bisa dilanggar oleh pemakai. Contoh: Agama hanya bisa diisi dengan I, K, H, B, P. Sistem database akanmenolak kalau huruf X dicoba untuk dimasukkan

Page 25: Sistem Basis Data - Website Personal - Institut …personal.its.ac.id/files/material/3799-budi-SBD-Konsep...5 Sistem: sebuah tatanan yang terdiri atas sejumlah komponen fungsional

Pemeliharaan Program

Perubahan terhadap struktur data dengan berbagai alasan

seringkali dilakukan selama tahapan pemeliharaan;

misalnya data baru ditambahkan atau panjang suatu data

ditambah

Perubahan seperti ini tidak selalu membuat program-

program yang telah jadi harus ikut diubah

Page 26: Sistem Basis Data - Website Personal - Institut …personal.its.ac.id/files/material/3799-budi-SBD-Konsep...5 Sistem: sebuah tatanan yang terdiri atas sejumlah komponen fungsional

Abstraksi Data

Physical level mendiskripsikan bagaimana record-record disimpan.

Logical level: mendiskripsikan data yang disimpan dalam data base dan keterkaitan diantaran data-data tersebut.

Misal : type customer = recordname : string;street : string;city : integer;

end;

View level: program aplikasi yang menyembunyikan detail dari tipe data ( mungkin juga informasi) untuk tujuan kemanan.

Page 27: Sistem Basis Data - Website Personal - Institut …personal.its.ac.id/files/material/3799-budi-SBD-Konsep...5 Sistem: sebuah tatanan yang terdiri atas sejumlah komponen fungsional

View Data

Page 28: Sistem Basis Data - Website Personal - Institut …personal.its.ac.id/files/material/3799-budi-SBD-Konsep...5 Sistem: sebuah tatanan yang terdiri atas sejumlah komponen fungsional

Instance dan schema

Menyerupai tipe dan variable dalam bahasa pemrograman

Schema – struktur logic dari database

Misal database terdiri dari informasi mengenai himpunan customers dan accounts serta keterkaitannya

Physical schema: desain database pada level physical

Logical schema: desain database pada level logical

Instance – isi aktual dari data base pada suatu waktu

dapat dianalogikan nilai dari suatu variable

Page 29: Sistem Basis Data - Website Personal - Institut …personal.its.ac.id/files/material/3799-budi-SBD-Konsep...5 Sistem: sebuah tatanan yang terdiri atas sejumlah komponen fungsional

Physical Data Independent

Kemampuna untuk memodifikasi skema physical tanpa

merubah logical schema

Aplikasi tergantung pada skema logic

Interface antara berbagai level dan komponen harus

didefinisikan dengan baik sehingga perubahan pada

sebagaian tidak akan mempengaruhi bagian yang lain.

Page 30: Sistem Basis Data - Website Personal - Institut …personal.its.ac.id/files/material/3799-budi-SBD-Konsep...5 Sistem: sebuah tatanan yang terdiri atas sejumlah komponen fungsional

User Data Base

User dibedakan berdasarkan cara berinteraksi dengan sistem

Application programmers – pemakai berinteraksi dengan system melalui Data Manipulation Language (DML)

Sophisticated users – Pemakai berinteraksi dengan request database menggunakan SQL

Specialized users – Pemakai yang menulis aplikasi basis data non konvensional, tetapi untuk keperluan-keperluan khusus, missal untuk aplikasi AI, Pengolahan Citra, yang mengkin mengakses basis data dengan atau tanpa DBMS.

Naive users – Pemakai yang berinteraksi dengan basis data melalui pemanggilamn suatu program aplikasi

Page 31: Sistem Basis Data - Website Personal - Institut …personal.its.ac.id/files/material/3799-budi-SBD-Konsep...5 Sistem: sebuah tatanan yang terdiri atas sejumlah komponen fungsional

Database administrator

Orang/user yang mengkoordinasi segala aktivitas dari DBMS mempunyai tugas-tugas antara lain : Mendefinisikan Skema

Mendefinisikan satruktur storage dan metode pengaksesannya

Memodifikasi skema dan organisasi physical (jika diperlukan)

Memberikan grant (wewenang) pada user dalam mengakses databse

Memberikan spesifikasi integritas constraints

Memonitoring performance dan merespon untuk melakukan perubahan jika diperlukan

Page 32: Sistem Basis Data - Website Personal - Institut …personal.its.ac.id/files/material/3799-budi-SBD-Konsep...5 Sistem: sebuah tatanan yang terdiri atas sejumlah komponen fungsional

Struktur System secara menyeluruh

Page 33: Sistem Basis Data - Website Personal - Institut …personal.its.ac.id/files/material/3799-budi-SBD-Konsep...5 Sistem: sebuah tatanan yang terdiri atas sejumlah komponen fungsional

1-13 1-33

When not to use a DBMS

Main costs of using a DBMS:

- High initial investment in hardware, software,training

and possible need for additional hardware.

- Overhead for providing generality, security, recovery, integrity, and

concurrency control.

- Generality that a DBMS provides for defining and processing data.

When a DBMS may be unnecessary:

- If the database and applications are simple, well defined, and not

expected to change.

- If there are stringent real-time requirements that may not be met

because of DBMS overhead.

- If access to data by multiple users is not required.