590 likes | 839 Views
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
E N D
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: …..
Sistem bilangan biner • 0 • 1 • 10 • 11 • 100 • basis ????
Sistem bilangan oktal • 0 • 1 • 2 • 3 • 4 • 5 • 6 • 7 • 10 • 11 • 12 • basis ????
Sistem bilangan decimal • 0 • 1 • 2 • 3 • 4 • 5 • 6 • 7 • 8 • 9 • 10 • 11 • 12 • basis ????
Sistem bilangan hexadecimal • 0 • 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 ???
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 ???
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& bknprogram oriented • dpt digunakan o/ pemakai yg berbeda2 a/ bbrp prog aplikasi tanpa mengubah BD • data dlmBD 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
Agregat Data Sistem Basis Data Basis Data File Record Data item Byte Bit Hirarkhi Data
Data Model: • OBDM • ERM • Semantic • Binary • RBDM • Hierarchycal • Network • RBDM • PBDM • UM • FM
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 • perancangan • pengelolaan • dBase III++, Foxbase, Foxpro, Visual Dbase, Visual Foxpro, Delphi, Ms Access, MySQL • Hardware • Brainware • pemakai • spesialis informasi • perancang • pengelola
SW • OS • 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
End-User Aplikasi Basis Data DBMS Naive-User Basis Data Hubungan DBMS & Aplikasi BD
Model hubungan DBMS & Aplikasi BD • DBMS terpisah dg aplikasi • DBMS menyatu dg aplikasi
Aplikasi • DBMS • Basisdata 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
DBMS | Aplikasi Basis Data DBMS | Aplikasi • 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
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
Basis data Application server Dumb terminal Dumb terminal Basis data File server workstations workstations • Centralized: • Tda: • 1 server • se-jml terminal • 2 macam: • Thin client • Fat client
Client server: • U/ mengatasi kelemahan pd sistem centralized • Tda: • Client aplikasi basis data • Server DBMS + BD • 2 macam : • Arsitektur 2-tier • Arsitektur 3-tier
Basis data DBMS server Client Client workstation workstation workstation workstation Arsitektur 3-tier:
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 atodevelopment 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 • 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
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 atodevelopment 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
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: • Jk ada perintah looping dg penelusuran ke slrh BD pd se-bh tabel, se-dpmgk menempatkan berbagai perintah yg tdk relevan di luar perulangan
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 • 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
Manajemen aktivitas BD • Apabila slm penerapan ada perubahan BD, mk perubahan & ujicoba dilakukan pd BD cadangan • Manajemen aktifitas data merupakan tugas DBA