basis data i

58
1 edhy sutanta-teknik informatika-fti-ista yogyakarta Basis Data I Pendahuluan Pengertian BD & SBD Tujuan & Keuntungan BD Kekangan dlm BD Pandangan thd BD Model Data ER_M Semantic Model Hierarchycal Model Network Model RDBM Schema & Subschema Studi Kasus Perancangan BD Pengembangan SBD elista.akprind.ac.id User-paswd: ….. elearning.akprind.ac.id enrolment key: ….. Dpt diakses…

Upload: beata

Post on 12-Jan-2016

48 views

Category:

Documents


0 download

DESCRIPTION

Basis Data I. Pendahuluan Pengertian BD & SBD Tujuan & Keuntungan BD Kekangan dlm BD Pandangan thd BD Model Data ER_M Semantic Model Hierarchycal Model Network Model RDBM Schema & Subschema Studi Kasus Perancangan BD Pengembangan SBD. Dpt diakses…. elearning.akprind.ac.id - PowerPoint PPT Presentation

TRANSCRIPT

1edhy sutanta-teknik informatika-fti-ista yogyakarta

Basis Data I

Pendahuluan Pengertian BD & SBD Tujuan & Keuntungan BD Kekangan dlm BD Pandangan thd BD Model Data

ER_M Semantic Model Hierarchycal Model Network Model RDBM

Schema & Subschema Studi Kasus Perancangan BD Pengembangan SBD

elista.akprind.ac.idUser-paswd: …..

elearning.akprind.ac.idenrolment key: …..

Dpt diakses…

2edhy sutanta-teknik informatika-fti-ista yogyakarta

Basis Data II

1. Pemodelan sistem2. Perancangan BD dg teknik ER_M 3. Perancangan BD dg teknik

normalisasi4. Integrasi perancangan BD u/ SIM5. Optimalisasi rancangan BD6. Bugs system7. Studi Kasus8. Paket-paket DBMS9. Proyek Akhir (Presentasi Tugas 04)

elista.akprind.ac.idUser-paswd: …..

elearning.akprind.ac.idenrolment key: …..

Dpt diakses…

3edhy sutanta-teknik informatika-fti-ista yogyakarta

BASIS DATABASIS DATA

4edhy sutanta-teknik informatika-fti-ista yogyakarta

basis data = basis + data

5edhy sutanta-teknik informatika-fti-ista yogyakarta

Sistem bilangan biner 0 1 10 11 100

basis ????

6edhy sutanta-teknik informatika-fti-ista yogyakarta

Sistem bilangan oktal 0 1 2 3 4 5 6 7 10 11 12

basis ????

7edhy sutanta-teknik informatika-fti-ista yogyakarta

Sistem bilangan decimal 0 1 2 3 4 5 6 7 8 9 10 11 12

basis ????

8edhy sutanta-teknik informatika-fti-ista yogyakarta

Sistem bilangan hexadecimal 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 11 12

basis ????

9edhy sutanta-teknik informatika-fti-ista yogyakarta

basis masa PDIP basis masa PKB basis tukang ojek

basis ???

10edhy sutanta-teknik informatika-fti-ista yogyakarta

basis = ..........

11edhy sutanta-teknik informatika-fti-ista yogyakarta

SPP mahasiswa ISTA akan naik mulai semester ini SPP per bulan = 20.000.000

Data ???

12edhy sutanta-teknik informatika-fti-ista yogyakarta

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

Data ???

13edhy sutanta-teknik informatika-fti-ista yogyakarta

data = ……….

14edhy sutanta-teknik informatika-fti-ista yogyakarta

basis data = database

15edhy sutanta-teknik informatika-fti-ista yogyakarta

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

Pengertian BD

16edhy sutanta-teknik informatika-fti-ista yogyakarta

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

17edhy sutanta-teknik informatika-fti-ista yogyakarta

Database processing data oriented & bkn program oriented dpt digunakan o/ pemakai yg berbeda2

a/ bbrp prog aplikasi tanpa mengubah BD

data dlm BD dpt berkembang dg mudah (volume – struktur)

data yg ada dpt memenuhi kebutuhan sistem2 baru scr mudah

data dpt digunakan dg cr yg berbeda2 data redundancy minimal

18edhy sutanta-teknik informatika-fti-ista yogyakarta

File processing hny dpt digunakan o/ 1 program

aplikasi berhub dgn persoalan ttt u/ sist yg

direncanakan perkembangan data hny mgkn tjd pd

volume data hny dpt digunakan dgn 1 cr ttt saja kerangkapan data

19edhy sutanta-teknik informatika-fti-ista yogyakarta

Hirarkhi DataSistem Basis Data

Basis Data

File

Record

Data item

Byte

Bit

Agregat Data

20edhy sutanta-teknik informatika-fti-ista yogyakarta

Data Model: OBDM

ERM Semantic Binary

RBDM Hierarchycal Network RBDM

PBDM UM FM

21edhy sutanta-teknik informatika-fti-ista yogyakarta

SISTEM BASIS DATASISTEM BASIS DATA

22edhy sutanta-teknik informatika-fti-ista yogyakarta

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

23edhy sutanta-teknik informatika-fti-ista yogyakarta

Elemen SBD BD Software

perancangan pengelolaan dBase III++, Foxbase, Foxpro, Visual Dbase, Visual

Foxpro, Delphi, Ms Access, MySQL Hardware Brainware

pemakai spesialis informasi

perancang pengelola

24edhy sutanta-teknik informatika-fti-ista yogyakarta

SW OS

MS DOS, PC DOS, Windows, Unix, Linux language software DBMS application software

25edhy sutanta-teknik informatika-fti-ista yogyakarta

HW I P O Memory

26edhy sutanta-teknik informatika-fti-ista yogyakarta

DBMS adalah SW U/ pengelolaan basis data

DDL DML DCL

Penyimpanan Pengaturan Mekanisme pengamanan data Pemakaian data scr bersama Pemaksaan akurasi data

27edhy sutanta-teknik informatika-fti-ista yogyakarta

AplikasiBasis Data

DBMS

BasisData

End-User

Naive-User

Hubungan DBMS & Aplikasi BD

28edhy sutanta-teknik informatika-fti-ista yogyakarta

Model hubungan DBMS & Aplikasi BD

DBMS terpisah dg aplikasi DBMS menyatu dg aplikasi

29edhy sutanta-teknik informatika-fti-ista yogyakarta

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

AplikasiDBMS

Basisdata

Aplikasi

30edhy sutanta-teknik informatika-fti-ista yogyakarta

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 beratDBMS | Aplikasi

BasisData

DBMS | Aplikasi

31edhy sutanta-teknik informatika-fti-ista yogyakarta

Arsitektur Aplikasi BD

Pertimbangan memilih arsitektur aplikasi BD: Keunggulan teknologi Faktor biaya Sesuai dg kebutuhan pemakai

32edhy sutanta-teknik informatika-fti-ista yogyakarta

Jenis arsitektur aplikasi BD: stand alone centralized client-server

33edhy sutanta-teknik informatika-fti-ista yogyakarta

Stand alone: DBMS+BD+aplikasi ditempatkan pd 1 komp Hny dp dipakai o/ 1 pemakai pd saat ttt

34edhy sutanta-teknik informatika-fti-ista yogyakarta

Centralized: Tda:

1 server se-jml terminal

2 macam: Thin client Fat client

Basis data

Application server

Dumb terminal Dumb terminal

Basis data

File server

workstations workstations

35edhy sutanta-teknik informatika-fti-ista yogyakarta

Client server: U/ mengatasi kelemahan pd sistem centralized Tda:

Client aplikasi basis data Server DBMS + BD

2 macam : Arsitektur 2-tier Arsitektur 3-tier

36edhy sutanta-teknik informatika-fti-ista yogyakarta

Basis data

DBMS server

Client Client

workstation workstation workstation workstation

Arsitektur 3-tier:

37edhy sutanta-teknik informatika-fti-ista yogyakarta

Pertimbangan memilih SW u/ membangun aplikasi BD:

Kecocokan DBMS & development tools Sw yg dipilih hrs menjamin tersedianya fasilitas yg dp digunakan u/

berinteraksi dg DBMS scr penuh Dukungan development tools thd arsitektur aplikasi BD

Tdk semua development tools memberi dukungan yg baik thd arsitektur client-server

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 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

38edhy sutanta-teknik informatika-fti-ista yogyakarta

Pertimbangan kinerja/kecepatan operasi ke BD ditentukan o/:

DBMS Arsitektur HW yg mjd platform Jml pemakai yg terlibat Volume data yg diolah Tingkat kompleksitas operasi BD Cara penulisan aplikasi BD

39edhy sutanta-teknik informatika-fti-ista yogyakarta

Pertimbangan dl penulisan aplikasi BD:1. Se-dpmgk memanfaatkan indeks primer / sekunder dl

stp proses query ke BD2. Menghindari pemakaian fungsi ato perhitungan pd

query, terlebih pd kriteria query3. Operasi join pd beberapa tabel dp digunakan u/

efisiensi perintah & banyaknya data yg hrs ditangani4. Pd sistem multi-user dg tk konkurensi tinggi, sesegara

mgk melepaskan penguncian tabel di akhir stp query5. Manfaatkan se-bykmgk fungsi yg tlh disediakan DBMS

ato development tools dl operasi BD6. Jk ada perintah looping dg penelusuran ke slrh BD pd

se-bh tabel, se-dpmgk menempatkan berbagai perintah yg tdk relevan di luar perulangan

40edhy sutanta-teknik informatika-fti-ista yogyakarta

Se-dpmgk memanfaatkan indeks primer / sekunder dl stp proses query ke BD:

Contoh: SELECT…. FROM pegawai WHERE idpegawai =

vidpegawai UPDATE pegawai SET …WHERE idpegawai = vidpegawai DELETE FROM pegawai WHERE idpegawai = vidpegawai

41edhy sutanta-teknik informatika-fti-ista yogyakarta

Menghindari pemakaian fungsi ato perhitungan pd query, terlebih pd kriteria query

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

Contoh: SELECT … FROM kuliah WHERE LEFT(kdmtk,3)=’TFD’

Diganti menjadiSELECT … FROM kuliah WHERE kdmtk LIKE ‘TFD%’

Catatan: Perintah awal: tdk menggunakan kunci primer Perintah baru: menggunakan indeks kunci primer

42edhy sutanta-teknik informatika-fti-ista yogyakarta

Operasi join pd beberapa tabel dp digunakan u/ efisiensi perintah & banyaknya data yg hrs ditangani

Contoh: Ada 2 perintah:

SELECT kdmtk AS vkdmtk, nilai AS vnilai FROM nilai WHERE nomhs=vnomhs

Select sks AS vsks FROM kuliah WHERE kdmtk=vkdmtk

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

43edhy sutanta-teknik informatika-fti-ista yogyakarta

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

44edhy 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=vnomhsENDIF

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 : “;&vnamaENDIF

45edhy sutanta-teknik informatika-fti-ista yogyakarta

Jk ada perintah looping dg penelusuran ke slrh BD pd se-bh tabel, se-dpmgk menempatkan berbagai perintah yg tdk relevan di luar perulanganI=1

Buka tabel XWhile (row belum habis) do

Tampilkan pesan “Sedang diproses…”Total=total+yRata=total/iI=i+1Ke row berikutnya

EndwhileTampilkan total dan rata I=0

Tampilkan pesan “Sedang diproses…”Buka tabel XWhile (row belum habis) do

Total=total+yI=i+1Ke row berikutnya

EndwhileRata=total/iTampilkan total dan rata

Algoritma di atas dapat diperbaiki mjd:

46edhy sutanta-teknik informatika-fti-ista yogyakarta

Pemeliharaan Integritas BD dl Aplikasi BD BD Sbg sarana u/ meyakinkan bhw nilai-2 data dl BD sll

benar, konsisten, sll curent 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)

47edhy sutanta-teknik informatika-fti-ista yogyakarta

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 pulaCatatan: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

48edhy sutanta-teknik informatika-fti-ista yogyakarta

ADMINISTRASI & MANAJEMEN BDADMINISTRASI & MANAJEMEN BD

49edhy sutanta-teknik informatika-fti-ista yogyakarta

Administrasi 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 Manajemen aktivitas BD Manajemen struktur BD Manajemen DBMS

50edhy sutanta-teknik informatika-fti-ista yogyakarta

Manajemen aktivitas BD Apabila slm penerapan ada perubahan BD, mk perubahan &

ujicoba dilakukan pd BD cadangan Manajemen aktifitas data merupakan tugas DBA

51edhy sutanta-teknik informatika-fti-ista yogyakarta

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

52edhy sutanta-teknik informatika-fti-ista yogyakarta

Hal-2 yg perlu dipantau dalam aktivitas BD : 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

Statistik penggunaan file Merup rasio penggunaan akses ke file fetch, get next, update Dp disimpan dl log file

Statistik penggunaan record Frek pengaksesan record u/ dibaca ato di-update dp menjadi

bahan pertimbangan dl optimalisasi & pembuatan backup BD Tanggal & waktu akses dapat digunakan u/ menjaga integritas

BD Statistik penggunaan atribut

Frek penggunaan atribut, baik pd proses update, ato sbg kunci pd pencarian

Dp dilihat dari schema / kerelasian antar tabel

53edhy sutanta-teknik informatika-fti-ista yogyakarta

Manajemen struktur BD 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

54edhy sutanta-teknik informatika-fti-ista yogyakarta

Manajemen DBMS 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

55edhy sutanta-teknik informatika-fti-ista yogyakarta

DBADBA

56edhy sutanta-teknik informatika-fti-ista yogyakarta

Vice PresidentData Processing

ManagerSystems

ManagerOperations

ManagerProgramming

DBA

57edhy sutanta-teknik informatika-fti-ista yogyakarta

Personil Tugas

DBA 1. Mengatur staf u/ memastikan pengembangan BD berjalan lancar2. Merencanakan ke-bth BD di masa mendatang

Documentation & standards manager

1. Menciptakan & merawat dokumentasi BD & standard2. Menyebarluaskan informasi ttg standard3. Mengadakan pelatihan

User representatives

Mewakili user dl menentukan ke-bth BD & menyampaikannya pd DBA

Operations representatives

1. Mewakili bagian operasional yg berkaitan dg komputer2. Menetapkan ke-bth BD masa depan yg diperlukan dl keg operasional3. Memantau kinerja BD4. Melakukan “tuning” OS

DBMS configuration manager

1. Memahami DBMS & merawat konfigurasi pengawasan2. Melakukan pemantauan & “tuning” pd DBMS3. Menguji fasilitas baru pd DBMS

Performance monitor

1. Menyusun & menganalisa kinerja sistem2. Melakukan investigasi atas keluhan pemakai

58edhy sutanta-teknik informatika-fti-ista yogyakarta

?