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 enrolment key: ….. elista.akprind.ac.id User-paswd: …..
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) Dpt diakses… elearning.akprind.ac.id enrolment key: ….. elista.akprind.ac.id User-paswd: …..
Basis Data I 09/04/2017 BASIS DATA
basis data = basis + data
Sistem bilangan biner 1 10 11 100 basis ????
Sistem bilangan oktal 1 2 3 4 5 6 7 10 11 12 basis ????
Sistem bilangan decimal 1 2 3 4 5 6 7 8 9 10 11 12 basis ????
Sistem bilangan hexadecimal 1 2 3 4 5 6 7 8 9 A B C D E F 10 11 12 basis ????
basis masa PDIP basis masa PKB basis tukang ojek basis ???
basis = ..........
SPP mahasiswa ISTA akan naik mulai semester ini SPP per bulan = 20.000.000 Data ???
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 ???
data = ……….
basis data = database
Pengertian BD 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
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
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
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
Hirarkhi Data Sistem Basis Data Basis Data File Record Agregat Data Data item Byte Bit Agregat Data
Data Model: OBDM RBDM PBDM ERM Semantic Binary Hierarchycal Network UM FM
Basis Data I 09/04/2017 SISTEM BASIS DATA
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
Elemen SBD BD Software Hardware Brainware perancangan pengelolaan dBase III++, Foxbase, Foxpro, Visual Dbase, Visual Foxpro, Delphi, Ms Access, MySQL Hardware Brainware pemakai spesialis informasi perancang pengelola
SW OS language software DBMS application software MS DOS, PC DOS, Windows, Unix, Linux language software DBMS application software
HW I P O Memory
DBMS adalah SW U/ pengelolaan basis data DDL DML DCL Penyimpanan Pengaturan Mekanisme pengamanan data Pemakaian data scr bersama Pemaksaan akurasi data
Hubungan DBMS & Aplikasi BD Basis Data DBMS Basis Data End-User Naive-User
Model hubungan DBMS & Aplikasi BD DBMS terpisah dg aplikasi DBMS menyatu dg aplikasi
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
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
Arsitektur Aplikasi BD Pertimbangan memilih arsitektur aplikasi BD: Keunggulan teknologi Faktor biaya Sesuai dg kebutuhan pemakai
Jenis arsitektur aplikasi BD: stand alone centralized client-server
Stand alone: DBMS+BD+aplikasi ditempatkan pd 1 komp Hny dp dipakai o/ 1 pemakai pd saat ttt
Centralized: Tda: 1 server se-jml terminal 2 macam: Thin client Basis data Application server Dumb terminal Centralized: Tda: 1 server se-jml terminal 2 macam: Thin client Fat client Basis data File server workstations
Client server: U/ mengatasi kelemahan pd sistem centralized Tda: Client aplikasi basis data Server DBMS + BD 2 macam : Arsitektur 2-tier Arsitektur 3-tier
Arsitektur 3-tier: Basis data DBMS server Client workstation
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
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
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
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
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 SELECT … FROM kuliah WHERE LEFT(kdmtk,3)=’TFD’ Diganti menjadi SELECT … FROM kuliah WHERE kdmtk LIKE ‘TFD%’ Perintah awal: tdk menggunakan kunci primer Perintah baru: menggunakan indeks kunci primer
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
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
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) ECHO “Tidak ketemu…” ECHO “Nama : “;&vnama
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 Algoritma di atas dapat diperbaiki mjd:
Pemeliharaan Integritas BD dl Aplikasi 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)
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
ADMINISTRASI & MANAJEMEN BD Basis Data I 09/04/2017 ADMINISTRASI & MANAJEMEN BD
Administrasi Dokumentasi Manajemen 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
Manajemen aktivitas BD Apabila slm penerapan ada perubahan BD, mk perubahan & ujicoba dilakukan pd BD cadangan Manajemen aktifitas data merupakan tugas DBA
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
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
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
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
Basis Data I 09/04/2017 DBA
Vice President Data Processing Manager Systems Operations Programming DBA
Personil Tugas DBA 1. Mengatur staf u/ memastikan pengembangan BD berjalan lancar 2. Merencanakan ke-bth BD di masa mendatang Documentation & standards manager 1. Menciptakan & merawat dokumentasi BD & standard 2. Menyebarluaskan informasi ttg standard 3. Mengadakan pelatihan User representatives Mewakili user dl menentukan ke-bth BD & menyampaikannya pd DBA Operations representatives 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 DBMS configuration manager 1. Memahami DBMS & merawat konfigurasi pengawasan 2. Melakukan pemantauan & “tuning” pd DBMS 3. Menguji fasilitas baru pd DBMS Performance monitor 1. Menyusun & menganalisa kinerja sistem 2. Melakukan investigasi atas keluhan pemakai
Basis Data I 09/04/2017 ?