Basis Data I
1. Pendahuluan
2. Pengertian BD & SBD
3. Tujuan & Keuntungan BD
4. Kekangan dlm BD
5. Pandangan thd BD
6. Model Data
a. + ER_M
b. + Semantic Model
c. + Hierarchycal Model
d. + Network Model
e. + RDBM
7. Schema & Subschema
8. Studi Kasus Perancangan BD
9. Pengembangan SBD
elista.akprind.ac.id
User-paswd: …..
elearning.akprind.ac.id
enrolment key: …..
Dpt diakses…
2 Basis Data II
* Pemodelan sistem
* Perancangan BD dg teknik ER_M
* Perancangan BD dg teknik normalisasi
* Integrasi perancangan BD u/ SIM
* Optimalisasi rancangan BD
* Bugs system
* Studi Kasus
* Paket-paket DBMS
* Proyek Akhir (Presentasi Tugas 04)
elista.akprind.ac.id
User-paswd: …..
elearning.akprind.ac.id
enrolment key: …..
Dpt diakses…
3 BASIS DATA
4 basis data = basis + data
5 * Sistem bilangan biner
o 0
o 1
o 10
o 11
o 100
+ basis ????
6 * Sistem bilangan oktal
o 0
o 1
o 2
o 3
o 4
o 5
o 6
o 7
o 10
o 11
o 12
+ basis ????
7 * Sistem bilangan decimal
o 0
o 1
o 2
o 3
o 4
o 5
o 6
o 7
o 8
o 9
o 10
o 11
o 12
+ basis ????
8 * Sistem bilangan hexadecimal
o 0
o 1
o 2
o 3
o 4
o 5
o 6
o 7
o 8
o 9
o A
o B
o C
o D
o E
o F
o 10
o 11
o 12
+ basis ????
9 * basis masa PDIP
* basis masa PKB
* basis tukang ojek
o basis ???
10 * basis = ……….
11 * SPP mahasiswa ISTA akan naik mulai semester ini
* SPP per bulan = 20.000.000
o Data ???
12 * Bambang Tri Hatmojo suami Mayangsari
* Mayangsari istri Bambang Tri Hatmojo
* Bambang Tri Hatmojo + Mayangsari mpy …. anak
* Anaknya bernama …………………
* Tadi pagi Bambang Tri Hatmojo menceraikan istrinya
o Data ???
13 * data = ……….
14 * basis data = database
15 * James Martin (1975)
A database may be defined as a collection of interrelated data stored together without harmful or unnecessary redundancy to serve one or more applications in an optimal fashion; the data are stored so that they are independent of programs with use the data; a common and controlled approach its used in adding new data and in modifying and retrieving existing data within the database
16 Pengertian BD
* sekumpulan interrelated data
* disimpan scr bersama2 pd suatu media
* tanpa mengatap 1 sm lain a/ tdk perlu kerangkapan data (controlled redundancy))
* disimpan dg cara2 ttt ? mudah digunakan a/ ditampilkan
* dpt digunakan o/ 1/lbh program aplikasi scr optimal
* disimpan tanpa tgt dg program yg menggunakan
* disimpan sdmkrp shg pe+, pengambilan & modifikasi dpt dilakukan dg mudah & terkontrol
17 * Database processing
o data oriented & bkn program oriented
o dpt digunakan o/ pemakai yg berbeda2 a/ bbrp prog aplikasi tanpa mengubah BD
o data dlm BD dpt berkembang dg mudah (volume – struktur)
o data yg ada dpt memenuhi kebutuhan sistem2 baru scr mudah
o data dpt digunakan dg cr yg berbeda2
o data redundancy minimal
18 * File processing
o hny dpt digunakan o/ 1 program aplikasi
o berhub dgn persoalan ttt u/ sist yg direncanakan
o perkembangan data hny mgkn tjd pd volume data
o hny dpt digunakan dgn 1 cr ttt saja
o kerangkapan data
19 Hirarkhi Data
Sistem Basis Data
Basis Data
File
Record
Data item
Byte
Bit
Agregat Data
20 * Data Model:
v OBDM
a. + ERM
b. + Semantic
c. + Binary
v RBDM
a. + Hierarchycal
b. + Network
c. + RBDM
v PBDM
a. + UM
b. + FM
21 SISTEM BASIS DATA
22 Pengertian SBD
* sekumpulan susbsistem yg tda
- BD
- para pemakai yg menggunakan BD scr bersama2
- personal2 yg merancang & mengelola BD
- teknik2 u/ merancang & mengelola BD
- sist komputer
23 * Elemen SBD
a. BD
b. Software
o perancangan
o pengelolaan
o dBase III++, Foxbase, Foxpro, Visual Dbase, Visual Foxpro, Delphi, Ms Access, MySQL
o Hardware
o Brainware
+ pemakai
+ spesialis informasi
# perancang
# pengelola
24 * SW
a. OS
b. MS DOS, PC DOS, Windows, Unix, Linux
c. language software
d. DBMS
e. application software
25 * HW
a. I
b. P
c. O
d. Memory
26 * DBMS adalah SW
o U/ pengelolaan basis data
a. + DDL
b. + DML
c. + DCL
- Penyimpanan
- Pengaturan
- Mekanisme pengamanan data
- Pemakaian data scr bersama
- Pemaksaan akurasi data
27 Aplikasi
Basis Data
DBMS
Basis
Data
End-User
Naive-User
Hubungan DBMS & Aplikasi BD
28 Model hubungan DBMS & Aplikasi BD
* DBMS terpisah dg aplikasi
* DBMS menyatu dg aplikasi
29 * DBMS terpisah dg aplikasi
- Aplikasi tidak berinteraksi lgs dg BD, ttp mll DBMS sbg perantara.
- DBMS bisa melakukan aktifitas sendiri yg bisa ditangkap o/ aplikasi
- Contoh DBMS : MS SQL Server, Oracle, CA-OpenIngres, Sybase, Informix, IBM DB2
# Cocok u/ aplikasi single-user / standalone, yg ringan
aplikasi
DBMS
Basisdata
Aplikasi
30 * DBMS menyatu dg aplikasi
Aplikasi BD yg dibuat menyatu dg DBMS pd saat pemakaiannya
Aplikasi BD berada ‘di bawah’ DBMS (sub-ordinate)
DBMS hrs diaktifkan dulu sgl menjalankan aplikasi
Contoh DBMS : dBase III+, FoxBase, FoxPlus, CA-Clipper, MS-Access
Cocok untuk aplikasi multi-user, yg berat
DBMS | Aplikasi
Basis
Data
DBMS | Aplikasi
31Arsitektur Aplikasi BD
* Pertimbangan memilih arsitektur aplikasi BD:
o Keunggulan teknologi
o Faktor biaya
o Sesuai dg kebutuhan pemakai
32 * Jenis arsitektur aplikasi BD:
o stand alone
o centralized
o client-server
33 * Stand alone:
o DBMS+BD+aplikasi ditempatkan pd 1 komp
o Hny dp dipakai o/ 1 pemakai pd saat ttt
34 * Centralized:
o Tda:
+ 1 server
+ se-jml terminal
o 2 macam:
+ Thin client
+ Fat client
Basis data
Application server
Dumb terminal
Dumb terminal
Basis data
File server
workstations
workstations
35 * Client server:
+ U/ mengatasi kelemahan pd sistem centralized
+ Tda:
# Client ? aplikasi basis data
# Server ? DBMS + BD
+ 2 macam :
# Arsitektur 2-tier
# Arsitektur 3-tier
36Basis data
DBMS server
Client
Client
workstation
workstation
workstation
workstation
Arsitektur 3-tier:
37 * Pertimbangan memilih SW u/ membangun aplikasi BD:
a. Kecocokan DBMS & development tools
+ Sw yg dipilih hrs menjamin tersedianya fasilitas yg dp digunakan u/ berinteraksi dg DBMS scr penuh
b. Dukungan development tools thd arsitektur aplikasi BD
+ Tdk semua development tools memberi dukungan yg baik thd arsitektur client-server
c. Independensi development tools & DBMS
+ Idealnya hny ada 1 macam DBMS yg dipilih u/ mengelola BD
+ Perlu kompromi saat memilih development tools yg cocok u/ semua DBMS
d. Kemudahan pengembangan & migrasi aplikasi BD
+ Development tools yg dipilih hrs mendukung pengembangan ke masa depan, ex: web based
+ kemudahan migrasi, ex: dari form-base mjd web based
38 * Pertimbangan kinerja/kecepatan operasi ke BD ditentukan o/:
o DBMS
o Arsitektur HW yg mjd platform
o Jml pemakai yg terlibat
o Volume data yg diolah
o Tingkat kompleksitas operasi BD
o Cara penulisan aplikasi BD
39 * Pertimbangan dl penulisan aplikasi BD:
- Se-dpmgk memanfaatkan indeks primer / sekunder dl stp proses query ke BD
- Menghindari pemakaian fungsi ato perhitungan pd query, terlebih pd kriteria query
- Operasi join pd beberapa tabel dp digunakan u/ efisiensi perintah & banyaknya data yg hrs ditangani
- Pd sistem multi-user dg tk konkurensi tinggi, sesegara mgk melepaskan penguncian tabel di akhir stp query
- Manfaatkan se-bykmgk fungsi yg tlh disediakan DBMS ato development tools dl operasi BD
- Jk ada perintah looping dg penelusuran ke slrh BD pd se-bh tabel, se-dpmgk menempatkan berbagai perintah yg tdk relevan di luar perulangan
40 * Se-dpmgk memanfaatkan indeks primer / sekunder dl stp proses query ke BD:
o Contoh:
+ SELECT…. FROM pegawai WHERE idpegawai = vidpegawai
+ UPDATE pegawai SET …WHERE idpegawai = vidpegawai
+ DELETE FROM pegawai WHERE idpegawai = vidpegawai
41 * Menghindari pemakaian fungsi ato perhitungan pd query, terlebih pd kriteria query
o Contoh:
SELECT ‘01’+LEFT(nomhs,2) AS vthn FROM mahasiswa WHERE …
Diganti menjadi :
SELECT nomhs AS vnim FROM mahasiswa WHERE thn_masuk = ‘01’+left(vnim,2)
Catatan:
Pd arsitektur cilent-server :
# Perintah awal: pencarian data & penerapan fungsi dilakukan di server
# Perintah baru: dibuat fungsi & perhitungan bukan merup bag perintah query, server hny melakukan pencarian data, sdg-kan pengerjaan fungsi dilakukan di client
o Contoh:
SELECT … FROM kuliah WHERE LEFT(kdmtk,3)=’TFD’
Diganti menjadi
SELECT … FROM kuliah WHERE kdmtk LIKE ‘TFD%’
Catatan: * Perintah awal: tdk menggunakan kunci primer
* Perintah baru: menggunakan indeks kunci primer
42 * Operasi join pd beberapa tabel dp digunakan u/ efisiensi perintah & banyaknya data yg hrs ditangani
o Contoh:
o Ada 2 perintah:
# SELECT kdmtk AS vkdmtk, nilai AS vnilai FROM nilai WHERE nomhs=vnomhs
# Select sks AS vsks FROM kuliah WHERE kdmtk=vkdmtk
o Dapat digabungkan mjd:
# SELECT a.nilai AS vnilai, b.sks AS vsks FROM nilai a, kuliah b WHERE a.nomhs=vnomhs AND a.kdmtk=b.kdmtk
43 * Pd sistem multi-user dg tk konkurensi tinggi, sesegara mgk melepaskan penguncian tabel di akhir stp query
+ Proses dilakukan dl 2 tahap
# menyimpan sementara di buffer memory
# menuliskan ke dl disk
# U/ membatalkan proses ada perintah rollback
# Contoh:
INSERT INTO nilai (nomhs, kdmtk) VALUES (vnomhs, vkdmtk) COMMIT
Catatan:
Commit ? u/ merekam ke disk
44 edhy sutanta-teknik informatika-fti-ista yogyakarta
* Manfaatkan se-bykmgk fungsi yg tlh disediakan DBMS ato development tools dl operasi BD
Contoh:
SELECT COUNT (*) AS vjumlah FROM mahasiswa WHERE nomhs=vnomhs
IF vjumlah=0 THEN
ECHO “Tidak ketemu..”
ELSE
SELECT nama AS vnama FROM mahasiswa WHERE nomhs=vnomhs
ENDIF
Akan lebih baik, jika diganti mjd:
SELECT nama AS vnama FROM mahasiswa WHERE nomhs=vnomhs Inquire_sql (jumlah=rowcount)
IF vjumlah=0 THEN
ECHO “Tidak ketemu…”
ELSE
ECHO “Nama : “;&vnama
ENDIF
45 * Jk ada perintah looping dg penelusuran ke slrh BD pd se-bh tabel, se-dpmgk menempatkan berbagai perintah yg tdk relevan di luar perulangan
I=1
Buka tabel X
While (row belum habis) do
Tampilkan pesan “Sedang diproses…”
Total=total+y
Rata=total/i
I=i+1
Ke row berikutnya
Endwhile
Tampilkan total dan rata
I=0
Tampilkan pesan “Sedang diproses…”
Buka tabel X
While (row belum habis) do
Total=total+y
I=i+1
Ke row berikutnya
Endwhile
Rata=total/i
Tampilkan total dan rata
Algoritma di atas dapat diperbaiki mjd:
46 * Pemeliharaan Integritas BD dl Aplikasi BD
o Sbg sarana u/ meyakinkan bhw nilai-2 data dl BD sll benar, konsisten, sll curent
o Dp dilakukan dg cr:
+ Memastikan bhw nilai-2 data adl benar sjk dimasukkan pertama kali
+ Membuat program u/ mengecek keabsahan data pd saat dimasukkan ke komputer
# Penolakan / pembatalan aksi (cancelation)
# Pengisian nilai kosong pd field ttt (nullify)
# Penjalaran perubahan (cascade)
47 o Integritas yg hrs dijaga:
+ Keunikan data:
# Definisi struktur tabel dg membuat indeks primer unik
# Pengkodean dl aplikasi BD pd saat pemasukan/penambahan data
? lebih user-friendly
# Kedua cara tsb diterapkan bersamaan
+ Domain data:
# Penetapan tipe data pd stp field dl tabel
# Pengisian validation rule dari DBMS
+ Referensial:
# Kesalahan referensial dp menimbulkan kesalahan baru
# Pengecekan pd INSERT, UPDATE, DELETE
+ Aturan nyata:
# Sangat kasuistis
# Tidak berlaku umum
# Pada kasus yg berbeda, aturannya akan berbeda pula
Catatan:
Untuk mengakomodasi perbedaan business role , dp dilakukan dg menyiapkan tabel khusus yg menampung nilai-2 konstanta yg dibutuhkan aplikasi pd saat dijalankan yg mudah diubah tanpa mengakibatkan perubahan aplikasi ato struktur BD
48 ADMINISTRASI & MANAJEMEN BD
49 * Administrasi
o Dokumentasi
+ Model basis data
+ Menentukan proses yg diperlukan u/ pembentukan & perawatan file, & pemanggilan informasi
+ Dokumen:
# Schema
# Kerelasian antara relasi dl BD
# Definisi variabel yg dipakai
* Manajemen
o Manajemen aktivitas BD
o Manajemen struktur BD
o Manajemen DBMS
50 o Manajemen aktivitas BD
o Apabila slm penerapan ada perubahan BD, mk perubahan & ujicoba dilakukan pd BD cadangan
o Manajemen aktifitas data merupakan tugas DBA
51 * Tugas DBA lainnya:
+ Menentukan standard, panduan, pengawasan prosedur, & membuat dokumentasi u/ memastikan tdk tjd tumpang tindih dl pengaturan data
+ Mengatur kepemilikan data, hak akses, & hak merubah data – terutama jk bbrp pemakai mengakses data yg sama
Who can do what to which data
+ Mengembangkan teknik & prosedur recovery
? akibat machine failure, media failure, communications failure, data user failure
+ Menyampaikan informasi ttg prosedur operasi & melakukan pelatihan pd
user
+ Menerapkan kebijakan terkait dg aktifitas data, jk ada user yg melanggar, mk DBA berhak memberi hukuman
+ Ber-tgjwb u/ menyusun & merawat slrh dokumen sistem:
* Aktifitas data
* Database standards
* Data ownership
* Retrieval & access rights
* Recovery procedures
* Policy enforcement
+ Contoh Standard yg dimaksud:
# Stp field hrs mpy nama & format baku
# Stp record hrs mpy standard nama, format, metode akses
+ Stp file BD hrs mpy standard nama & relasi dg file lain
52 Hal-hal yg perlu dipantau dalam aktivitas BD :
o Statistik penggunaan HW
+ Merup % waktu aktifitas yg diperlukan u/ mengakses prosesor, channel, controller, disk
+ Digunakan u/ menentukan tk kesibukan kerja sistem
+ Biasanya dilakukan o/ OS
o Statistik penggunaan file
+ Merup rasio penggunaan akses ke file ? fetch, get next, update
+ Dp disimpan dl log file
o Statistik penggunaan record
+ Frek pengaksesan record u/ dibaca ato di-update dp menjadi bahan ertimbangan dl optimalisasi & pembuatan backup BD
+ Tanggal & waktu akses dapat digunakan u/ menjaga integritas BD
o Statistik penggunaan atribut
+ Frek penggunaan atribut, baik pd proses update, ato sbg kunci pd pencarian
+ Dp dilihat dari schema / kerelasian antar tabel
53 * Manajemen struktur BD
o Tgjwb DBA:
+ Merancang skema
# DBA biasanya tdk terlibat dl peranc BD mulai awal
# OKI, stp perubahan struktur BD yg berpengaruh pd schema / kerelasian hrs dicatat
+ Mengawasi terjadinya redundancy
# Redundancy dp tjd pd performance & data integrity
# DBA hrs menetapkan prosedur ttt u/ melaks rekonsiliasi data u/ menghindari redundancy
+ Melakukan pengawasan konfigurasi permintaan atas perubahan struktur basisdata
# Menyusun laporan scr berkala mengenai pemakai yg aktif, file & data yg dipakai, metode akses yg digunakan
# Catatan tjd-nya kesalahan ? U/ menentukan apk perlu perubahan struktur BD u/ pe+ performance
+ Menjadwalkan & mengadakan pertemuan apabila tjd perubahan struktur BD
+ Menerapkan perubahan shema
# Perubahan hrs dilakukan pd BD ujicoba, agar user dp mengujinya sbl diterapkan pd
+ Merawat dokumentasi pemakai
# U/ mempero/ informasi ttg perubahan yg tlh dilakukan, bgmn, kapan
54 * Manajemen DBMS
o Tugas DBA:
+ Menyusun laporan ttg kinerja BD
# Dp diuji dg: menjalankan contoh program & mencatat waktu proses pd kegiatan nyata
# Pengujian dp dilaks mll rutin program ato mll fasilitas dl DBMS
+ Melakukan investigasi atas keluhan pemakai
+ Melakukan analisa atas laporan & keluhan
+ Melakukan “tuning” atau “optimizing”
# Ex:
* buffers size
* size of a transaction
* numbers of shared file
+ Jk mungkin “tuning” pd SW komunikasi & OS dg BD
? Ex:
Mengatur agar program tersimpan resident di memori
Mengatur alokasi SD HW & saluran komunikasi
+ Mengevaluasi & menerapkan fasilitas baru
55 DBA
56 Vice President
Data Processing
Manager
Systems
Manager
Operations
Manager
Programming
DBA
57 1. Menyusun & menganalisa kinerja sistem
2. Melakukan investigasi atas keluhan pemakai
Performance monitor
1. Memahami DBMS & merawat konfigurasi pengawasan
2. Melakukan pemantauan & “tuning” pd DBMS
3. Menguji fasilitas baru pd DBMS
DBMS configuration manager
1. Mewakili bagian operasional yg berkaitan dg komputer
2. Menetapkan ke-bth BD masa depan yg diperlukan dl keg operasional
3. Memantau kinerja BD
4. Melakukan “tuning” OS
Operations representatives
Mewakili user dl menentukan ke-bth BD & menyampaikannya pd DBA
User representatives
1. Menciptakan & merawat dokumentasi BD & standard
2. Menyebarluaskan informasi ttg standard
3. Mengadakan pelatihan
Documentation & standards manager
1. Mengatur staf u/ memastikan pengembangan BD berjalan lancar
2. Merencanakan ke-bth BD di masa mendatang