Aplikasi Lingkungan 1 Aplikasi database: adalah program aplikasi yang digunakan untuk melaksanakan sederet kegiatan yang ditentukan oleh pemakai. Beberapa operasi dasar yang dilakukan oleh aplikasi database: Menambah data Membaca data Mengubah data Menghapus data 2 Pendekatan Ranah Aplikasi Pendekatan database menekankan pada integrasi dan berbagi data dalam sebuah organisasi Memerlukan kepedulian dari pihak eksekutif atas Fakta: Informasi dapat menjadi senjata (keunggulan komptetitif) Personal computer databases Workgroup databases Department databases Enterprise databases 3 4 Personal Computer s Workgroup s Untuk mendukung pemakai tunggal yang menggunakan sebuah PC Digunakan untuk mendukung workgroup Workgroup : Sekelompok tim kecil, < 25 orang,, yang berkolaborasi dalam proyek atau aplikasi yang sama server Workgroup database 5 6 1
Department s Department database : database yang dirancang untuk mendukung berbagai fungsi dan aktivitas dalam suatu departemen Enterprise s Enterprise database: database yang memiliki lingkup dalam sebuah perusahaan (mencakup beberapa departemen) Departemen Akunting Lingkup departemen Department database Departemen SDM Enterprise database server 7 Departemen Pemasaran server 8 Komponen Lingkungan Arsitektur Client/ CASE Tools User Interface Application Programs Menggunakan untuk mendukung jaringan PC Masing-masing PC memiliki penyimpan tersendiri Berbagi hardware atau software Client Jaringan Printer Basis Data Repository DBMS Databsse Client 9 10 Arsitektur File Model pertama Client/ Semua pemrosesan dilakukan pada sisi workstation Satu atau beberapa server terhubungkan dalam jaringan bertindak sebagai file server File server bertindak sebagai pengelola file dan memungkinkan klien mengakses file tersebut Arsitektur File (Lanjutan( Lanjutan ) Setiap klien dilengkapi DBMS tersendiri DBMS berinteraksi dengan data yang tersimpan dalam bentuk file pada server Aktivitas pada klien: Meminta data Meminta penguncian data Tanggapan dari klien Memberikan data Mengunci data dan memberikan statusnya Klien Klien Klien Permintaan data Permintaan penguncian data Permintaan data Status penguncian 11 File 12 2
Batasan File Beban jaringan tinggi karena tabel yang diminta akan diserahkan oleh file server ke klien melalui jaringan Setiap klien harus memasang DBMS sehingga mengurangi memori Klien harus mempunyai kemampuan proses tinggi untuk mendapatkan response time yang bagus Salinan DBMS pada setiap klien harus menjaga integritas databasse yang dipakai secara bersama-sama tanggung jawab diserahkan kepada programmer Arsitektur Klien bertanggung jawab dalam mengelola antar muka pemakai (mencakup logika penyajian data, logika pemrosesan data, logika aturan bisnis) server bertanggung jawab pada penyimpana, pengaksesan, dan pemrosesan database 13 14 Arsitektur (Lanjutan ) serverlah yang dituntut memiliki kemampuan pemrosesan yang tinggi Beban jaringan menjadi berkurang Otentikasi pemakai, pemeriksaan integrasi, pemeliharaan data dictionary dilakukan pada database server server merupakan implementasi dari two-tier tier architecture Klien Klien Klien Permintaan data Data yang diminta saja Application Architectures Two-tier architecture: Contoh - program klien menggunakan ODBC/JDBC untuk berkomunikasi dengan database Three-tier architecture: Contoh aplikasi berbasis Web 15 16 Contoh Two-Tier Tier Architecture Contoh Three-tier Architecture Program Visual BASIC Web (Apache, IIS, Xitami, dsb) Middleware (ASP, JSP, PHP, dsb) (Access, Oracle, dsb) MyODBC Internet Permintaan Tanggapan MySQL Browser (Internet Explorer, Netscape,dsb) Klien 17 18 3
Three-Tier Tier Architecture Melibatkan lapisan server yang lain selain lapisan database server Lapisan Klien Lapisan Bisnis Lapisan Application 19 Beberapa Keuntungan Arsitektur Three-Tier Tier Keluwesan teknologi Mudah untuk mengubah DBMS engine Memungkinkan pula middle tier ke platform yang berbeda Biaya jangka panjang yang rendah Perubahan-perubahan cukup dilakukan pada middle tier daripada pada aplikasi keseluruhan Keunggulan kompetitif Kekampuan untuk bereaksi thd perubahan bisnis dengan cepat, dengan cara mengubah modul kode daripada mengubah keseluruhan aplikasi 20 Data Model Sekumpulan konsep-konsep untuk menerangkan data, hubungan-hubungan antara data dan batasan-batasan data yang terintegrasi di dalam suatu organisasi Dibedakan menjadi : High level/conceptual data model Menggambarkan kumpulan kebutuhan atribut dari user Menyediakan konsep yang sesuai dengan persepsi pemakai yang memandang datanya. Low Level/Phisical data model Menggambarkan bagaimana data disimpan dlm komputer Menggambarkan data pada tingkat internal; penyimpanan data secara detailnya dengan format record penyusunan record dan jalur akses. 21 Model Data Berbasis Objek Model data berbasis objek menggunakan konsep entitas, atribut dan hubungan antar entitas. Model Data Berbasis Record Pada model data berbasis record, database terdiri dari sejumlah record dalam bentuk yang tetap yang dapat dibedakan dari bentuknya. Ada 3 macam jenis model data berbasis record, yaitu : - model data relasional (relational) - model data hierarkhi (hierarchical) - model data jaringan (network) 22 Instance/database state Yaitu deskripsi dari suatu database Penggambaran disebut diagram Contoh Student Nama Student number class major Yaitu data dalam database 23 24 4
Karakteristik pendekatan database Insulation of program and data (program data and program operation independent) Support of multiple user view Use of catalog to store the database deskription () Independensi Program-Data Struktur data pada database terpisah dengan program Perubahan struktur data tidak membuat program harus dimodifikasi Program Struktur Data Program Kode Kode 25 Paradigma lama Pendekatan database 26 Architecture database system LINGKUNGAN DATABASE External Level (Individual User Views) Conceptual Level (Community User Views) Internal Level (Storage Views) 27 Arsitektur Tingkat Eksternal (External Level) Menerangkan view (tampilan( tampilan) ) basis data dari sekelompok pemakai. Pada tingkatan ini digambarkan sebagian basis data yang relevan dengan user. Tingkat Konseptual (Conseptual Level) Menerangkan secara menyeluruh tampilan komunitas dari basis data. Pada tingkatan ini digambarkan data apa saja yang disimpan dalam basis data dan kardinalitas relasi dari data tersebut. Tingkat Internal (Internal Level) Menerangkan struktur penyimpanan basis data secara fisik pada system komputer dan organisasi file yang digunakan dalam menyimpan dan mengakses basis data. 28 DATA INDEPENDENCE Kapasitas untuk merubah pada satu level sistem basis data tanpa harus merubah pada level lainnya. 1. Physical Data Independence Perubahan pada internal dimana tidak mempengaruhi kema konseptual dan eksternal. 2. Logical Data Independence Perubahan pada konseptual dimana tidak mempengaruhi eksternal dan aplikasi program. MAPPING (TRANSFORMASI) Proses pendefinisian informasi dari satu level ke level lainnya. Conceptual/Internal Mapping Pendefinisian hubungan antara view konseptual dengan basis data di level internal (Bagaimana( record- record/field-field didalam level konseptual didefinisikan dilevel internal) External/Conceptual Mapping Pendefinisian hubungan antara view konseptual dengan view eksternal 29 30 5
DBMS ( Management Systems) DBMS adalah perangkat lunak yang menangani semua pengaksesan database. Mempunyai fasilitas membuat, mangakses, memanipulasi dan memelihara basis data. Istilah Dalam DBMS 1. Data Definition Language (DDL) 2. Data Manipulation Language (DML) - Procedural DML - Non Procedural DDL (Data( Definition Language) Perintah-perintah yang biasa dipakai DBA untuk mendefinisikan ke DBMS DDL juga dapat dipakai untuk membuat sub (pandangan bagi pengguna terhadap suatu database). Skema NAMA ALAMAT BAGIAN GAJI Sub NAMA BAGIAN 31 32 DDL (Data( Definition Language) Contoh: create table account ( account-number number char(10), balance integer) DDL compiler membuat perintah seperti di atas disimpan dalam repository 33 DML (Data( Manipulaton Language) Perintah-perintah yang digunakan untuk mengubah, memanipulasi, dan mengambil data pada database. DML dapat dibagi menjadi 2 kategori: Prosedural (menuntut pengguna menentukan data apa saja yang diperlukan dan bagaimana cara mendapatkannya) Non-prosedural (menuntut pengguna menentukan data apa saja yang diperlukan, tetapi tidak perlu menyebutkan cara mendapatkannya secara detail) 34 FUNGSI DBMS 1. Data Definition DBMS harus dapat mengolah pendefinisian data 2. Data Manipulation DBMS harus dapat menangani permintaan-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 kesalahan sistem, kerusakan disk, dsb. - DBMS harus dapat mengontrol pengaksesan data yang konkuren yaitu bila satu data diakses secara bersama-sama oleh lebih dari satu pemakai pada saat yang bersamaan.. Lanjutan fungsi dbms. 5. Data Dictionary DBMS harus menyediakan data dictionary 6. Performance DBMS harus menangani unjuk kerja dari semua fungsi seefisien mungkin Komponen DBMS 1. Query Processsor 2. Manager 3. File Manager 4. DML Preprocessor 5. DDL Compiler 6. Dictionary Manager 35 36 6
IBM Compatible Workstation1 request for data request for data Workstation2 file server Client 2 files returned selected data returned Workstation3 Arsitektur DBMS Multi User Teleprocessing Arsitektur tradisional untuk sistem multi user adalah teleprocessing, dimana satu komputer dengan sebuah CPU dan sejumlah terminal seperti pada gambar di bawah ini. File- Proses didistribusikan ke dalam jaringan, sejenis (Local Area Network). File server mengendalikan file yang diperlukan oleh aplikasi dan DBMS. Meskipun aplikasi dan DBMS dijalankan pada masingmasing workstation, tetapi tetap meminta file dari file server jika diperlukan (perhatikan gambar di bawah ini). 37 38 Kerugian arsitektur file-server adalah - Terdapat lalulintas jaringan yang besar - Masing-masing workstation membutuhkan copy DBMS - Kontrol terhadap concurrency, recovery dan integrity menjadi lebih kompleks karena sejumlah DBMS mengakses file secara bersamaan Client Client-server menunjukkan cara komponen software berinteraksi dalam bentuk sistem. client 1 Client 3 server (with DBMS) 39 40 DATA DICTIONARY Data dictionary adalah tempat penyimpanan informasi yang menggambarkan data dalam database. Data dictionary biasa disebut juga dengan metadata atau data mengenai data. Berisi tentang : nama-nama user yang mempunyai wewenang untuk menggunakan DBMS nama-nama item data yang ada dalam database jenis dan ukuran item data batasan untuk masing-masing item data 41 7