BAB I

advertisement
Pre Test
1. Apa yang dimaksud dengan istilah “Data” dan “Informasi” ?
Serta berikan contohnya
2. Apa yang anda ketahui tentang database ?
3. Berikan Hierarchy Database ? Urutkan dari elemen terbesar sampai
terkecil
1
BAB I
PENDAHULUAN
A. BASIS DATA & PEMAKAIANYA
1. DEFINISI DASAR
o Basis data : sekumpulan data yang satu sama lain saling berhubungan
Data : Fakta yang dapat disimpan dan mempunyai arti yang implisit
o Sifat-sifat implisit dari basis data :

Menyajikan sebagian dari dunia nyata.

Sekumpulan data yang koheren secara logika, dengan sejumlah arti yang
inheren

Basis data perlu dirancang, dibuat dan dipopulasikan dengan data untuk suatu
tujuan tertentu
o Basis data dapat dibuat dan dipelihara secara manual atau oleh mesin / computer.
Sekumpulan program yang memungkinkan pengguna basis data untuk membuat dan
memelihara suatu basis data disebut : Database Management System (DBMS).
DBMS : Sistem software yang multi guna, yang menyediakan fasilitas untuk
mendifinisikan, membangun dan memanipulasi basis data untuk aplikasiaplikasi yang beranea ragam :
MENDEFINISIKAN :
melibatkan spesifikasi : tipe data, struktur, kendala (constraint) dari data yang
akan disimpan.
MEMBANGUN :
berkaitan dengan proses penyimpanan data itu sendiri pada suatu media
penyimpan yang dikontrol oleh DBMS
MEMANIPULASI :
termasuk di dalamnya fungsi-fungsi sebagai “query” terhadap basis data,
misalnya retrieve, update, generate report
2
o Software yang digunakan untuk memanipulasi data + data itu sendiri disebut :
“SISTEM BASIS DATA”
LINGKUNGAN SISTEM BASIS DATA (SIMPLIFIED)
3
2. KARAKTERISTIK BASIS DATA
(DIBANDING DENGAN PEMROSESAN FILE TRADISIONAL)
a. SIFAT ‘SELF DESCRIBING’ DARI SISTEM BASIS DATA
BASIS DATA :
-
Sifat yang fundamental bahwa basis data tidak hanya berisi data saja , tapi
lengkap dengan definisi dari data itu sendiri
-
-
Definisi data disimpan dalam katalog system(meta data) yang berisi :

struktur setiap file

tipe dan format penyimpanan dari setiap item data

constraint dari data
DBMS s/w dapat mengakses basis data tertentu dengan cara mengekstraksi
data dari katalog dan menggunakannya
PEMROSESAN FILE
-
definisi data merupakan bagian dari aplikasi program
-
program hanya dapat digunakan secara spesifik untuk suatu basis data tertentu
(yang strukturnya telah dideklerasikan dalam program)
-
Software pada pemrosesan file hanya dapat mengakses basis data secara
spesifik.
b. “ISOLASI” ANTARA PROGRAM DAN DATA DENGAN ABSTRAKSI DATA.
BASIS DATA :
-
“DBMS access program” ditulis secara terpisah dari file-file yang bersifat
spesifik.
-
Struktur data disimpan dalam katalog DBMS yang terpisah dari program
(Program data independence)
PEMROSESAN FILE :
-
Struktur data dijadikan satu dengan program (embedded), sehingga adanya
perubahan data menyebabkan perubahan semua program yang mengakses data
tersebut.
4
c. MULTI - VIEW DARI DATA
-
memungkinkan user yang berbeda untuk mendapatkan perspektif (view) basis data
yang berbeda
-
satu view dapat berupa sub set dari basis data atau berisi basis data semu (virtual)
yang diturunkan dari basis data yang ada(tetapi tidak disimpan secara eksplisit)
d. SHARING DATA DAN PEMROSESAN TRANSAKSI MULTI USER
-
memungkinkan sejumlah user mengaksesdata secara bersamaan. Untuk ini DBMS
harus menyediakan “Concurrency Control Software” sehingga data yang diakses
valid.
3. ORANG-ORANG YANG BERPERAN LANGSUNG
a. Database Administrator (DBA)
- Orang yang bertanggung jawab terhadap administrasi penggunaan sumber daya
basis data (basis data dan DBMS)
Bertugas :

mengatur otoritasasi akses terhadap basis data

memonitor penggunaan basis data

melayani permintaan s/w dan h/w
b. Database Designer
- orang yang bertanggung jawab dalam perancangan basis data (dalam memenuhi
permintaan user) :

mengidentifikasi data yang akan disimpan dalam basis data

memilih struktur yang sesuai dalam menyajikan dalam basis data.
c. End User
- orang yang pekerjaannya memerlukan akses terhadap basis data untuk keperluan :

query

update

generate report
5
- End users dibagi dalam 4 kategori :
1. Casual end users :

mengakses basis data secara kadan-kadang, tetapi mungkin memerlukan
informasi yang berbeda untuk setiap kalinya.

menggunakan bahasa query yang rumit dalam memspesifikasikan query
2. Naïve/Parametric end users :

Biasanya secara berkala melakukan query dan update basis data dengan
menggunakan jenis query dan update yang standar (transaksi yang telah
diprogram dan dites)
3. Sophisticated end users :

meliputi engineers, scientists & business analysts – yang telah mengenal
dengan baik dan menyeluruh mengenai fasilitas-fasilitas DBMS untuk
memenuhi kebutuhan-kebuuhan yang kompleks.
4. Stand – alone users :

Mereka yang memelihara basis data personal dengan menggunakan paketpaket program yang telah dibuat dan menyediakan menu-menu yang
mudah untuk digunakan. Misal : user dari suatu “tax package”.
d. System Analists & Application Programmers
- System analysts bertugas mendifinisikan kebutuhan-kebutuhan end user
(khususnya naïve end user), dan mengembangkan spesifikasi untuk transaksitransaksi yang memenuhi kebutuhannya.
- Application Programmers berugas mengimplemnentasikan spesifikasi menjadi
program (yang telah di test secara intensif)
4. ORANG-ORANG DI BELAKANG LAYAR
a. DBMS Designers & Implementers
Orang-orang yang merancang dan mengimplementasikan modul-modul DBMS dan
interfacenya sebagai satu paket software
6
b. Tool Developers
Orang-orang yang mengembangkan paket-paket software yang memberikan
fasilitas dalam perancangan dan penggunaan system basis data (misal : paket-paket
untuk performance monitoring, GUI, prototyping, simulation, dlsb)
c. Operators & Maintenance Personal
5. MANFAAT PENGGUNAAN DBMS
a. Pengendalian redundasi
b. Pembatasan Akses (Restricting unauthorized access)
c. Persistent storage untuk obyek-obyek program dan struktur data
d. Inferensi basis data menggunakan aturan-aturan deduksi
e. Tersedianya multiple user interface
f. Dapat menyajikan relasi-relasi yang kompleks antar data yang dilibatkan
g. Pemaksaaan Integrity Constraints
h. Tersedianya fasilitas backup & recovery
6. IMPLIKASI PENGGUNAAN PENDEKATAN BASIS DATA
a. Mempunyai potensi untuk memaksakan standarisasi
b. Mengurangi waktu pengembangan aplikasi
c. Fleksibilitas
d. Tersedianya informasi yang up to date (kekinian)
e. Skala ekonomis
7. KAPAN UNTUK TIDAK MENGGUNAKAN DBMS
Beberapa situasi yang dapat menimbulkan biaya overhead dibandingkan dengan
pemrosesan file tradisional, dalam penggunaan basis data (DBMS) antara lain
disebabkan oleh:

Investasi awal yang tinggi dalam pengadaan hardware, software & pelatihan

Overhead untuk menyediakan security, concurrency control, backup &
recovery, dan fungsi-fungsi integrity
Persoalan-persoalan lain dapat muncul jika database designer dan DBA tidak
merancang database secara tepat dan benar, atau jika aplikasi-aplikasi database tidak
diimplementasikan secara benar.
7
 Untuk itu, mungkin lebih disarankan untuk menggunakan pemrosesan file biasa
dalam keadaan-keadaan sbb. :

Basi data dan aplikasi sederhana, terdefinisikan dengan baik, dan diharapkan
tidak berubah

Adanya kebutuhan-kebutuhan nyata dari program yang tidak akan terpenuhi
akibat dari overhead dari DBMS

Tidak diperlukan multiple access terhadap data.
8
PRE TEST
1.
Apa yang dimaksud dengan DBMS ?
2.
Apa saja manfaat DBMS ?
3.
Dalam Kondisi bagaimana kita tidak memerlukan DBMS ?
4.
Sebut dan jelaskan 4 kategori end user
9
B. KONSEP DAN ARSITEKTUR SISTEM BASIS DATA
1.MODEL-MODEL DATA, SCHEMA & INSTANCE
Data model adalah sekumpulan konsep yang digunakan untuk menjelaskan struktur
dari basis data (database structure) dan memberikan gambaran tingkat-tingkat
abstraksi data (data abstraction).
- Model data merupakan alat utama untuk menyediakan abstraksi data.
1. Model data merupakan konsep yang dapat digunakan untuk menjelaskan struktur
dari basis data (tipe data, relasi dan constraint)
2. Model data meliputi sejumlah operasi-operasi dasar untuk menspesifikasikan
retrieval & update dari basis data
Data model juga mencakup sekumpulan operasi (basic & user-defined) yang dapat
dilakukan terhadap data yang dihimpun dalam basis data. Operasi dasar (basic)
disediakan oleh sistem basis data: insert, delete, update, dan retrieve.
User-defined operation dibuat oleh perancang, contoh: operasi menghitung IPK
mahasiswa
Data abstraction adalah deskripsi mengenai struktur basis data yang mudah
dimengerti oleh user, atau bisa juga mencakup detil dari penyimpanan data yang
biasanya perlu diketahui oleh perancang basis data jadi ada tingkatan abstraksi.
Database structure mencakup data type (type of name is string), relationship
(customer has relationship with account), dan constraint (ada batasan bahwa tidak
bisa menjamin bahwa - peserta MIK harus sudah mengambil KP1)
10
a. Kategori Model Data

Model data tingkat tinggi
- Menggunakan konsep seperti : entity, attribute and relationship

Model data representasional/implementasi
- paling banyak digunakan dalam DBMS komersial
- termasuk dalam jenis ini adalah model data relasional , jaringan dan hirarki
- data disajikan dengan menggunakan struktur record (record-based data
model)

Model Data Fisik
- menjelaskan bagaimana data disimpan dalam komputer (format-format :
record, urutan-urutan record dan access path)
b. Schemas & Instances

Database Schema (Meta –data)
- diskripsi dari basis data yang dibuat pada saat perancangan dan diharapkan
tidak akan sering berubah
- model data mempunyai konvensi-konvensi tertentu untuk menampilkan
skema (schema diagram). Diagram skema hanya menampilkan beberapa
aspek dari skema basis data, yaitu : nama tipe record, item-item data dan
constraintnya.

Data Instance / Occurrence
- menyatakan nilai-nilai sebenarnya dari skema basis data untuk suatu keadaan
(state) tertentu
- “Database state” merupakan keadaan-keadaan nilai yang ada pada setiap saat
dari database schema yang selalu harus valid (memenuhi constraint yang telah
ditentukan)
11
Contoh Basis Data
Contoh Database Schema Diagram
12
2. ARSITEKTUR DBMS & KEBEBASAN DATA
a. Arsitektur Three Level (Three Schema)
Ada 3 tingkat dalam arsitektur basis data yang bertujuan membedakan cara pandang
pemakai terhadap basis data dan cara pembuatan basis data secara fisik.
3 tingkatan arsitektur basis data :
1. Tingkat Eksternal (External Level)
Tingkat eksternal merupakan cara pandang pemakai terhadap basis data. Pada tingkat
ini menggambarkan bagian basis data yang relevan bagi seorang pemakai tertentu.
Tingkat eksternal terdiri dari sejumlah cara pandang yang berbeda dari sebuah basis
data. Masing-masing pemakai merepresentasikan dalam bentuk yang sudah dikenalnya.
Cara pandang secara eksternal hanya terbatas pada entitas, atribut dan hubungan antar
entitas (relationship) yang diperlukan saja.
13
2. Tingkat Konseptual (Conseptual Level)
Tingkat konseptual merupakan kumpulan cara pandang terhadap basis data. Pada
tingkat ini menggambarkan data yang disimpan dalam basis data dan hubungan antara
datanya.
Hal-hal yang digambarkan dalam tingkat konseptual adalah :
- semua entitas beserta atribut dan hubungannya
- batasan data
- informasi semantik tentang data
- keamanan dan integritas informasi
Semua cara pandang pada tingkat eksternal berupa data yang dibutuhkan oleh pemakai
harus sudah tercakup di dalam tingkat konseptual atau dapat diturunkan dari data yang
ada. Deskripsi data dari entitas pada tingkat ini hanya terdiri dari jenis data dan
besarnya atribut tanpa memperhatikan besarnya penyimpanan dalam ukuran byte.
3. Tingkat Internal (Internal Level)
Tingkat internal merupakan perwujudan basis data dalam komputer. Pada tingkat ini
menggambarkan bagaimana basis data disimpan secara fisik di dalam peralatan storage
yang berkaitan erat dengan tempat penyimpanan / physical storage.
Tingkat internal memperhatikan hal-hal berikut ini :
- Alokasi ruang penyimpanan data dan indeks
- Deskripsi record untuk penyimpanan (dengan ukuran penyimpanan untuk data
elemen
- Penempatan record
- Pemampatan data dan teknik encryption
- Menggunakan low-level model
- Menjelaskan struktur penyimpanan fisik dari basis data
- Menggunakan model data fisik
14
External Level
Conseptual Level
Internal Level
Gambar 1. Tingkatan Arsitektur Basis data
Contoh : sebuah file Pegawai yang akan didefinisikan
Tingkat Eksternal (External Level) :
Cobol
01 PEG_REC.
02 PEG_NO
PIC X(6).
02 DEPT_NO
PIC X(4).
02 GAJI
PIC 9(6).
Tingkat Konseptual (Conceptual Level) :
PEGAWAI
NOMOR_PEGAWAI
CHARACTER
6
NOMOR_DEPT
CHARACTER
4
GAJI
NUMERIC
6
Tingkat Internal (Internal Level) :
FILE_PEGAWAI
LENGTH = 22
PREFIX
TYPE = BYTE (6), OFFSET = 0
EMP#
TYPE = BYTE (6), OFFSET = 6, INDEX = EMPX
DEPT#
TYPE = BYTE (4), OFFSET = 12
PAY
TYPE = FULLWORD, OFFSET = 16
15
2.
Data Independence
Arsitektur Three Schema dapat digunakan untuk menjelaskan konsep ‘kebebasan data’
yang dapat didefinisikan sebagai :
Kemampuan untuk merubah skema pada suatu level dari system basis data tanpa harus
menyebabkan perubahan dari skema pada tingkat-tingkat yang lebih tinggi
Tujuan utama dari 3 tingkat arsitektur adalah memelihara kemandirian data (data
independence) yang berarti perubahan yang terjadi pada tingkat yang lebih rendah tidak
mempengaruhi tingkat yang lebih tinggi.
Ada 2 jenis data independence, yaitu
1. Physical Data Independence
bahwa internal schema dapat diubah oleh DBA tanpa menggangu conceptual schema.
Dengan kata lain physical data independence menunjukkan kekebalan conceptual
schema terhadap perubahan internal schema.
 Kemampuan untuk merubah skema internal tanpa harus merubah skema konseptual
(eksternal)
 Perubahan terhadap skema internal mungkin diperlukan karena file-file fisik yang
harus diorganisasikan kembali.
Misal : membuat struktur akses tambahan untuk menambah kinerja dalam
retrieval/updating.
 Lebih mudah untuk dilakukan daripada logical data independence karena adanya
isolasi aplikasi dari susunan penyimpanan fisik
2. Logical Data Independence
bahwa conceptual schema dapat diubah oleh DBA tanpa menggangu external schema.
Dengan kata lain logical data independence menunjukkan kekebalan external schema
terhadap perubahan conceptual schema.
 kemampuan untuk merubah skema konseptual tanpa harus merubah skema
eksternal
 hanya definisi dari view dan mapping yang perlu diubah dalam DBMS
 constraint dari basis data juga dapat diubah dalam skema konseptual tanpa
mempengaruhi skema eksternal
16
Prinsip data independence adalah salah satu hal yang harus diterapkan di dalam
pengelolaan sistem basis data dengan alasan-alasan sbb :
1. DBA dapat mengubah isi, lokasi, perwujudan dalam organisasi basis data tanpa
mengganggu program-program aplikasi yang sudah ada.
2. Pabrik / agen peralatan / software pengolahan data dapat memperkenalkan produkproduk baru tanpa mengganggu program-program aplikasi yang sudah ada.
3. Untuk memindahkan perkembangan program-program aplikasi
4. Memberikan fasilitas pengontrolan terpusat oleh DBA demi keamanan dan integritas
data dengan memperhatikan perubahan-perubahan kebutuhan pengguna.
Perubahan logical schema tidak mengubah external schema / application programs
3. BAHASA DAN INTERFACE DARI BASIS DATA
a. Bahasa-bahasa DBMS
1. digunakan untuk membuat spesifikasi skema konseptual dan internal, dan
mapping antara keduanya.
2. DDL (Data Definition Language) dapat digunakan untuk menspesifikasikan
kedua skema di atas, jika dalam DBMS tidak ada pemisahan yang ketat antara
kedua level tersebut.
17
3. DDL hanya digunakan untuk mespesifikasikan skema konseptual, jika DBMS
mempunyai pemisahan yang jelas.
4. Untuk mapping antara keduanya dapat digunakan VDL (View Definition
Language) untuk menspesifikasikan user view dan mappingnya menjadi skema
konseptual.
5. DML (Data Manipulation Language) digunakan untuk melakukan manipulasi
data (setelah dilakukan proses kompilasi skema konseptual)
6. SQL (Structured Query Language) merupakan contoh bahasa yang digunakan
untuk manipulasi basis data relasional, yang mengintegrasikan DDL, VDL dan
DML.
DML terdiri dari 2 jenis.
1. High Level (Non Procedural) DML
-
digunakan secara interaktif (interpreter)
-
dapat dijadikan satu dengan general purpose programming language
(embedded)
2. Low Level (Procedural) DML
-
digunakan secara embedded dalam suatu general purpose prog. Language
Bilamana kedua jenis DML di atas digunakan secara “embedded”, maka :
 Bahasa pemrograman yang digunakan disebut sebagai “HOST LANGUAGE”.
 DML nya disebut “SUB LANGUAGE”.
High level DML yang hanya digunakan secara interaktif disebut “QUERY
LANGUAGE”.
Sub language.
sub language adalah subset bahasa yang dipakai untuk operasi
manajemen basis data. Dalam penggunaan biasanya dapat ditempelkan
(embedded) pada bahasa tuan rumah (Cobol, PL/1, dsb). Secara umum
maka setiap pengguna basis data memerlukan bahasa yang dipakai sesuai
tugas dan fungsinya.
Secara khusus pengguna menggunakan berbagai bahasa :
Programmer aplikasi menggunakan bahasa-bahasa seperti Cobol, Informix,
dll (host language) yang ditempelkan dengan bahasa yang dipakai dalam
DBMS. Pemakai terminal menggunakan bahasa Query (misal SQL) atau
menggunakan program aplikasi (yang dirancang oleh programmer).
18
Sedangkan DBA lebih banyak menggunakan bahasa DDL dan DML yang
tersedia dalam DBMS.
b. DBMS Interfaces :
Dibuat untuk memudahkan user (user friendly), meliputi

Menu based

Graphical interfase (GUI)

Form based

Natural language

Interface untuk Parametric user

Interface untuk DBA
4. LINGKUNGAN SISTEM BASIS DATA
a. Modul-modul komponen DBMS
19
b. Utilitas-utilitas system Basis Data
Digunakan untuk membantu DBA dalam menjalankan system basis data, meliputi
fungsi-fungsi :

Loading utility

Back up

File reorganization

Performance monitoring

Utilitas penunjang untuk : sorting file, kompresi data, monitoring akses
dlsb.
c. Fasilitas Komunikasi
-
Untuk remoter terminal, distributed Database dll.
5. KLASIFIKASI DBMS
a. Kriteria utama didasarkan pada model data yang disupport (relasional, hirarki,
network, atau object oriented)
b. Kriteria kedua : jumlah user yang dapat ditangani oleh DBMS
c. Kriteria ketiga : jumlah sites (lokasi) > centralized, distributed, client server.
d. Kriteria keempat : biaya / harga dari DBMS
e. Kriteria lain, dapat didasarkan pada :
7. Jenis access path (mis invered file)
8. General purpose atau special purpose (mis. OLTP : On Line Transaction
Processing).
20
Download