1
Pengantar Basis Data
Kemas Rahmat Saleh Wiharja
Fakultas Teknik Informatika ITTelkom
INFORMATICS DEPARTMENT – IT TELKOM
CS2343 – RELATIONAL DATABASE DESIGN
Agenda
• Pengertian Dasar
• Sejarah DBMS
• Komponen DBMS
• Tujuan DBMS
• Model Data
• Desain Basis Data
INFORMATICS DEPARTMENT – IT TELKOM
CS2343 – RELATIONAL DATABASE DESIGN
Data vs Informasi
Informasi
Data
INFORMATICS DEPARTMENT – IT TELKOM
3 CS2343 – RELATIONAL DATABASE DESIGN
Data vs Informasi
Data Informasi
INFORMATICS DEPARTMENT – IT TELKOM
CS2343 – RELATIONAL DATABASE DESIGN
Data vs Informasi
Data
Informasi
INFORMATICS DEPARTMENT – IT TELKOM
5 CS2343 – RELATIONAL DATABASE DESIGN
INFORMATICS DEPARTMENT – IT TELKOM
6 CS2343 – RELATIONAL DATABASE DESIGN
Pengertian Basis Data
• Basis data adalah sekumpulan data yang saling
berhubungan.
• Karakteristik utama basis data adalah :
– Merepresentasikan aspek dari dunia nyata,
– Terstruktur dengan baik,
– Dapat merepresentasikan kondisi saat ini (current state)
– Ada penggunanya dan ada aplikasi,
– Disimpan dalam memori komputer secara permanen, dan
– Dapat diakses dan dimanipulasi menggunakan DBMS
INFORMATICS DEPARTMENT – IT TELKOM
CS2343 – RELATIONAL DATABASE DESIGN
Pengertian basis data
Dunia
nyata
Fakta tentang dunia nyata dan
behaviour-nya
Direpresentasikan dalam
contents dan operasi dari basis data
facts about the world in a database more facts some more rather long facts about the world in the databse
facts about the world in a database more facts some more rather long facts about the world in the databse
facts about the world in a database more facts some more rather long facts about the world in the databse
facts about the world in a database more facts some more rather long facts about the world in the databse
facts about the world in a database more facts some more rather long facts about the world in the databse
facts about the world in a database more facts some more rather long facts about the world in the databse
facts about the world in a database more facts
Basis data facts about the world in a database
facts about the world in a database
facts about the world in a database
more facts
more facts
more facts
facts about the world in a database
facts about the world in a database
Pengguna
facts about the world in a database facts about the world in a database
facts about the world in a database facts about the world in a database
facts about the world in a database facts about the world in a database
facts about the world in a database
facts about the world in a database
INFORMATICS DEPARTMENT – IT TELKOM
CS2343 – RELATIONAL DATABASE DESIGN
Contoh Basis Data
Mahasiswa
NIM Nama Alamat Major
Nilai
NIM ID_MK Nilai
007007 C302 A+
007007 C301 A
MK 007007 M214 A+
N_MK ID_MK Jam Dept 131313 C301 B-
DB Sys C302 2+1 Comp 555555 C301 C
SofEng C301 2+0 Comp 131313 C302 D
DisMat M214 4+1 Math 555555 C302 E
INFORMATICS DEPARTMENT – IT TELKOM
CS2343 – RELATIONAL DATABASE DESIGN
DBMS
• Basis Data :
Sekumpulan data yang sangat besar yang
saling berhubungan.
• Memodelkan real-world enterprise, terdiri dari :
– Entiti (contoh mahasiswa, matakuliah, dosen)
– Relationships (contoh dosen mengajar mahasiswa)
• Database Management System (DBMS) adalah
sebuah sistem perangkat lunak untuk menyimpan,
mengatur dan mengakses ke basis data.
INFORMATICS DEPARTMENT – IT TELKOM
CS2343 – RELATIONAL DATABASE DESIGN
Database Management Systems
“A collection of interrelated data and a set of
programs to access those data”
(Silberschatz, Korth and Sudarshan. Database System Concepts)
“A software package designed to store and
manage databases”
(Ramakrishnan and Gehrke. Database Management Systems)
INFORMATICS DEPARTMENT – IT TELKOM
CS2343 – RELATIONAL DATABASE DESIGN
DBMS
• Adalah sekumpulan program yang mampu:
– Mendefinisikan struktur,
– Membangun sekumpulan data,
– Memanipulasi data (query, update),
– Menjamin konsistensi,
– Menjaga dari misuse,
– Memulihkan dari kegagalan dan
– Menjamin konkurensi dari sebuah basis data.
INFORMATICS DEPARTMENT – IT TELKOM
CS2343 – RELATIONAL DATABASE DESIGN
Sejarah DBMS
• 1960s Navigational DBMS
– Karakteristik basis data : fakta dari suatu objek yang
terhubung ke objek lain
– Teknik Navigasi nya menggunakan "pointers" dan
"paths" untuk menavigasi record data (disebut dengan
"nodes").
– Tempat penyimpanannya menggunakan magnetic tapes
• Tapes hanya untuk akses sekuential
– Inputnya menggunakan punched cards
INFORMATICS DEPARTMENT – IT TELKOM
13 CS2343 – RELATIONAL DATABASE DESIGN
Sejarah DBMS
• 1970s Relational DBMS
– Model relasional untuk DBMS adalah
model basis data berbasis first-order
predicate logic
– Tujuannya adalah sebagai metode dalam
menspesifikasikan data dan queri
– Hard disks untuk mengakses data
– Menggunakan model data Network dan
hierarchical
– Transaction processing performansi
tinggi (untuk era tersebut)
INFORMATICS DEPARTMENT – IT TELKOM
CS2343 – RELATIONAL DATABASE DESIGN
Sejarah DBMS
• End 1970s SQL DBMS
– IBM mulai prototype berbasis Codd's concepts sebagai System R
di awal 1970
– Menggunakan SQL untuk mengakses data
– System R SQL/DS (IBM) DB2 (IBM 1978)
– INGRES Sybase , Informix, PostgreSQL
– Sybase SQL Server
– System R Oracle (1978)
– Penelitian prototype relasional dalam dunia commercial
• SQL menjadi standard industri
– Parallel dan distributed database systems
INFORMATICS DEPARTMENT – IT TELKOM
CS2343 – RELATIONAL DATABASE DESIGN
Sejarah DBMS
• Now :
– Object-oriented database systems
– Large decision support dan data-mining applications
– Large multi-terabyte data warehouses
– Emergence of Web commerce
– XML and XQuery standards
– Automated database administration
INFORMATICS DEPARTMENT – IT TELKOM
CS2343 – RELATIONAL DATABASE DESIGN
Gambaran sistem basis data sederhana
DBA Pengguna/
Programmer
Sistem Program Aplikasi/
Deskripsi
Basis Data Basis Data Query Interaktif
DBMS
Compiler Akses
Query Processor
DDL Data
Catalog Basis Data
INFORMATICS DEPARTMENT – IT TELKOM
CS2343 – RELATIONAL DATABASE DESIGN
18
Komponen Sistem Basis Data
• Perangkat Keras / Hardware
• Sistem Operasi
• Database (Data File)
• Database Management System / DBMS
• User
• Aplikasi lain
INFORMATICS DEPARTMENT – IT TELKOM
CS2343 – RELATIONAL DATABASE DESIGN
19
Mengapa Basis Data ??
• Redudansi Data dan ketidak konsistenan data
• Format file yang beragam, duplikasi informasi pada
file yang berbeda
• Kesulitan dalam mengakses data
• Spesifikasi baru program baru
• Isolasi Data — beragam file dan format
• Masalah Integritas
• Constraint Integritas menjadi bagian dari kode
program
• Sulit untuk menambahkan constraint baru atau
merubah yang sudah ada
INFORMATICS DEPARTMENT – IT TELKOM
CS2343 – RELATIONAL DATABASE DESIGN
20
Mengapa Basis Data ??
• Atomicity of updates
• Failures dapat menyebabkan basisdata tidak konsisten
• Contoh : proses transfer di bank dari 1 rekening ke
rekening lain, harus terselesaikan atau tidak sama sekali
• Akses konkuren dari beberapa user
• Akses konkuren performansi
• Akses konkuren yang tidak terkontrol tidak konsisten
– Contoh : 2 orang melihat saldo dan merubah data
saldo dalam waktu bersamaan
• Masalah keamanan
• Solusi Sistem Basis Data
INFORMATICS DEPARTMENT – IT TELKOM
CS2343 – RELATIONAL DATABASE DESIGN
Keuntungan Penggunaan DBMS
• Data independence
DBMS memungkinkan pemisahan pengelolaan data dari
program aplikasi
• Efficient data access
DBMS menyediakan variasi teknik yang handal dalam
penyimpanan dan pengambilan data
• Data integrity and security
DBMS memungkinkan penjagaan integrity contraint dan
access control
INFORMATICS DEPARTMENT – IT TELKOM
CS2343 – RELATIONAL DATABASE DESIGN
Keuntungan Penggunaan DBMS (lan.)
• Data administration
• Concurrent access and crash recovery
DBMS dilengkapi dengan penjadwalan operasi konkuren dan
melindungi user dari efek kegagalan sistem
• Reduced application development time
DBMS mendukung fungsi-fungsi penting yang umum pada
aplikasi dalam penyimpanan data
INFORMATICS DEPARTMENT – IT TELKOM
CS2343 – RELATIONAL DATABASE DESIGN
23
Tujuan Basis Data
• Speed
– Cepat dalam menyimpan, memanipulasi dan mengambil data
• Space
– Efisiensi tempat penyimpanan
• Accuracy
– Rule (contoh : tipe data)
• Availability
– Mengikuti perkembangan data dan mengatur distribusi data
(contoh data nasabah Bank)
INFORMATICS DEPARTMENT – IT TELKOM
CS2343 – RELATIONAL DATABASE DESIGN
24
Tujuan Basis Data
• Completeness
– Antisipasi perubahan struktur data
• Security
– Access Right determination
• Sharability
– Dukungan Multi User untuk kekonsistenan data
dan penanggulangan deadlock
INFORMATICS DEPARTMENT – IT TELKOM
CS2343 – RELATIONAL DATABASE DESIGN
Levels of Abstraction
• Physical level : menunjukkan bagaimana sebuah record
data disimpan
• Logical level : menunjukkan data yang tersimpan dalam
basis data, dan relasi antar data.
type customer = record
name : string;
street : string;
city : integer;
end;
• View level : program aplikasi menyembunyikan detil tipe
data. View juga dapat menyembunyikan informasi tertentu
(mis: salary) untuk kepentingan keamanan
INFORMATICS DEPARTMENT – IT TELKOM
CS2343 – RELATIONAL DATABASE DESIGN
View of Data
Arsitektur sistem basis data
INFORMATICS DEPARTMENT – IT TELKOM
CS2343 – RELATIONAL DATABASE DESIGN
Contoh : Basis Data Universitas
• Skema Konseptual :
– Mhs (nim : string, nama : string, ip : real)
– Kuliah (MK : string, namaMK : string, sks : integer)
• Skema Physical :
– Relasi disimpan dalam file tidak terurut.
– Index pada kolom pertama Mhs.
• Skema Eksternal (View):
INFORMATICS DEPARTMENT – IT TELKOM
CS2343 – RELATIONAL DATABASE DESIGN
Data Models
• Kumpulan tools konseptual dalam menggambarkan
data, data relationships, data semantics, data
constraints
• Konsep data model :
– ER Model
– Relational Model
• Model lain :
– Network model
– Hierarchical model
– Object-oriented model
INFORMATICS DEPARTMENT – IT TELKOM
CS2343 – RELATIONAL DATABASE DESIGN
Entity-Relationship Model
• Entity (entitas): “sesuatu” atau “objek” di dunia nyata
yang dapat dibedakan dari objek lain
– Entitas digambarkan dalam basis data sebagai sekumpulan
atribut (attribute)
Contoh:
customers (cust_name, address, dll)
accounts(account_number, balance, dll)
• Relationship (relasi): hubungan antar entitas
INFORMATICS DEPARTMENT – IT TELKOM
CS2343 – RELATIONAL DATABASE DESIGN
Entity-Relationship Model (lan.)
• Skema basis data dapat dimodelkan dengan
diagram ER
• Diagram ER dibangun dari komponen berikut:
– Entitas -> segi empat
– Atribut -> elips
– Relasi -> belah ketupat
INFORMATICS DEPARTMENT – IT TELKOM
CS2343 – RELATIONAL DATABASE DESIGN
Contoh diagram ER
INFORMATICS DEPARTMENT – IT TELKOM
CS2343 – RELATIONAL DATABASE DESIGN
Relational Model
• Menggunakan sekumpulan tabel yang
menggambarkan data dan relasi antar data
• Setiap tabel memiliki banyak kolom, dan
setiap kolom memiliki nama yang unik
INFORMATICS DEPARTMENT – IT TELKOM
CS2343 – RELATIONAL DATABASE DESIGN
Contoh relational model
INFORMATICS DEPARTMENT – IT TELKOM
CS2343 – RELATIONAL DATABASE DESIGN
Database Language
• Sistem basis data menyediakan data
definition language (DDL) untuk
menspesifikasi skema basis data, dan data
manipulation language (DML) untuk
mengekspresikan query basis data
INFORMATICS DEPARTMENT – IT TELKOM
CS2343 – RELATIONAL DATABASE DESIGN
DDL
Contoh:
create table account (
account-numberchar(10),
balance integer)
• Kompiler DDL men-generate table-table yang tersimpan
dalam basis data pada data dictionary
• Data dictionary berisi metadata (data tentang data)
– Database schema
– Data storage and definition language
• Bahasa yang digunakan dalam menspesifikasi struktur penyimpanan dan
metode akses pada sistem basis data
INFORMATICS DEPARTMENT – IT TELKOM
CS2343 – RELATIONAL DATABASE DESIGN
DML
• Bahasa yang digunakan untuk pengaksesan dan manipulasi
data
– Disebut juga query language
contoh:
select [Link]-name from customer
where [Link]-id = ‘192-83-7465’
• Terdapat dua kelas:
– Procedural – user menentukan data apa yang dibutuhkan dan
bagaimana mendapatkan data tersebut
– Nonprocedural – user menentukan data apa yang dibutuhkan namun
tanpa menyebutkan bagaimana cara mendapatkan data tersebut
• SQL adalah query language yang paling banyak digunakan
INFORMATICS DEPARTMENT – IT TELKOM
CS2343 – RELATIONAL DATABASE DESIGN
SQL
• SQL: bahasa non-procedural
– Contoh : Cari nama customer dengan customer-id 192-83-7465
select customer.customer_name
from customer
where customer.customer_id = ‘192-83-
7465’
– Contoh : cari saldo dari customer-id 192-83-7465
select [Link]
from depositor, account
where depositor.customer_id = ‘192-83-
7465’ and depositor.account_number =
account.account_number
INFORMATICS DEPARTMENT – IT TELKOM
CS2343 – RELATIONAL DATABASE DESIGN
Arsitektur basis Data
• Centralized
• Client-server
• Parallel (multi-processor)
• Distributed
INFORMATICS DEPARTMENT – IT TELKOM
CS2343 – RELATIONAL DATABASE DESIGN
User Basis Data
Users dibedakan berdasar cara berinteraksi
dengan sistem
• Programmer – berinteraksi dengan sistem via DML
• Sophisticated users – berinteraksi dalam bahasa query
• Specialized User – menulis aplikasi basis data khusus
yang tidak sesuai dengan framework pemrosesan data
tradisional
• Naïve users
– Examples, people accessing database over the web, bank tellers, clerical
staff
INFORMATICS DEPARTMENT – IT TELKOM
CS2343 – RELATIONAL DATABASE DESIGN
Administrator Basis Data
• Mengkoordinasi semua aktifitas sistem basis data.
• Tugas administrator basis data :
– Definisi skema basis data
– Struktur Storage dan definisi metode akses
– Modifikasi skema dan fisik basis data
– Hak akses user dalam mengakses basis data
– Menspesifikasikan constraint integritas
– Monitoring performansi dan menangani jika ada perubahan
requirement
INFORMATICS DEPARTMENT – IT TELKOM
CS2343 – RELATIONAL DATABASE DESIGN
Struktur Sistem
INFORMATICS DEPARTMENT – IT TELKOM
CS2343 – RELATIONAL DATABASE DESIGN