KONSEP DASAR
Materi ke-01
TinO DwiantOrO
tino@dwiantoro.com | kelana2010@yahoo.com
http://www.dwiantoro.com
Pokok Bahasan
Yang akan dibahas pada modul ini adalah :
Definisi Sistem Basis Data (Database)
Komponen Dasar dari Sistem Database
Data pada Database dan Hubungannya
Keuntungan Pemakaian Sistem
Database
Kerugian Pemakaian Sistem Database
DEFINISI SISTEM BASIS DATA (DATABASE)
SISTEM DATABASE adalah Suatu system penyusunan dan
pengelolaan record-record dengan menggunakan komputer,
dengan tujuan untuk menyimpan atau merekam serta
memelihara data operasional lengkap sebuah
organisasi/perusahaan, sehingga mampu menyediakan
informasi yang optimal yang diperlukan pemakai untuk
kepentingan proses pengambilan keputusan.
DATABASE Suatu susunan/kumpulan data operasional
lengkap dari suatu organisasi/perusahaan yang
diorganisir/dikelola dan simpan secara terintegrasi dengan
menggunakan metode tertentu, dengan menggunakan
komputer, sehingga mampu menyediakan informasi yang
optimal diperlukan pemakainya.
KOMPONEN DASAR DARI SISTEM DATABASE
Terdapat 4 komponen pokok dari system database :
1. DATA, dengan ciri-ciri :
– Data disimpan secara terintegrasi (integrated)
– Data dapat dipakai secara bersama-sama (shared)
– Terintegrated yaitu Database merupakan kumpulan
dari berbagai macam file dari aplikasi-aplikasi yang
berbeda yang disusun dengan cara menghilangkan
bagian-bagian yang rangkap (redundant).
– Shared yaitu Masing-masing bagian dari database
dapat diakses oleh pemakai dalam waktu yang
bersamaan, untuk aplikasi yang berbeda.
2. HARDWARE (perangkat keras)
Terdiri dari semua peralatan perangkat keras
komputer yang digunakan untuk pengelolaan system
database berupa :
– Peralatan untuk penyimpanan, disk, drum, dll
– Peralatan input dan output
– Peralatan komunikasi data, dll
3. SOFTWARE (perangkat lunak)
Berfungsi sebagai perantara (interface) antara
pemakai dengan data phisik pada database, dapat
berupa :
– Database Management System (DBMS)
– Program-program aplikasi & prosedur-prosedur
4. USER (Pemakai)
Terbagi menjadi 3 klasifikasi :
– Database Administrator (DBA), orang/team yang
bertugas mengelola system database secara
keseluruhan
– Programmer, orang/team membuat program
aplikasi yang mengakses database dengan
menggunakan bahasa pemprograman
– End user, orang yang mengakases database
melalui terminal dengan menggunakan query
language atau program aplikasi yang dibuat oleh
programmer
2
DATA PADA DATABASE DAN HUBUNGANNYA
Ada 3 jenis data pada system database, yaitu:
•Data operasional dari suatu organisasi, berupa data
yang disimpan didalam database
•Data masukan (input data), data dari luar sistem yang
dimasukan melalui peralatan input (keyboard) yang
dapat merubah data operasional
•Data keluaran (output data), berupa laporan melalui
peralatan output (screen, printer) sebagai hasil dari
dalam system yang mengakses data operasional
KEUNTUNGAN PEMAKAIAN SISTEM DATABASE
1. Terkontrolnya kerangkapan dan inkonsistensi data
2. Terpeliharanya keselarasan data
3. Data dapat dipakai secara bersama-sama
4. Memudahkan penerapan standarisasi
5. Memudahkan penerapan batasan-batasan
pengamanan.
6. Terpeliharanya intergritas data
7. Terpeliharanya keseimbangan atas perbedaan
kebutuhan data dari setiap aplikasi
8. Program / data independent
KERUGIAN PEMAKAIAN SISTEMDATABASE
1. Mahal dalam implementasinya
2. Rumit / komplek
3. Penanganan proses recorvery & backup sulit
4. kerusakan pada system basis data dapat
mempengaruhi departemen yang terkait
5. dan lain –lain.
ISTILAH-ISTILAH YG DIPERGUNAKAN DALAM SISTEM
BASIS DATA
a. Enterprise, suatu bentuk organisasi
Contoh : data sekolah data mhs
Rumah sakit pasien
b. Entitas, suatu obyek yang dapat dibedakan dengan objek
lainnya
Contoh :
Bidang administrasi siswa entitas mahasiswa, buku,
pembayaran
Bidang kesehatan entitas pasien, dokter,
obat
c. Atribute/field, setiap entitas mempunyai atribut atau suatu
sebutan untuk mewakili suatu entitas.
Contoh :
Entity siswa field Nim, nama_siswa,alamat
Entity nasabah field Kode_nasabah,nama_nsh
d. Data value (nilai atau isi data), data actual atau informasi
yang disimpan pada tiap data elemen atau attribute. Isi
dari atribut disebut nilai data.
Contoh : Atribut nama karyawan Sutrisno, budiman,
e. Record/tuple, kumpulan elemen-elemen yang saling
berkaitan menginformasikan tentang suatu entity secara
lengkap.
Contoh : satu record mewakili satu data/informasi -- >
nim, nm_mhs, alamat.
f. File, kumpulan record-record sejenis yang mempunyai
panjang elemen sama,attribute yang sama, namun
berbeda-beda data valuaenya
g. Kunci elemen data, tanda pengenal yang secara unik
mengindentifikasikan entitas dari suatu kumpulan entitas
h. Database Management System (DBMS), kumpulan file
yang saling berkaitan bersama dengan program untuk
pengelolaannya.
3
Materi Selanjutnya
Sistem Basis Data
1
SISTEM BASIS DATA
Materi ke-02
TinO DwiantOrO
tino@dwiantoro.com | kelana2010@yahoo.com
http://www.dwiantoro.com
Pokok Bahasan
Yang akan dibahas pada modul ini adalah :
Apa yang dimaksud dengan Sistem Basis
Data dan komponen-komponennya.
Abstraksi data yang menunjukkan
bagaimana para pemakai (user)
“melihat” data.
Bahasa basis data yang menjadi media
bagi pemakai (user) dalam berinteraksi
dengan basis data.
DBMS.
DEFINISI SISTEMBASIS DATA
SISTEM DATABASE adalah suatu sistem
penyusunan dan pengelolaan record-record
dengan menggunakan komputer, dengan
tujuan untuk menyimpan atau merekam serta
memelihara data operasional lengkap sebuah
organisasi/perusahaan, sehingga mampu
menyediakan informasi yang optimal yang
diperlukan pemakai untuk kepentingan proses
pengambilan keputusan.
2.1 KOMPONEN SISTEM BASIS DATA
Lebih lanjut lagi, dalam sebuah sistem basis data, secara
lengkap akan terdapat komponen-komponen utama sbb:
1. Perangkat Keras (Hardware)
2. Sistem Operasi (Operating System)
3. Basis Data (Database)
4. Sistem (Aplikasi/Perangkat Lunak) Pengelola Bisnis
Data (DBMS)
5. Pemakai (User)
6. Aplikasi (perangkat lunak) lain (bersifat opsional)
2.2 ABSTRAKSI DATA
Abstraksi data merupakan tingkatan/level dalam
bagaimana melihat data dalam sebuah sistem basis data.
Ada 3 level abstraksi data :
Level Fisik (Physical Level) –Internal Level
Level Logik/Konseptual (Conceptual Level)
Level Penampakan (View Level) –External Level
Physical Level –Internal Level
merupakan level terendah, yang menunjukkan
bagaimana sesungguhnya suatu data disimpan. Pada
level ini, pemakai melihat data sebagai gabungan dari
struktur dan datanya sendiri.
Conceptual Level
Menggambarkan data apa yang sebenarnya disimpan
dalam basis data dan hubungannya dengan data yang
lain.
View Level –External Level
Merupakan level tertinggi, hanya menunjukkan
sebagaian dari basis data sesuai dengan kebutuhan
user, bagi user yang menggunakan terasa sebagai satu
kesatuan data yang kompak.
2
2.3 BAHASA BASIS DATA
Sebuah bahasa basis data (database languange) biasanya
dapat dipilah ke dalam 2 bentuk, yaitu :
Data Definition Language (DDL), dan
Data Manipulation Languange (DML).
2.3.1 DATA DEFINITION LANGUAGE (DDL)
Dengan bahasa inilah kita dapat membuat tabel baru,
membuat indexs, mengubah tabel, menentukan struktur
penyimpanan tabel, dll. Hasil dari kompilasi perintah
DDL adalah kumpulan tabel yang disimpan dalam file
khusus yang disebut Kamus Data (Data Dictionary)
Kamus Data merupakan suatu metadata (superdata)
yaitu data yang mendeskripsikan data sesuangguhnya.
Kamus Data ini selalu diakses dalam suatu operasi basis
data sebelum file data yang sesungguhnya diakses.
2.3.2 DATA MANIPULATION LANGUANGE (DML)
Berguna untuk melakukan manipulasi dan pengambilan
data pada suatu basis data. Manipulasi data dapat
berupa :
Penyisipan/penambahan data baru, penghapusan
data dan pengubahan data.
DML merupakan bahasa yang bertujuan memudahkan
pemakai untuk mengakses data sebagaimana
direpresentasikan oleh model data
Ada 2 Jenis DML, yaitu :
Prosedural, yang mensyaratkan agar pemakai
menentukan, data apa yang diinginkan serta
bagaimana cara mendapatkannya.
Contoh: dBaseIII, FoxBase
Non-Prosedural, yang membuat pemakai
dapat menentukan data apa yang diinginkan
tanpa menyebutkan bagaimana cara
mendapatkannya.
Contoh : SQL
2.4 DBMS (Database Management System)
DBMS adalah perangkat lunak yang menangani semua
pengaksesan database. Mempunyai fasilitas membaut,
mengakses, memanipulasi dan memelihara basis data.
FUNGSI DBMS
1. Data Definition, DBMS harus dapat mengolah
pendefinisian data
2. Data Manipulation, DBMS harus dapat menangani
permintaan dari pemakai untuk mengakses data
3. Data Security & Integrity, DBMS harus dapat
memeriksa security dan integrity data yang
didefinisikan oleh DBA
4. Data Recovery & Concurency, DBMS harus
dapat menangani kegagalan–kegagalan
pengaksesan database yang dapat disebabkan
oleh sesalahan sistem, kerusakan disk, dsb.
5. Data Dictionary, DBMS harus menyediakan data
dictionary.
6. Performance, DBMS harus menangani unjuk kerja
dari semua fungsi seefisien mungkin.
3
Komponen DBMS
Sebuah DBMS (Database Management System) umumnya
memiliki sejumlah komponen fungsional (modul) seperti :
File Manager, yang mengelola ruang dalam disk dan
struktur data yang dipakai untuk merepresentasikan
informasi yang tersimpan dalam disk.
Database Manager, yang menyediakan interface
antara data low-level yang ada di basis data dengan
program aplikasi dan query yang diberikan ke sistem.
Query Processor, yang menterjemahkan perintahperintah
dalam query language ke perintah low-level
yang dapat dimengerti oleh database manager.
DML Precompiler, yang mengkonversi perintah DML
yang ditambahkan dalam sebuah program aplikasi ke
pemangin prosedur normal dalam bahasa induk.
DDL Compiler, yang mengkonversi perintah-perintah
DDL ke dalam sekumpulan tabel yang mengandung
metadata. Tabel-tabel ini kemudian disimpan dalam
kamus data.
MODEL DATA
Materi Selanjutnya
1
MODEL DATA
Materi ke-03
TinO DwiantOrO
tino@dwiantoro.com | kelana2010@yahoo.com
http://www.dwiantoro.com
Pokok Bahasan
Yang akan dibahas pada modul ini adalah :
MODEL DATA BERBASIS OBJEK
(Object Based Logical Model)
RECORD BASED DATA MODEL
(Record-Based Logical Models)
PENGANTARMODEL DATA
Definisi Model Data
Sekumpulan perangkat konseptual untuk
menggambarkan data, hubungan data, semantik
(makna) data dan batasan data.
disebut juga model data logic
Dalam perancangan basis data, model data secara
umum dapat dibagi menjadi beberapa kelompok, yaitu:
1. Model data berbasis objek
2. Model data berbasis record
3. Model data fisik
4. Model data konseptual
1. MODEL DATA BERBASIS OBJEK
(Object Based Logical Model)
Model data berbasis objek menggunakan konsep
entitas, atribut dan hubungan antar entitas.
Terdiri dari :
1. Entity Relationship Model
2. Binary Model
3. Semantik Data Model
4. Infological Model
1.1 Entity Relationship Model (ER-Model)
Model untuk menjelaskan hubungan antar data dalam
basis data berdasarkan suatu persepsi bahwa real word
terdiri dari objek-objek (entity) dasar yang mempunyai
hubungan atau relasi antara objek-objek tersebut.
E-R MODEL berisi ketentuan/aturan khusus yang
harus dipenuhi oleh isi database. Aturan terpenting
adalah MAPPING CARDINSLITIES, yang menentukan
jumlah entity yang dpt dikaitkan dengan entity lainnya
melalui relationship-set.
Simbol yang Digunakan:
Persegi panjang
menunjukkan objek dasar/
himpunan entitas
Lingkaran/elips, menyatakan atribut
(yg berfungsi sebagai key beri
garis bawah)
Belah ketupat (diamon),
menyatakan himpunan relasi
Garis, menghubungkan antar
objek dalam diagram E-R
2
Contoh Diagram ER-Model
No.Rek. Customer Bank Tabungan Saldo
Nama
Alamat
Atribut lain No.Rek. Atribut lain
1.2 Semantic Model
Hampir sama dengan Entity Relationship model dimana
relasi antara objek dasar tidak dinyatakan dengan
simbol tetapi menggunakan kata-kata (Semantic).
Sebagai contoh, dengan masih menggunakan relasi
pada Bank X sebagaimana contoh sebelumnya, dalam
semantic model adalah seperti terlihat pada gambar di
atas.
Tanda-tanda yang menggunakan dalam semantic
model adalah sebagai berikut :
Menunjukkan arahnya Menunjukkan atribut
Contoh Diagram Sematic Model
No.Rek. Saldo
Amir
Alamat No.Rek.
Tabungan Customer
Bank
mempunyai adalah
melayani adalah nasabah
2. RECORD BASED DATAMODEL
(Record-Based Logical Models)
Model ini berdasarkan pada record untuk menjelaskan
kepada user tentang hubungan logic antar data dalam
basis data.
PERBEDAAN DENGAN OBJECT BASED DATA
MODEL
Pada record based data model disamping digunakan
untuk menguraikan struktur logika keseluruhan dari
suatu database, juga digunakan untuk menguraikan
implementasi dari system database (higher level
description of implementation)
Model Logik Data Berdasarkan Record (Record-Based
Logical Models), terdiri dari :
1. Model Relational (Relational Model)
2. Model Hirarkis (Hierarchical Model)
3. Model Jaringan (Network Model)
DUNIA NYATA (Real Word)
Real Word adalah keseluruhan data yang belum
terstruktur yang secara nyata ada/terkait dalam sebuah
lingkup topik yang ditinjau.
2.1 Model Relational
Dimana data serta hubungan antar data
direpresentasikan oleh sejumlah table, dan masingmasing
table terdiri dari beberapa kolom yang namanya
unique. Model ini berdasarkan notasi teori himpunan
(set theory), yaitu relation.
Contoh :
data base penjual barang terdiri dari 3 tabel :
- Supllier
- Path (Suku_cadang)
- Delivery (pengiriman)
3
MEDAN
SURABAYA
BANDUNG
MEDAN
03
03
02
01
PT. A
PT. B
PT. C
CV. D
S01
S02
S03
S04
No_supl Nama_pen Status Kota
JAKARTA
JAKARTA
SURABAYA
MEDAN
JAKARTA
10
8
45
6
2
BESI
BESI
ALUMUNIUM
KARET
ALUMUNIUM
BAUT-3 cm
MUR - 3 cm
BAUT -10 cm
PACKING
RING-MM
P01
P02
P03
P04
P05
No_Part Nama_Part Bahan_Baku Berat Kota
SUPPLIER
PART/SUKU CADANG
200
300
250
300
400
400
300
P01
P02
P04
P01
P02
P03
P04
S01
S01
S01
S02
S02
S03
S04
No_Supl No_Part JML
DELIVERY
Ilustrasi Tabel 2.2 Model Hirarki
Dimana data serta hubungan antar data
direpresentasikan dengan record dan link (pointer),
dimana record-record tersebut disusun dalam bentuk
tree (pohon), dan masing-masing node pada tree
tersebut merupakan record/grup data elemen.
A
B C D
E F G H I
DNAME DNUMBER MGRNAME MGRSTARDATE
DEPARTEMEN
NAME SSN BDATE ADRESS
EMPLOYE
PNUMM PNAME PLOCATION
PROJECT
DEPNAME SEX BRITHDATE
PROJECT
NAME SSN
SUVERVISE
NAME SSN HOURS
WORKER
2.3 Model Jaringan
Mirip dengan hirarkical model, dimana data dan
hubungan antar data direpresentasikan dengan record
dan links. Perbedaannya terletak pada susunan record
dan linknya yaitu network model menyusun recordrecord
dalam bentuk graph.
R1
R3 R4
R5
R2
No_Supl Nama-Supl Status Kota
JML
No_Part Nama_Part Bahan_Baku Kota
Pointer link
Pointer link
Record Supplier
Record Part
3. Physical Data Model
Digunakan untuk menguraikan data pada internal level
Beberapa model yang umum digunakan :
Unifying model
Frame memory
4
ENTITY RELATIONSHIP
Materi Selanjutnya
1
ENTITY
RELATIONSHIP
Materi ke-04
TinO DwiantOrO
tino@dwiantoro.com | kelana2010@yahoo.com
http://www.dwiantoro.com
Pokok Bahasan
Yang akan dibahas pada modul ini adalah :
Pengantar
Kardinalitas Pemetaan
Diagaram Entity-Relationship (E-R
Diagram)
Tahapan Pembuatan Diagram E-R
Diagram E-R dengan Kamus Data
Varian Entitas
1. Pendahuluan
Entity relationship adalah jaringan yang menggunakan
susunan data yang disimpan dari sistem secara abstrak.
Entity-relationship dari model terdiri dari unsur-unsur entity
dan relationship antara entity-entitiy tersebut.
KOMPONEN ENTITY RELATIONSHIP
1. Entitas, suatu kumpulan object atau sesuatu yang dapat
dibedakan atau dapat diidentifikasikan secara unik.
Kumpulan entitas yang sejenis disebut entity set.
2. Relationship, hubungan yang terjadi antara satu entitas
atau lebih.
3. Atribut, kumpulan elemen data yang membentuk suatu
entitas.
2. KARDINALITAS PEMETAAN
Mapping Cardinality
Kardinalitas Pemetaan menunjukkan jumlah entitas
yang dapat dihubungkan ke satu entitas lain dengan
satu relationship.
Jenis-jenis Kardinalitas Pemetaan:
1. Hubungan satu ke satu (one to one)
2. Hubungan satu ke banyak (one to many)
3. Hubungan banyak ke satu (many to one)
4. Hubungan banyak ke banyak (many to many)
3. DIAGRAMENTITY-RELATIONSHIP (DIAGRAME-R)
Notasi-notasi simbolik di dalam diagram E-R yang
dapat digunakan adalah:
Persegi panjang, menunjukkan objek dasar/himpunan
entitas
Lingkaran/elips, menyatakan atribut (atribut yg berfungsi
sebagai key digarisbawahi)
Belah ketupat (diamon), menyatakan Himpunan Relasi
Garis, sebagai penghubung antara Himpunan Relasi
dengan Himpunan Entitas dan Himpunan Entitas
dengan Atributnya.
4. TAHAPAN PEMBUATAN DIAGRAM E-R
Ada 2 kelompok pentahapan yang biasa ditempuh, yaitu:
1. Tahap pembuatan Diagram E-R awal (preliminary
design).
2. Tahap otimasi Diagram E-R (final design)
Tahap pertama adalah untuk mendapatkan rancangan basis
data minimal yang dapat mengakomodasi kebutuhan
penyimpanan data terhadap sistem yang sedang ditinjau.
Tahap kedua, memperhatikan aspek-aspek efisiensi,
performansi dan fleksibilitas.
2
4.1 Pembuatan Diagram E-R Awal
Langkah-langkah teknis untuk membuat Diagram E-R Awal
adalah:
1. Mengidentifikasi dan menetapkan seluruh himpunan
entitas yang akan terlibat.
2. Menentukan atribut-atribut key dari masing-masing
himpunan entitas.
3. Mengidentifikasi dan menetapkan seluruh himpunan
relasi diantara himpunan entitas-himpunan entitas yang
ada beserta foreign-key-nya.
4. Menentukan derajat/kardinalitas relasi untuk setiap
himpunan.
5. Melengkapi himpunan entitas dan himpunan relasi
dengan atribut-atribut deskriptif (non-key).
Studi Kasus
Dalam lingkup sistem perkuliahan sesungguhnya (real
word) ada banyak sekali entitas yang bisa kita libatkan
seperti Mahasiswa, Kuliah, Pratikum, Dosen, Asisten,
Ruang, Jurusan, Literarur dan lain-lain.
Buatlah Diagram E-R untuk sistem perkuliahan
tersebut.
Langkah ke-1, Identifikasi dan menetapkan seluruh
himpunan entitas yang akan terlibat.
Langkah ke-2, Menentukan atribut-atribut key dari
masing-masing himpunan entitas
Mahasiswa Kuliah Dosen
Mahasiswa Kuliah Dosen
nim Kode_kul Nama_dos
Langkah ke-3, Mengidentifikasi dan menetapkan
seluruh himpunan relasi di antara himpunan entitashimpunan
entitas yang ada beserta foreign-key-nya
Mahasiswa Kuliah Dosen
Kode_kul
nim
Nama_dos
mepelajari
nim
Kode_kul
mengajar
Kode_kul
Nama_dos
Langkah ke-4, Menentukan derajat/kardinalitas relasi
untuk setiap himpunan relasi.
Mahasiswa Kuliah Dosen
Kode_kul
nim
Nama_dos
mepelajari
nim
Kode_kul
mengajar
Kode_kul
Nama_dos
N N N 1
Langkah ke-5, Melengkapi himpunan entitas dan
himpunan relasi dengan atribut-atribut deskriptif (nonkey)
Mahasiswa Kuliah Dosen
Kode_kul
nim
Nama_dos
mepelajari
nim
Kode_kul
mengajar
Kode_kul
Nama_dos
N N N 1
Alamat-mhs Tgl_lahir
Indeks_nil
sks
semester
waktu
tempat
Alamat_dos
3
5. DIAGRAM E-R DENGAN KAMUS DATA
Objektif utama dari pembautan Diagram E-R adalah
untuk menunjukkan objek-objek (himpunan entitas) apa
saja yang ingin dilibatkan dalam sebuah basis data dan
bagaimana hubungan yang terjadi di antara objek-objek
tersebut.
Pada sebuah sistem yang ruang lingkupnya lebar dan
kompleks, penggambaran atribut-atribut dalam sebuah
diagram E-R sering kali malah mengganggu objektif
yang ingin dicapai tersebut.
Pemisahan atribut-atribut dari Diagram E-R dapat
dinyatakan dalam sebuah Kamus Data
Kamus Data berisikan daftar atribut yang diapit kurung
kurawal ( { dan } ).
Atribut yang berfungsi sebagai key dibedakan dengan
yang non-key dengan mengarisbawahi atribut tersebut.
Kamus Data:
Mahasiswa = { nim, nama_mhs, alamat_mhs, tgl_lahir }
Kuliah = { kode_kul, nama_kul, sks, semester }
Dosen = { nama_dos, alamat_dos }
Mempelajari = { nim, kode_kul, indeks_nil }
Mengajar = { kode_kul, nama_dos, waktu, tempat }
Mahasiswa mepelajari Kuliah mengajar Dosen
N N N 1
6. VARIAN ENTITAS
Terdapat 2 (dua) varian yang menyatakan himpunan entitas,
yaitu:
1. Himpunan Entitas Kuat/Bebas (Strong Entity Sets).
Himpunan entitas ini tidak memiliki ketergantungan
dengan himpunan entitas lainnya atau berdiri sendiri
digambarkan dengan empat persegi panjang.
2. Himpunan Entitas Lemah (Weak Entity Set).
Berisi entitas-entias yang kemunculannya tergantung
pada eksistensinya dalam sebuah relasi terhadap
entitas kuas (strong entity). Bisanya tidak memiliki
atribut sebagai key digambarkan dengan empat
persegi panjang bertumpuk.
Contoh:
Pada studi kasus sebelumya, himpunan entitas Mahasiswa, Dosen dan
Kuliah digolongkan sebagai entitas kuat, yang masing-masing berdiri
sendiri.
1104 Onit … …
1103 Rina … …
1102 Shinta … …
1101 Glady … …
Nim Nama_mhs … …
Amien Depok
Jusuf Bogor
Yamin Depok
Abdul Jakarta
Nama_ortu Alamat_ortu
Menari
Musik
Membaca
Berenang
Melukis
Sepak bola
Hobby
Mahasiswa
nim memiliki
1
N
Nama_mhs
Alamat_mhs
Tgl_lahir
menyenangi
Orang Tua
Hobbi
Nama_ortu
Alamat_ortu
hobbi
nim hobbi
nim Nama_ortu
1
1
DATABASE TERDISTRIBUSI
Materi Selanjutnya
Modul-5 : Database Terdistribusi
TinO DwiantOrO
tino@dwiantoro.com | kelana2010@yahoo.com
http://www.dwiantoro.com
DATABASE
TERDISTRIBUSI
MMaatteerrii kkee--0055
Modul-5 : Database Terdistribusi
Pokok Bahasan
Yang akan dibahas pada modul ini adalah :
Database Terdistribusi
Fragmentasi Data
Modul-5 : Database Terdistribusi
DATABASE TERDISTRIBUSI
Dalam sebuah database terdistribusi, database
disimpan pada beberapa komputer.
Komputer- komputer dalam sebuah sistem
terdistribusi berhubungan satu sama lain
melalui bermacam- macam media komunikasi
seperti high speed buses atau telepon line.
Modul-5 : Database Terdistribusi
BENTUK-BENTUK TOPOLOGI DISTRIBUSI
DATA:
Fully Connected Network
Partialy Conneted Network
Tree Strutured Network
Ring Network
Star Network
Modul-5 : Database Terdistribusi
Fully Connected Network
A B
D C
E F
Modul-5 : Database Terdistribusi
Partialy Conneted Network
B
F E D
C
A
Modul-5 : Database Terdistribusi
Tree Strutured Network
B
D F G
C
A
E
Modul-5 : Database Terdistribusi
Ring Network
C D
A
E
B
F
Modul-5 : Database Terdistribusi
Star Network
B
E
A
D
C
Modul-5 : Database Terdistribusi
KEUNTUNGAN DATABASE TERDISTRIBUSI
Pengawasan distribusi dan pengambilan data
Reability dan availability
Kecepatan pemrosesan query
Otonomi lokal
Efisien dan fleksibel
Modul-5 : Database Terdistribusi
KERUGIAN DATABASE TERDISTRIBUSI
Harga software mahal
Kemungkinan kesalahan besar
Biaya pemrosesan tinggi
Modul-5 : Database Terdistribusi
FRAGMENTASI DATA
Adalah Relasi yang dipartisikan ke dalam beberapa
bagian, setiap bagian disimpan pada lokasi yang
berbeda.
Fragnebtasi data adalah memisahkan relasi ke dalam
beberapa fragment.
Beberapa peraturan yang harus didefinisikan ketika
mendefinisikan fragment :
Kondisi lengkap
Kondisi penyusunan kembali
Kondisi disjoin.
Modul-5 : Database Terdistribusi
TIGA JENIS FRAGMENTASI :
1. Fragmentasi horisontal
2. Fragementasi vertikal
3. Fragmentasi campuran
Cara yang sederhana untuk membangun fragmentasi
campuran sbb :
a. Menggunakan fragmentasi horisontal pada
fragmentasi vertikal
b. Menggunakan fragmentasi vertical pada fragmentasi
horisontal
Modul-5 : Database Terdistribusi
CONTOH KASUS JENIS-JENIS FRAGMENTASI
Relasi UJIAN (NIM,Nama_Mhs,Kode_MK,Mt_Kuliah,
Nil_Akhir,Grade)
Sistem Basis Data
Peranc. Sistem
Sistem Basis Data
Sistem Basis Data
Visual Basic
Visual Basic
Peranc. Sistem
Mt_Kuliah
78
60
40
90
70
40
80
Nil_Akhir
BCDABDA
101
102
101
101
103
103
102
Fathi
Farah
Sarah
Salsabila
Azizah
Farhan
Faiz
123
124
125
126
127
128
129
NIM Nama_Mhs Kode_MK Grade
Modul-5 : Database Terdistribusi
Fragmentasi Horizontal
Pemecahan relasi berdasarkan tuplenya.
Fragmentasi horizontal berikan tuple-tuple yang
dipartisikan dari sebuah relasi global ke dalam sejumlah
subset r1, r2, … , rn.
Tiap-tiap subset berisikan tuple dari r.
Setiap tuple dari r harus memiliki satu fragment
sehingga relasi asli dapat disusun kembali.
Modul-5 : Database Terdistribusi
terbagi menjadi 3 fragment yang berbeda
Sistem Basis Data
Sistem Basis Data
Sistem Basis Data
Mt_Kuliah
78
40
90
Nil_Akhir
BDA
101
101
101
Fathi
Sarah
Salsabila
123
125
126
NIM Nama_Mhs Kode_MK Grade
Peranc. Sistem
Peranc. Sistem
Mt_Kuliah
60
80
Nil_Akhir
CA
102
102
Farah
Faiz
124
129
NIM Nama_Mhs Kode_MK Grade
2. Relasi Mt_Kuliah=“Peranc. Sistem”
3. Relasi Mt_Kuliah=“Visual Basic”
Visual Basic
Visual Basic
Mt_Kuliah
70
40
Nil_Akhir
BD
103
103
Azizah
Farhan
127
128
NIM Nama_Mhs Kode_MK Grade
1. Relasi Mt_Kuliah=“Sistem Basis Data”
Modul-5 : Database Terdistribusi
Fragementasi Vertikal
Pemecahan relasi berdasarkan dekomposisinya.
Fragmentasi vertical disempurnakan dengan
menambahkan sebuah atribut yang disebut tuple
identifier (tuple-id) ke dalam skema r.
Tuple-id adalah adalah sebuah alamat logic dari sebuah
tuple.
Setiap tuple di dalam r harus memiliki sebuah alamat
yang unik, yaitu atribut tuple-id sebagai kunci
penambahan skema.
Tuple-id akan direplikasi ke dalam seluruh fragmentasi
untuk menyusun kembali relasi global.
Modul-5 : Database Terdistribusi
BCDABDA
Grade
Sistem Basis Data
Peranc. Sistem
Sistem Basis Data
Sistem Basis Data
Visual Basic
Visual Basic
Peranc. Sistem
Mt_Kuliah
78
60
40
90
70
40
80
Nil_Akhir
1234567
101
102
101
101
103
103
102
Fathi
Farah
Sarah
Salsabila
Azizah
Farhan
Faiz
123
124
125
126
127
128
129
NIM Nama_Mhs Kode_MK Tuple_ID
Relasi UJIAN setelah ditambahkan Tuple-id
BCDABDA
Grade
Sistem Basis Data
Peranc. Sistem
Sistem Basis Data
Sistem Basis Data
Visual Basic
Visual Basic
Peranc. Sistem
Mt_Kuliah
78
60
40
90
70
40
80
Nil_Akhir
1234567
Fathi
Farah
Sarah
Salsabila
Azizah
Farhan
Faiz
123
124
125
126
127
128
129
NIM Nama_Mhs Tuple_ID
Relasi 1 = NIM, Nama_Mhs, Mt,Kuliah, Nil_Akhir, Grade, Tuple_ID
Modul-5 : Database Terdistribusi
BCDABDA
Grade
78
60
40
90
70
40
80
Nil_Akhir
1234567
101
102
101
101
103
103
102
123
124
125
126
127
128
129
NIM Kode_MK Tuple_ID
Relasi 2 = NIM,Kode_MK,Nil_Akhir,Grade,Tuple_ID
Modul-5 : Database Terdistribusi
Fragmentasi Campuran
Relasi r (global) dibagi-bagi ke dalam sejumlah relasi
fragment r1, r2, …, rn.
Tiap-tiap fragmentasi diperoleh sebagai hasil dari
skema fragmentasi hirizontal maupun fragmentasi
vertical di relasi r atau dari sebuah fragmentasi r yang
diperoleh sebelumnya.
Membangun fragmentasi campuran :
Menggunakan fragmentasi horizontal di
fragmentasi vertical.
Menggunakan fragmentasi vertical di fragmentasi
horizontal.
Modul-5 : Database Terdistribusi
Dengan mengambil hasil fragmentasi secara vertical, sbb:
BCDABDA
Grade
Sistem Basis Data
Peranc. Sistem
Sistem Basis Data
Sistem Basis Data
Visual Basic
Visual Basic
Peranc. Sistem
Mt_Kuliah
78
60
40
90
70
40
80
Nil_Akhir
1234567
Fathi
Farah
Sarah
Salsabila
Azizah
Farhan
Faiz
123
124
125
126
127
128
129
NIM Nama_Mhs Tuple_ID
Relasi 1 = NIM, Nama_Mhs, Mt,Kuliah, Nil_Akhir, Grade,
Tuple_ID
Kemudian hasil relasi_1 ini di fragmentasikan dengan
skema horizontal, sbb.
Modul-5 : Database Terdistribusi
BDA
Grade
Sistem Basis Data
Sistem Basis Data
Sistem Basis Data
Mt_Kuliah
78
40
90
Nil_Akhir
134
Fathi
Sarah
Salsabila
123
125
126
NIM Nama_Mhs Tuple_ID
CA
Grade
Peranc. Sistem
Peranc. Sistem
Mt_Kuliah
60
80
Nil_Akhir
27
Farah
Faiz
124
129
NIM Nama_Mhs Tuple_ID
BD
Grade
Visual Basic
Visual Basic
Mt_Kuliah
70
40
Nil_Akhir
56
Azizah
Farhan
127
128
NIM Nama_Mhs Tuple_ID
Relasi_1a
Relasi_1b
Relasi_1c
Modul-5 : Database Terdistribusi
Bahasa Query Formal
Materi Selanjutnya
QUERY LANGUAGE
BAHASA QUERY FORMAL
MMaatteerrii kkee--0066
TinO DwiantOrO
tino@dwiantoro.com | kelana2010@yahoo.com
http://www.dwiantoro.com
Pokok Bahasan
Yang akan dibahas pada modul ini adalah :
PENDAHULUAN
Query Language adalah suatu bahasa yang
menyediakan fasilitas bagi user untuk mengakses
informasi dari basis data.
Pada umumnya level bahasa ini lebih tinggi dari bahasa
pemrograman standar.
Dibagi dalam 2 (dua) katagori, yaitu:
Bahasa Query Prosedural, dan
Bahasa Query Non-Prosedural
Bahasa Query Prosedural
User menginstruksikan ke sistem agar membentuk
serangkaian operasi dalam basis data untuk
mengeluarkan hasil yang diinginkan.
Yang termasuk dalam bahasa ini adalah: Aljabar
Relational (relational algebra).
Bahasa Query Non-Prosedural
User mendeskripsikan informasi yang diinginkan tanpa
memberikan prosedur detail untuk menghasilkan
informasi tersebut.
Yang termasuk dalam bahasa ini adalah: Kalkulus
Relational Tuple (tuple relational calculus).
1. ALJABAR RELATIONAL
Adalah kumpulan operasi terhadap relasi, dimana
setiap operasi menggunakan satu atau lebih relasi
untuk menghasilkan satu relasi yang baru.
Operasi-operasi dasar dalam aljabar relational,
adalah: select, project, union, set difference,
cartesian product, dan rename.
Operasi lainnya antara lain: set intersection,
natural join, division dan assignment.
1.1. Operasi-operasi Dasar
Operasi-operasi select, project dan rename
disebut operasi unary, karena operasi-operasi
tersebut hanya memerlukan satu relasi.
Operasi-operasi union, set difference dan
cartesian product memerlukan sepasang relasi,
disebut operasi binary.
Cikarang 217 Nirmala 750
Tangerang 222 Oki 700
Depok 201 Teguh 900
Bekasi 305 Woro 350
Depok 102 Dwishinta 400
Bogor 215 Glady Putra 700
Jakarta 101 Rina 500
Nama-cabang no_nasabah Nama-nasabah jumlah
DEPOSITOR
Jakarta 14 Ninik 1500
Bogor 93 Ari 500
Bekasi 11 Woro 900
Yogyakarta 29 Teguh 1200
Cikarang 10 Nino 2200
Depok 25 Dani 2500
Jakarta 18 Rina 2000
Purworejo 16 Indra 1300
Depok 15 Dwishinta 1500
Tangerang 23 Glady Putra 2000
Jakarta 17 Edith 1000
Nama-cabang No-pinjaman Nama-customer jumlah
BORROWER
a. Operasi Select ( σ = sigma )
Operasi Select menyeleksi tuple-tuple pada sebuah relation
yaitu tuple-tuple yang memenuhi syarat yang sudah ditentukan
sebelumnya.
Contoh: diketahui relasi Hutang
adalah:
Bogor L-16 1300
Bekasi L-11 900
Tangerang L-93 500
Jakarta L-14 1500
Bogor L-15 1500
Depok L-23 2000
Jakarta L-17 1000
Nomor- Jumlah
Pinjaman
Nama-
Cabang
Bogor L-16 1300
Bogor L-15 1500
Nomor- Jumlah
Nama-Cabang Pinjaman
Jika untuk menyeleksi tuple-tuple
dari relasi Hutang dimana nama
cabangnya adalah “Bogor”, ditulis :
σ nama-cabang = “Bogor” (Hutang)
Maka hasil query adalah:
b. Operasi Project ( π = phi )
Operator projection beroperasi pada sebuah relation, yaitu
membentuk relation baru dengan mengcopy atribute-atribute
dan domain-domain dari relation tersebut berdasarkan argumenargumen
pada operator tsb.
Contoh : untuk menampilkan seluruh nomor-hutang dan jumlah
tanpa nama-cabang, dituliskan :
π nomor-hutang, jumlah (hutang)
c. Komposisi Operasi-operasi relasional
Berikut contoh query yang lebih kompleks : “ Temukan
kastemer-kastemer yang mendepositkan uangnya di
cabang Jakarta“. Maka query-nya ditulis :
πnama-nasabah(σ nama-cabang=”Jakarta”(deposit))
perhatikan bahwa sebagai argumen dari operasi project
adalah sebuah ekspresi untuk suatu relasi. Oleh
karenanya, operasi-operasi aljabar relasional dapat
digabung dengan suatu ekspresi aljabar relasional.
d. Operasi Union
Operasi union dalam aljabar relasional sama halnya dengan
operasi union pada aritmatika.
Misal user menginginkan nama-nama semua nasabah bank
yang memiliki sebuah account atau sebuah loan atau
keduanya. Perhatikan bahwa relasi customer tidak
mengandung informasi tersebut. Untuk menjawab query ini
diperlukan informasi dari relasi Depositor dan relasi
Borrower. Dengan operasi union informasi yang diinginkan
dapat diperoleh dengan menulis query sebagai berikut :
πnama-nasabah(borrower) U πnama-nasabah(depositor)
Lindsay A-222
Jones A-217
Johnson A-201
Tumer A-305
Hayes A-102
Smith A-215
Johnson A-101
Customer-name Account-number
DEPOSITOR
Adams L-16
Williams L-18
Smith L-11
Curry L-93
Jackson L-14
Hayes L-15
Smith L-23
Jones L-17
Customer-name Loan-number
πnama-nasabah(borrower) Uπnama-nasabah(depositor)
Hasil dari query berikut ini adalah :
BORROWER e. Operasi Pengurangan (Set Defference)
Disimbulkoan dengan tanda “ – “.
Operasi ini akan menemukan tuple-tuple yang berada
pada satu relasi tetapi tidak berada pada relasi yang
lainnya.
Contoh, untuk menemukan semua nasabah bank yang
mempunyai account tetapi tidak mempunyai loan,
ditulis:
πnama-nasabah(depositor) - πnama-nasabah(borrower)
f. Operasi Cartesian-Product
Operasi Cartesian-product disimbolkan dengan “ X “.
Operasi Cartesian-product akan dihasilkan informasi
yang merupakan kombinasi dari dua relasi.
Jika kita memiliki relasi r1(R1) dan r2(R2), maka r1 x r2
adalah relasi yang skemanya merupakan gabungan
dari R1 (atribut-atribut relasi r1) dan R2 (atribut-atribut
relasi r2).
Contoh : Jika diinginkan nama-nama dari semua
nasabah yang mempunyai pinjaman (loan) di bank
cabang Bogor, maka query-nya ditulis
σnama-cabang = “Bogor” (borrower x loan)
g. Operasi Rename
Dilambangkan dengan simbol rho (ρ).
Sintaks penulisan rename : ρx(E)
Operasi rename mengeluarkan hasil ekspresi E dengan
nama x.
Contoh :
πaccount.balance(σaccount.balance
Jika E1 dan E2 adalah ekspresi aljabar-relasional,
maka berikut ini adalah semua ekspresi aljabarrelasional
:
E1 U E2
E1 – E2
E1 x E2
σp(E1), dimana p adalah sebuah predikat untuk
atribut-atribut dalam E1.
πs(E1), dimana s adalah daftar yang terdiri dari
beberapa atribut dalam E1.
ρx(E1), dimana x adalah nama baru untuk hasil E1
Kalkulus Relasional Tuple
(Tuple Relational Calculus)
tidak dibahas
Bahan untuk mempelajari silahkan
download di website
Materi Selanjutnya
Tidak ada komentar:
Posting Komentar