Anda di halaman 1dari 39

CHAPTER 1

KONSEP DASAR BASIS DATA


Pengampu:
Muhamad Fuat Asnawi S.Kom,. MM

Pengantar Basis Data


Pendahuluan

 Tujuan Basis Data


 View of Data
 Database Languages
 Relational Databases
 Database Design
 Object-Based and Semistructured Databases
 Data Storage and Querying
 Transaction Management
 Database Architecture
 Database Users and Administrators
 Overall Structure
 History of Database Systems

Pengantar Basis Data


Basis Data
Data Base Management System (DBMS) terdiri dari:
 sekumpulan data yang saling berhubungan dan
suatu himpunan program yang melakukan akses terhadap data
tersebut
Tujuan DBMS yang paling utama adalah:
• memelihara informasi
• informasi tersedia pada saat yang dibutuhkan
Data yang disimpan perlu diatur dalam Manajemen Data
Oleh karena itu perlu dipelajari:
• struktur informasi dan
• mekanisme dalam melakukan manipulasi terhadap informasi
Pengantar Basis Data
Komponen Basis Data

 DATA, data tersimpan secara terintegrasi dan dipakai


secara bersama-sama

 HARDWARE, perangkat keras yang digunakan dalam


mengelola sistem database

 SOFTWARE, perangkat lunak perantara antara pemakai


dengan data fisik. perangkat lunak dapat berupa data base
management system dan berbagai program aplikasi

 USER, sebagai pemakai sistem


Pengantar Basis Data
Data
Ciri-ciri data didalam database :
 Data disimpan secara terintegrasi (integrated)
 Database merupakan kumpulan dari berbagai macam file dari
aplikasi-aplikasi yang berbeda, yang disusun dengan cara
menghilangkan bagian-bagian yang rangkap (redundant)
 Data dapat dipakai secara bersama-sama (shared)
 Masing-masing bagian dari database dapat diakses oleh
pemakai dalam waktu yang bersamaan, untuk aplikasi yang
berbeda

Pengantar Basis Data


Hardware

 Terdiri dari semua peralatan perangkat keras


komputer yang digunakan untuk pengelolaan sistem
database berupa:
 Peralatan untuk penyimpanan database, yaitu secondary
storage (harddisk, disket, flash disk, CD)
 Peralatan input (keyboard, scanner, kamera digital) dan
output (printer, layar monitor)
 Peralatan komunikasi data (ethernet card, modem)

Pengantar Basis Data


Software

 Berfungsi sebagai perantara (interface) antara


pemakai dengan data physik pada database.
 Software pada sistem database dapat berupa:
 Database Management System (DBMS), yang
menangani akses terhadap database, sehingga pemakai
tidak perlu memikirkan proses penyimpanan dan
pengelolaan data secara detail
 Program-program aplikasi dan prosedur-prosedur

Pengantar Basis Data


User
 Pemakai database dibagi atas 3 klasifikasi, yaitu:
1. Database Administrator (DBA), yaitu:
 Orang/team yang bertugas mengelola sistem database secara
keseluruhan
2. Programmer, yaitu:
 Orang/team yang bertugas membuat program aplikasi yang
mengakses database, dengan menggunakan bahasa pemrograman,
seperti Clipper, VB, Oracle baik secara batch maupun online untuk
berinteraksi dengan komputer
3. End-user, yaitu:
 Orang yang mengakses database melalui terminal, dengan
menggunakan query-language atau program aplikasi yang dibuatkan
oleh programmer

Pengantar Basis Data


Aplikasi Basis Data

 Database Applications:
 Banking: all transactions
 Airlines: reservations, schedules
 Universities: registration, grades
 Sales: customers, products, purchases
 Online retailers: order tracking, customized recommendations
 Manufacturing: production, inventory, orders, supply chain
 Human resources: employee records, salaries, tax deductions

Pengantar Basis Data


File Management Sistem vs DBMS
File Management System
Program oriented
Kaku
Redundancy dan inconsistency

Data Base Management System


Data oriented
Luwes / fleksibel
Keselarasan data terkontrol

Pengantar Basis Data


Program Oriented vs Data Oriented
Program Oriented
Susunan data di dalam file, distribusi data pada
peralatan storage, dan organisasi filenya dipilih
sedemikian rupa, sehingga program aplikasi dapat
menggunakan secara optimal
Data Oriented
Susunan data, organisasi file pada database dapat
dirubah, begitu pula strategi aksesnya tanpa
mengganggu program aplikasi yang sudah ada
Pengantar Basis Data
Tujuan Sistem Basis Data
 Mencegah data redundancy dan inconsistency

 Mempermudah dalam melakukan akses terhadap data

 Mempertimbangkan data isolation

 Mencegah concurrent access anomaly

 Mempertimbangkan masalah keamanan data

 Mempertimbangkan masalah integritas

Pengantar Basis Data


Keuntungan Pemakaian Sistem Basis
Data
1. Mengurangi redundansi
Data yang sama pada beberapa aplikasi cukup disimpan sekali saja.
2. Menghindarkan inkonsistensi
Karena redundansi berkurang, sehingga umumnya update hanya sekali
saja.
3. Terpeliharanya integritas data
Data tersimpan secara akurat.
4. Data dapat dipakai bersama-sama
Data yang sama dapat diakses oleh beberapa user pada saat bersamaan.
5. Memudahkan penerapan standarisasi
Menyangkut keseragaman penyajian data.
6. Jaminan sekuriti
Data hanya dapat diakses oleh yang berhak.
7. Menyeimbangkan kebutuhan
Dapat ditentukan prioritas suatu operasi, misalnya antara update
(mengubah data) dengan retrieval (menampilkan data) didahulukan
update.
Pengantar Basis Data
Kerugian Pemakaian Sistem Basis Data

 Mahal
 Diperlukan hardware tambahan
 CPU yang lebih besar
 Terminal yang lebih banyak
 Alat untuk komunikasi
 Biaya performance yang lebih besar
 Listrik
 Personil yang lebih tinggi klasifikasinya
 Biaya telekomunikasi yang antar lokasi / kota
 Kompleks
 Prosedur backup & recovery sulit

Pengantar Basis Data


Level Abstraksi

 Physical level (level Fisik): menjelaskan bagaimana sebuah


record (cth: pelanggan) disimpan.
 Logical level (level Logik): menjelaskan penyimpanan data
dalam basis data, dan hubungannya dengan data.
 type customer = record
 customer_id : string;
customer_name : string;
customer_street : string;
customer_city : integer;
 end;
 View level (level View): program application menyembunyikan
tipe datanya. View level juga dapat menyembunyikan informasi
(seperti gaji pegawai) untuk tujuan keamanan.

Pengantar Basis Data


Arsitektur Sistem Basis Data

Pengantar Basis Data


Instances dan Schemas
 Mirip tipe dan variable dalam bahasa pemrograman
 Schema – Struktur logik dari basis data
 Contoh: basis data terdiri dari informasi tentang sekumpulan
konsumen dan account dan hubungan antara keduanya
 Analoginya informasi tipe variabel pada sebuah program
 Physical schema: disain basis data pada level fisik
 Logical schema: disain basis data pada level logik
 Instance – isi aktual basis data pada saat itu
 Analoginya adalah nilai dari sebuah variabel

Pengantar Basis Data


Data Independence

 Kemampuan untuk melakukan modifikasi suatu definisi


skema pada suatu level tanpa memberikan efek pada
skema yang lebih tinggi dikatakan sebagai data
independence (ketidaktergantungan data)
 Dua level dari data independence
 Physical data independence adalah kemampuan untuk melakukan
modifikasi pada level fisik, dengan tujuan untuk meningkatkan
performa
 Logical data independence adalah kemampuan untuk melakukan
modifikasi dari skema konsep tanpa menyebabkan perubahan
pada program aplikasi

Pengantar Basis Data


Perlunya Prinsip Data Independence

1. Database administrator dapat merubah isi, lokasi


dan organisasi database tanpa mengganggu
program aplikasi yang sudah ada.
2. Vendor hardware & software pengelolaan data
bisa memperkenalkan produk-produk baru tanpa
mengganggu program-program aplikasi yang
sudah ada.
3. Untuk memudahkan perkembangan program
aplikasi.
4. Memberikan fasilitas pengontrolan terpusat oleh
DBA demi security dan integritas data, dengan
memperhatikan perubahan-perubahan
kebutuhan user.

Pengantar Basis Data


Data Models
 Sekumpulan tools yang menjelaskan
 Data
 Data relationships
 Data semantics
 Data constraints
 Relational model
 Entity-Relationship data model (terutama untuk disain basis
data)
 Object-based data models (Object-oriented and Object-
relational)
 Semistructured data model (XML)
 Data models lain yang sebelumnya ada:
 Network model
 Hierarchical model

Pengantar Basis Data


Bahasa Basis Data
 DBMS merupakan perantara bagi pemakai dengan basis data
dalam disk.
 Cara berinteraksi / berkomunikasi antara pemakai dengan
basis data tersebut diatur dalam suatu bahasa khusus yang
ditetapkan oleh perusahaan pembuat DBMS.
 Bahasa itu disebut sebagai Bahasa Basis Data yang terdiri
atas sejumlah perintah (statement) yang diformulasikan dan
dapat diberikan user dan dikenali/diprose oleh DBMS untuk
melakukan suatu aksi/pekerjaan tertentu.
 Contoh-contoh bahasa basis data adalah SQL, MySQL,
Oracle.
 Sebuah Bahasa Basis Data biasanya dapat dibagi dalam 2
bentuk yaitu:
 Data Definition Language (DDL)
 Data Manipulation Language (DML)

Pengantar Basis Data


Data Definition Language (DDL)
 Spesifikasi notasi untuk mendefinisikan skema basis data
Contoh:
create table account
(account-number char(10),
balance integer)
 DDL compiler menghasilkan sekumpulan tabel yang
disimpan dalam sebuah kamus data (data dictionary)

Pengantar Basis Data


Data Dictionary (kamus data)

 Kamus data berisi metadata (cth: data tentang data)


 Database schema
 Data storage and definition language
 Menspesifikasikan struktur penyimpanan dan metode akses
yang digunakan
 Integrity constraints
 Domain constraints
 Referential integrity (references constraint in SQL)
 Assertions
 Authorization

Pengantar Basis Data


Data Manipulation Language (DML)

 Adalah suatu bahasa yang membantu pengguna untuk


mengakes atau memanipulasi data yang diorganisasikan
dengan pendekatan model data yang cocok
 Memanipulasi data dapat berupa :
 pengambilan informasi yang disimpan dalam database
(select)
 Penyisipan suatu informasi baru ke dalam database (insert)
 Penghapusan informasi dari database (delete)
 Pemutakhiran data yang disimpan dalam database (update)
 Dua tipe DML adalah procedural dan nonprocedural DML
 Query language adalah synonim dari data manipulation
language

Pengantar Basis Data


Data Manipulation Language (DML)

 Bahasa untuk mengakses dan memanipulasi data yang


diorganisasikan dengan pendekatan data model
 DML juga dikenal sebagai query language
 Ada 2 klas bahasa
 Procedural – user mendefinisikan data apa yang dibutuhkan
dan bagaimana mendapatkan data itu
 Declarative (nonprocedural) – user mendefinisikan data apa
yang dibutuhkan tanpa tahu bagaimana mendapatkan
datanya
 SQL paling banyak digunakan dalam query language

Pengantar Basis Data


Relational Model
 Contoh tabel data dalam relational model

Atribut

Pengantar Basis Data


Contoh Relational Database

Pengantar Basis Data


SQL
 SQL: secara mendalam digunakan pada non-procedural language
Cth:  Tampilkan nama customer dengan customer-id 192-83-7465
select customer.customer_name
from customer
where customer.customer_id = ‘192-83-7465’
 Tampilkan balance dari semua account yang dipegang oleh
customer dengan customer-id 192-83-7465
select account.balance
from depositor, account
where depositor.customer_id = ‘192-83-7465’ and
depositor.account_number = account.account_number
 Program aplikasi umumnya mengakses basis data melalui salah satu:
 Language extension yang mengijinkan SQL ditempelkan
(embedded SQL)
 Application program interface (cth: ODBC/JDBC) yang mengijinkan
SQL queries dikirim ke sebuah basis data
Pengantar Basis Data
Figure 1.4

Pengantar Basis Data


Disain Basis Data
Proses disain struktur umum dari basis data:
 Logical Design – Ditentukan pada database schema.
Disain basis data berisi sekumpulan skema relasi yang
baik
 Keputusan Bisnis – Atribut apa yang seharusnya disimpan
dalam basis data?
 Keputusan Ilmu Komputer – Apa skema relasi yang
seharusnya dimiliki dan bagaimana seharusnya atribut
didistribusikan dengan berbagai skema relasi?
 Physical Design – Ditentukan pada layout fisik dari basis
data

Pengantar Basis Data


Entity-Relationship Model

 Model dari sebuah enterprise sebagai sekumpulan dari entity


dan relationship
 Entity: “sesuatu” atau “obyek” dalam enterprise yang
dibedakan dari obyek lainnya
 Dideskripsikan oleh sekumpulan attribute
 Relationship: an association among several entities
 Diagram yang menyatakan sebuah entity-relationship
diagram:

Pengantar Basis Data


Object-Relational Data Models
 Relational data model lanjutan termasuk object orientation
dan konstruksinya yang cocok dengan tipe data
tambahan.
 Mengijinkan atribut dari tuple memiliki tipe yang kompleks,
termasuk nilai non-atomic seperti relasi nested.
 Mempersiapkan dasar relasi, khususnya dalam bentuk
declarative untuk mengakses data, ketika terdapat model
lain yang lebih bagus lagi.
 Membuktikan upward compatibility dengan relational
language yang ada.

Pengantar Basis Data


XML: Extensible Markup Language
 Didefinisikan oleh konsorsium WWW (W3C)
 Aslinya dianggap sebagai sebuah dokumen markup
language bukan database language
 Berkemampuan untuk menspecifikasi tag-tag baru, dan
menciptakan struktur nested tag menjadi XML
merupakan cara besar untuk melakukan perubahan
data, tidak hanya dokumen
 XML telah menjadi dasar dari semua generasi format
data interchange.
 Variasi yang mendalam dari tool-nya dapat digunakan
untuk parsing, browsing dan querying dokumen/data
XML

Pengantar Basis Data


Transaction Management
 Sebuah transaction adalah sekumpulan operasi yang
ditunjukkan sebagai sebuah fungsi logik tunggal dalam
sebuah aplikasi basis data
 Transaction-management component menjamin
bahwa basis data dalam keadaan konsisten (correct),
memberitahukan kegagalan system (cth. power
failures and operating system crashes) dan kesalahan
transaksi
 Concurrency-control manager mengontrol interaksi
yang berada pada concurrent transaction, supaya
menjamin konsistensi dari basis data.

Pengantar Basis Data


Database Architecture
 Arsitektur sebuah sistem basis data sangat dipengaruhi oleh
bentuk sistem komputer basis data beroperasi:
 Centralized
 Client-server
 Parallel (multi-processor)
 Distributed

Pengantar Basis Data


Figure 1.7

Pengantar Basis Data


Database Users
Users dibedakan dalam caranya berinteraksi dengan sistem
 Application programmers (Programer Aplikasi) – berinteraksi dengan sistem
melalui pemanggilan DML, yang disertakan (embedded) dalam program yang
ditulis dalam bahasa pemrograman induk (C, C++, Java, VB, php)
 Sophisticated users (Casual user / User Mahir) – berinteraksi dengan system
tanpa menulis modul program. Mereka menyertakan query (untuk akses data)
dengan bahasa query yang telah disediakan oleh suatu DBMS
 Specialized users (User Khusus) – menulis aplikasi basis data non konvensional,
tetapi untuk keperluan-keperluan khusus, seperti untuk aplikasi AI, Sistem Pakar,
Pengolahan Citra, yang bisa saja mengakses basis data dengan / tanpa DBMS
yang bersangkutan.
 Naïve users (End User / User Umum) – berinteraksi dengan sistem basis data
melalui pemanggilan satu program permanen (executable program) yang telah
ditulis / disediakan sebelumnya.
 Contoh, orang yang mengakses basis data dari web, teller bank, staf kasir

Pengantar Basis Data


Database Administrator
 Database Administrator mengkoordinasi semua aktifitas basis data
 Database Administrator memiliki pengertian yang baik tentang sumber daya
informasi perusahaan dan kebutuhannya.
 Satu alasan utama untuk memiliki suatu DBMS adalah untuk memiliki suatu
pusat pengendalian terhadap baik data maupun program dalam mengakses
data
 Orang yang melakukan pengawasan terhadap sistem ini dinamakan
Database Administrator
 Fungsi dari Database Administrator adalah:
 Schema definition (mendefinisikan skema)
 Storage structure and access method definition (mendefinisikan struktur
penyimpanan dan metode akses)
 Schema and physical organization modification (melakukan modifikasi organisasi
skema dan fisik)
 Granting user authority to access the database (Memberikan jaminan hak untuk
mengakses data)
 Specifying integrity constraints (Membuat spesifikasi untuk kendala integritas)
 Monitoring performance and responding to changes in requirements (melakukan
monitor kinerja dan bertanggung jawab dalam perubahan kebutuhan)

Pengantar Basis Data


Overall System Structure

Pengantar Basis Data

Anda mungkin juga menyukai