Anda di halaman 1dari 54

ABSTRAKSI DATA

Made Agung Raharja


degunk@gmail.com
Abstraksi Data

• Abstraksi data merupakan


tingkatan/level dalam bagaimana
melihat data dalam sebuah sistem
basis data.
2
Abstraksi Data
Pandangan Abstrak terhadap data
bagi pengguna, dibagi menjadi tiga
lapisan (level), yaitu :

• Level Internal (Fisik)


• Level Konseptual
• Level Eksternal (Pandangan)
Lapisan Abstraksi Data
Program Program Program
Aplikasi 1 Aplikasi 2 Aplikasi 3

Skema Skema
Eksternal 1 Eksternal 2

Skema
Konseptual

Skema
Internal
(Fisik)

Basis
Data
Three Level ANSI-SPARC Architecture

5
1. Level Internal (Fisik)

- Merupakan Skema internal yang memuat deskripsi


struktur penyimpanan basis data
- Level terendah dalam basis data
- Menggunakan model data fisikal
- Mendefinisikan secara detil penyimpanan data dalam
basis data serta jalur pengaksesan data

Misal : himpunan bit data, blok data


Internal Level

• Level ini mengungkapkan bagaimana data disimpan di dalam database


• Level ini meng-kover implementasi fisik database agar kinerja menjadi optimal
• Level inilah yang menangani struktur data dan organisasi file yang digunakan
untuk menyimpan data ke dalam storage.
• Level ini langsung berhubungan dengan sistem operasi (teknik manajemen file),
menempatkan data pada storage, membangun indeks, mengambil data dari
storage, dan lain-lain.
• Level ini fokus pada :
o Alokasi space untuk penyimpanan dan indeks
o Deskripsi record untuk penyimpanan (ukuran data)
o Penempatan record
o Kompresi data dan teknik enkripsi

7
2. Level Konseptual

- Skema yang memuat deskripsi struktur basis data


secara keseluruhan untuk semua pemakai.
- Hanya memuat deskripsi tentang entiti, atribut, dan
hubungan tanpa memuat deskripsi data secara detil.
- Menggunakan model data tingkat tinggi atau model
data implementasi

Misal : data pegawai disimpan/direpresentasikan dalam


beberapa file/tabel seperti file pribadi, file
pendidikan, file pekerjaan, file keluarga dsb
Conceptual Level
• Level ini mengungkapkan data apa yang disimpan di dalam database
• Berisi struktur logika dari database yang dapat dilihat oleh DBA
• Level konseptual berisi :
o Semua entitas, atribut dan relasi antar entitas
o Constraints pada data (dijelaskan lebih lanjut)
o Informasi data
o Informasi keamanan dan integritas data
• Dalam level inilah view untuk external level dinyatakan.
• Dalam level ini hanya menyatakan data dan tipe datanya, misalnya nama varchar
dengan panjang 50, tanggal_lahir tipenya datetime
• Dalam level ini tidak akan terdapat representasi data secara fisik, misalnya jumlah
byte untuk representasi data nama dan tanggal tidak akan didefinisikan di sini
9
3. Level Eksternal
- Mendefinisikan pandangan data terhadap
sekelompok pemakai dengan
menyembunyikan data lain yang tidak
diperlukan
- Level tertinggi
- Berhubungan dengan bagaimana data
direpresen-tasikan dari sisi setiap user
- Menunjukkan sebagian dari basis data
External Level

• Terdiri dari beberapa view dari database


• Setiap user hanya dapat melihat view yang sesuai untuknya (sesuai hak
yang diberikan oleh admin), sedangkan data lain yang tidak diijinkan,
tidak akan bisa dilihat meskipun sebenarnya data tersebut ada di dalam
database.
• View yang berbeda bisa menampilkan sebuah data yang sama dengan
cara yang berbeda, misalnya saja untuk data tanggal lahir, ada view
yang bisa menampilkannya 13-05-1990 atau view lain bisa saja
menampilkannya 13 Mei 1990
• Sebuah view kadang tidak hanya menampilkan data yang ada di
database, namun bisa saja berupa data hasil perhitungan

11
Perbedaan antara ketiga level

12
Database vs database schema

• Database schema adalah deskripsi tentang database


• Database schema dibuat ketika sebuah database dibuat, dan
berikutnya tidak akan mengalami perubahan yang terlalu sering
• Database akan berubah setiap saat, misalnya terjadi penambahan
data, pengubahan data atau penghapusan data.
• Data di dalam sebuah database pada suatu waktu disebut dengan
database instance atau extension atau state
• Schema database kadang disebut intension

13
Jenjang data

14
• Characters : merupakan bagian data yang terkecil,
dapat berupa karakter numerik, huruf ataupun
karakter-karakter khusus (special characters) yang
membentuk suatu item data / field.

• Field : merepresentasikan suatu atribut dari record


yang menunjukkan suatu item dari data, seperti
misalnya nama, alamat dan lain sebagainya.
Kumpulan dari field membentuk suatu record.

15
• Record : Kumpulan dari field membentuk
suatu record. Record menggambarkan suatu
unit data individu yang tertentu. Kumpulan
dari record membentuk suatu file. Misalnya
file personalia, tiap-tiap record dapat
mewakili data tiap-tiap karyawan.

• File: File terdiri dari record-record yang


menggambarkan satu kesatuan data yang
sejenis. Misalnya file mata pelajaran berisi
data tentang semua mata pelajaran yang ada.

16
• Database : Kumpulan dari file / tabel membentuk suatu
database

17
Tipe File
• File Induk (master File)
- file induk acuan (reference master file) : file
induk yang recordnya relatif statis, jarang
berubah nilainya. Misalnya file daftar gaji, file
mata pelajaran.
- file induk dinamik (dynamic master file): file
induk yang nilai dari record-recordnya sering
berubah atau sering dimutakhirkan (update)
sebagai hasil dari suatu transaksi. Misalnya
file induk data barang, yang setiap saat harus
di up-date bila terjadi transaksi.

19
• File Transaksi (transaction file)
File ini bisa disebut file input; digunakan
untuk merekam data hasil dari transaksi
yang terjadi. Misalnya file penjualan
yang berisi data hasil transaksi
penjualan.

• File Laporan (Report file)


File ini bisa disebut output file, yaitu file
yang berisi informasi yang akan
ditampilkan.

20
• File Sejarah (history file)
File ini bisa disebut file arsip (archival file), merupakan
file yang berisi data masa lalu yang sudah tidak aktif
lagi, tetapi masih disimpan sebagai arsip.
• File Pelindung (backup file)
File ini merupakan salinan dari file-file yang masih
aktif di dalam database pada suatu saat tertentu. File
ini digunakan sebagai pelindung atau cadangan bila
file database yang aktif mengalami kerusakan atau
hilang.
21
Data Independence

• Tujuan utama three-level architecture adalah data independence


yang artinya, level yang lebih atas tidak akan dipengaruhi oleh
perubahan level di bawahnya

22
Logical Data Independence

• Perubahan database schema, seperti menambahkan atau


menghapus entitas, menambahkan, mengubah atau menghapus
atribut entitas pada logical level tidak akan mempengaruhi view
pada external level secara keseluruhan
• Hanya user yang terkait pada perubahan schema yang dipengaruhi
pada external level, namun user lainnya tidak akan dipengaruhi.

23
Physical Data Independence

• Perubahan pada internal schema, seperti organisasi file dan


penggunaan struktur yang berbeda , modifikasi indeks atau
algoritma hashing tidak akan mempengaruhi conceptual dan
external
• Salah satu hal yang bisa dirasakan pengguna hanyalah perubahan
kinerja

24
Bahasa Database

• Terdiri dari 2 yaitu : Data Definition Language (DDL) dan Data


Manipulation Language (DML)
• DDL digunakan untuk membuat, mengubah dan menghapus
schema
• DML digunakan untuk membaca dan menambah, mengubah,
menghapus data

25
DDL
• Bahasa yang mengijinkan DBA untuk membuat
nama entitas (tabel), atribut (kolom) dan relasi
antar entitas yang juga berasosiasi dengan
keamanan dan integritas data.
• Hasil kompilasi dari DDL adalah berupa
sekumpulan tabel yang akan disimpan pada system
catalog
• Kadangkala data dictionary atau data directory
digunakan sebagai istilah lain system catalog 26
Contoh DDL

• CREATE : Perintah ini digunakan untuk membuat,


termasuk di antaranya membuat database baru, tabel
baru, view baru, dan kolom.

Contoh :
• > create table mahasiswa (nim char(8) primary
key,nama_mahasiswa varchar(20),nilai
integer(3),alamat varchar(25);
27
Contoh DDL

• ALTER : Perintah ini digunakan untuk mengubah


struktur tabel yang telah dibuat. Pekerjaannya mencakup
mengganti nama tabel, menambah kolom, mengubah
kolom, menghapus kolom, maupun memberikan atribut
pada kolom.

Contoh :
• >alter table mahasiswa rename wisudawan;
28
Contoh DDL

• ALTER : Perintah ini digunakan untuk mengubah


struktur tabel yang telah dibuat. Pekerjaannya mencakup
mengganti nama tabel, menambah kolom, mengubah
kolom, menghapus kolom, maupun memberikan atribut
pada kolom.

Contoh :
• >alter table mahasiswa rename wisudawan;
29
DML
• DML memungkinkan :
o Penyisipan data baru
o Pengubahan data yang sudah ada
o Pengambilan data
o Penghapusan data
• Bagian DML yang terlibat dalam pengambilan data disebut
query language.
• Query Language merupakan high-level special-purpose
language yang digunakan untuk memenuhi permintaan data
ke dalam sebuah database 30
Contoh DML

• INSERT : Perintah ini digunakan untuk


menyisipkan atau memasukkan data baru ke
dalam tabel. Penggunaannya setelah database
dan tabel selesai dibuat.
• Contoh :
Insert into mahasiswa values (“08052926”,
“Frenky”,”70”);
31
Contoh DML

• SELECT : Perintah ini digunakan untuk mengambil


data atau menampilkan data dari satu tabel atau
beberapa tabel dalam relasi. Data yang diambil dapat
kita tampilkan dalam layar prompt MySQL secara
langsung maupun ditampilkan pada tampilan aplikasi.
• Contoh :
• Select nama_mahasiswa from mahasiswa where
nilai = 70;
• 32
Contoh DML

• UPDATE : Perintah ini digunakan untuk memperbarui


data lama menjadi data terkini. Jika Anda memiliki data
yang salah atau kurang up to date dengan kondisi
sekarang, maka dapat diubah isi datanya menggunakan
perintah UPDATE.
• Contoh:
• mahasiswa set nim = ‘08052926’ = 08052927;

33
Contoh DML

• DELETE : Perintah ini digunakan untuk menghapus


data dari tabel. Biasanya data yang dihapus merupakan
data yang sudah tidak diperlukan lagi. Pada saat
menghapus data, perintah yang telah dijalankan tidak
dapat digagalkan, sehingga data yang telah hilang tidak
dapat dikembalikan lagi
• Contoh :
• >delete form mahasiswa;
34
Data Control Language (DCL)

• Data Control Language (DCL) merupakan


sub bahasa SQL yang digunakan untuk
melakukan pengontrolan data dan server
databasenya.

35
Contoh DCL

• GRANT : Perintah ini digunakan untuk


memberikan hak/ijin akses oleh administrator
(pemilik utama) server kepada user (pengguna
biasa). Hak akses tersebut berupa hak membuat
(CREATE), mengambil (SELECT), menghapus
(DELETE), mengubah (UPDATE), dan hak
khusus berkenaan dengan sistem databasenya.
36
Contoh DCL

• REVOKE : Perintah ini memiliki kegunaan


terbalik dengan GRAND, yaitu untuk
menghilangkan atau mencabut hak akses yang
telah diberikan kepada user oleh administrator.

37
Multi-User DBMS Architecture

• Teleprocessing
• File-Server
• Client-Server

38
Teleprocessing topologi

• Terdapat satu unit pemroses (CPU) di


tengah sejumlah terminal.
• Semua proses dan penyimpanan database
dilakukan oleh sebuah komputer
• Setiap terminal akan mengirimkan pesan
kepada pemroses melalui jaringan
komunikasi, demikan juga sebaliknya
pemroses memberikan respon kepada
terminal

39
File-Server Architecture

• Server menangani file dan database yang


dibutuhkan
• Pemrosesan data menyebar di antara
beberapa workstation yang terhubung
oleh jaringan Local Area Network (LAN)
• Aplikasi dan DBMS terdapat juga pada
setiap workstation
• Server dalam hal ini hampir seperti hard-
drive yang bisa men-share datanya

40
Kelemahan File-Server Architecture

• Trafik data yang sangat besar


• Copy data full dari DBMS diperlukan untuk setiap workstation
• Kontrol concurency, recovery dan integrity menjadi lebih kompleks
karena terdapat beberapa DBMS yang mengakses file yang sama.

41
Two-Tier Client-Server Architecture

• Tier 1 (client) : menangani representasi data user


• Tier 2 (server) menangani penyediaan data untuk
client
• Client akan mengecek permintaan user dan men-
genarate SQL, kemudian mentransmisikannya ke
server.
• Server menerima request dan memprosesnya,
kemudia mentransmisi hasilnya ke client.
• Pemrosesan yang dilakukan server meliputi
pengecekan autorisasi, memastikan integritas,
dan melakukan update serta pemrosesan query

42
Keuntungan

• Memungkinkan akses database yang lebih luas


• Meningkatkan kinerja, dimana client dan server menggunakn CPU
yang berbeda sehingga memungkinkan melakukan proses paralel,
dan server hanya melakukan pemrosesan databse
• Biaya hardware bisa ditekan, karena hanya server yang
membutuhkan storage dan pemrosesan database
• Biaya komunikasi dapat ditekan, karena client hanya mengirim
request dan server hanya menjawab
• Meningkatkan konsistensi

43
Three-Tier Client-Server Architecture

44
Three-Tier Client-Server Architecture

• Lapisan user interface (tier 1) : hanya menangani antarmuka dengan


pengguna akhir dan beberapa operasi kecil seperti validasi input
• Lapisan business logic and data processing (tier 2) : berjalan di sisi
server dan kadang disebut sebagai application server.
• Tier 3 : DBMS, menyimpan data yang dibutuhkan oleh tier 2. Tier
ini bisa dijalankan pada komputer yang berbeda dengan tier 2 dan
disebut sebagai database server.

45
Keuntungan Three-Tier Client-Server

• Membutuhkan lebih sedikit hardware yang mahal, karena untuk


client tidak dibutuhkan komputer yang terlalu tangguh
• Perawatan aplikasi terpusat, hanya pada tier 2 sehingga
mengurangi permasalahan distribusi software pada two-tier model
• Modularitas, dimana akan lebih mudah mengganti sebuah tier
tanpa mempengaruhi semua tier lainnya

46
Definisi Model Data
Model data merupakan suatu cara untuk
menjelaskan tentang data-data yang tersimpan
dalam basis data dan bagaimana hubungan
antar data tersebut untuk para pemakai (User)
secara logik.

Menyatakan hubungan antar rekaman yang


tersimpan dalam basis data.
Jenis-Jenis Model Data
Model data yang umum ada 3 macam antara
lain :
1. Model Hierarki (Hierarchycal Model)
2. Model Jaringan (Network Model)
3. Model Relasional (Relational Model)
1. Model Hirarki (Hierarchycal Model)
- Sering disebut sebagai Tree structure, yaitu
menjelaskan kepada pemakai tentang hubungan
logik antar data dalam basis data dalam hubungan
bertingkat
- Disusun dari elemen-elemen yang disebut Node
(rinci data, record)
- Level paling tinggi dalam suatu hirarki harus hanya
terdapat satu node yang disebut root.
Istilah² dalam model hirarki :

- Node : rincian data, record.


- Parent : node yang terhubung ke node pada level
yang dibawahnya
- Child : node yang dibawahi oleh node parent
- Root : node parent yang tidak memiliki parent
- Leaves : node yang tidak memiliki child
- Node pada level yang lebih rendah hanya
diijinkan mempunyai satu relasi dengan
node pada tingkat yang lebih tinggi

- Sebaliknya, node pada level yang lebih


tinggi dapat mempunyai lebih dari satu
node dibawahnya.
Contoh Gambar Model Hierarki

Universitas

Fakultas

Mahasiswa Dosen

Mata Kuliah
Nama Perguruan Tinggi

MDP

fakultas
Nama Fakultas Jumlah Dosen Jumlah Mhs. Jumlah Jursn
Ilmu Komputer 215 1871 6

Mahasiswa Dosen
NPM Nama Jurusan NID Nama Alamat
2005.11.0123 Abdul KA 041035 Sigit Jl. Bangau

Mata Kuliah
Kode Mata Kuliah Nama MK Jumlah SKS
TI152 Sistem Basis Data 2

Gambar Model Hierarki


Terima Kasih

54

Anda mungkin juga menyukai