LINGKUNGAN BASIS DATA
Pada bab ini akan diterangkan mengenai tiga arsitektur basis data dari ANSI-SPARC dan keuntungan yang diberikan olehnya. Dilanjutkan dengan bahasa yang digunakan di dalam suatu sistem basis data dengan menjelaskan konsep dari model data juga fungsi dari suatu sistem basis data. DBMS digunakan untuk multi pengguna sehingga pada bab ini akan dijelaskan secara singkat mengenai arsitektur multi pengguna yang dapat digunakan.
2.1. Arsitektur Basis Data
Ada 3 tingkat dalam arsitektur basis data, yang bertujuan membedakan cara pandang pengguna terhadap basis data dan cara pembuatan basis data secara fisik.
Setiap pengguna harus dapat mengakses data yang sama, tetapi dengan data view yang berbeda-beda kebutuhannya. Setiap pengguna dapat merubah data view tersebut dan perubahan ini tidak akan
Tingkat Eksternal
Tingkat Konseptual
Tingkat Internal
Basis data
Pengguna 1 1111111 11 1
Pengguna 2 Pengguna 3
View 1 View 2 View 3
Konseptual Skema
Internal Skema
mempengaruhi pengguna yang lain dengan kata lain terdapat kemandirian data.
Pengguna tidak berhubungan dengan penyimpanan fisik, seperti proses indeks, hashing dan proses fisik lainnya.
DBA dapat merubah struktur basis data tanpa mempengaruhi data view pengguna.
2.1.1. Tingkat Eksternal
Tingkat eksternal merupakan cara pandang pengguna terhadap basis data. Pada tingkat ini menggambarkan bagian basis data yang relevan bagi seorang pengguna tertentu.
Tingkat eksternal terdiri dari sejumlah cara pandang yang berbeda dari sebuah basis data. Masing-masing pengguna merepresentasikan dalam bentuk yang sudah dikenalnya. Cara pandang secara eksternal hanya terbatas pada
entitas, atribut dan relationship (hubungan antar entitas) yang diperlukan saja.
Sebagai tambahan, perbedaan pandangan diwujudkan pada data yang sama misalkan pada saat menuliskan data tanggal di dalam suatu form, ada yang berbentuk tanggal, bulan, tahun tetapi ada yang menuliskan tahun, bulan, tanggal.
2.1.2. Tingkat Konseptual
Tingkat konseptual merupakan kumpulan cara pandang terhadap basis data. Pada tingkat ini menggambarkan data yang disimpan dalam basis data dan hubungan antara datanya.
Hal-hal yang digambarkan dalam tingkat konseptual adalah
- semua entitas beserta atribut dan hubungannya
- batasan data
- informasi semantik tentang data
- keamanan dan integritas informasi
Semua cara pandang pada tingkat eksternal, berupa data yang dibutuhkan oleh pengguna harus sudah tercakup di dalam tingkat konseptual atau dapat diturunkan dari data yang ada. Deskripsi data dari entitas pada tingkat ini hanya terdiri dari jenis data dan besarnya atribut tanpa memperhatikan besarnya penyimpanan dalam ukuran byte.
2.1.3. Tingkat Internal
peralatan storage yang berkaitan erat dengan tempat penyimpanan fisik. Tingkat internal memperhatikan hal-hal berikut ini :
- Alokasi ruang penyimpanan data dan indeks
- Deskripsi record untuk penyimpanan (dengan ukuran penyimpanan
untuk data elemen)
- Penempatan record
- Pemampatan data dan teknik enkripsi
External view 1 External view 2
NPM NAMA KDMK SKS KD_DOSEN KDMK NAMAMK SKS
Tingkat Konseptual
NPM NAMA KDMK NAMAMK SKS KD_DOSEN
Tingkat Internal
Struc JADWAL{ Int SKS;
Char KD_DOSEN[4]; Char NPM[8] ; Char KDMK [9];
Char Nama [15]; Char NAMAMK [25];
Struct JADWAL * next; /* pointer to next MHS record*/ };
index NPM;index KDMK;index KD_DOSEN /* define indexes for Jadwal*/
2.2. Kemandirian Data
Tujuan utama dari 3 tingkat arsitektur adalah memelihara data
independence (kemandirian data) yang berarti perubahan yang terjadi pada
tingkat yang lebih rendah tidak mempengaruhi tingkat yang lebih tinggi.
2.2.1. Kemandirian Data Secara Logik
Kemandirian data secara logik menyatakan bahwa skema konseptual dapat diubah oleh DBA tanpa mengganggu skema eksternal. Dengan kata lain kemandirian data secara logik menunjukkan kekebalan skema eksternal terhadap perubahan skema konseptual.
Perubahan pada skema konseptual, seperti penambahan atau penghapusan entitas baru, atribut atupun relasi, di mungkinkan tanpa harus merubah skema eksternal atau harus membuat lagi program aplikasi yang baru. Oleh karenanya pengguna yang akan melakukan perubahan harus mengetahui terlebih dahulu apa yang boleh dan yang tidak boleh di lakukan perubahan.
2.2.2. Kemandirian Data Secara Fisik
Kemandirian data secara fisik menyatakan bahwa skema internal dapat diubah oleh DBA tanpa mengganggu skema konseptual. Dengan kata lain kemandirian data secara fisik menunjukkan kekebalan skema konseptual terhadap perubahan skema internal.
Perubahan pada skema internal seperti penggunaan organisasi file yang berbeda atau struktur penyimpanan, memodifikasi indeks atau scan disk dan defragment dapat dimungkinkan tanpa harus merubah skema konseptual dan eskternal.
Logical data independence
External skema
Conceptual skema
Internal skema
External skema External skema
External / conceptual mapping
Conceptual / internal mapping
Physical data independence
2.2.3. Prinsip Kemandirian Data
Prinsip kemandirian data adalah salah satu hal yang harus diterapkan di dalam pengelolaan sistem basis data dengan alasan-alasan sbb:
DBA dapat mengubah isi, lokasi, perwujudan dalam organisasi
basis data tanpa mengganggu program-program aplikasi yang sudah ada.
Pabrik/agen peralatan/software pengolahan data dapat
memperkenalkan produk-produk baru tanpa mengganggu program-program aplikasi yang sudah ada.
Untuk memudahkan perkembangan program-program aplikasi
Memberikan fasilitas pengontrolan terpusat oleh DBA demi
keamanan dan integritas data dengan memperhatikan perubahan-perubahan kebutuhan pengguna.
2.3. Bahasa Dalam DBMS
Database Management systems (DBMS) adalah kumpulan program yang
mengkoordinasikan semua kegiatan yang berhubungan dengan basis data. Dengan adanya berbagai tingkatan pandangan dalam suatu basis data maka untuk mengakomodasikan masing-masing pengguna maka dalam piranti lunak manajemen basis data biasanya terdapat bahasa-bahasa tertentu yang
disebut Data Sub language.
Data sub language adalah subset bahasa yang dipakai untuk operasi
manajemen basis data. Dalam penggunaan biasanya dapat ditempelkan (embedded) pada bahasa tuan rumah (Cobol, PL/1, dsb). Secara umum maka setiap pengguna basis data memerlukan bahasa yang dipakai sesuai tugas dan fungsinya.
2.3.1.
Data Definition Language (
DDL)
Data Definition Language (DDL) merupakan bahasa yang digunakan
dalam mendefinisikan struktur atau kerangka dari basis data, di dalamnya termasuk record, elemen data, kunci elemen, dan relasinya.
Dengan penggunaan dari bahasa inilah pengguna dapat membuat sebuah tabel baru, membuat indeks, mengubah tabel dan sebagainya. Hasil kompilasi dari perintah DDL adalah kumpulan tabel yang sumpan dalam file khusus yang disebut dengan sistem katalog (Kamus data). Sistem katalog ini
mengintegrasikan data dari data atau meta data yang menjelaskan data yang
2.3.2.
Data Manipulation Language
(DML)
Data Manipulation Language (DML) merupakan bahasa yang digunakan
untuk melakukan operasi manipulasi data di dalam suatu sistem basis data, fasilitas ini diperlukan untuk memasukkan, mengambil, mengubah data.
Operasi manipulasi data yang dilakukan seperti:
Pemasukan data baru ke dalam suatu basis data
Perubahan pada data yang sudah disimpan di dalam basis data
Pengambilan data informasi yang diinginkan. DML terprosedur ini yang akan dituliskan biasanya ditempelkan pada bahasa pemrograman yang
language (DML yang interaktif). Seperti halnya kalau pengguna
menggunakan bahasa queri untuk memanipulasi suatu data. Pengguna memberikan perintah queri-nya maka DBMS akan langsung menghasilkan informasi yang diinginkan.
Secara khusus pengguna menggunakan berbagai bahasa :
- Programmer aplikasi menggunakan bahasa-bahasa seperti Cobol,
Informix, dan lain-lain (host language) yang ditempelkan dengan
bahasa yang dipakai dalam DBMS.
- Pemakai terminal menggunakan bahasa Queri, misalnya SQL atau
menggunakan program aplikasi (yang dirancang oleh programmer).
- Sedangkan DBA lebih banyak menggunakan bahasa DDL dan DML
yang tersedia dalam DBMS.
DBMS mempunyai tugas untuk menangani semua bentuk akses kepada basis data, secara konsep :
1. Pengguna menyatakan permintaan akses menggunakan DBMS
2. DBMS menangkap dan menginterpretasikan
- pemetaan eksternal / konseptual - skema konseptual
- pemetaan konseptual / internal - skema internal
4. DBMS melaksanakan operasi yang diminta terhadap basis data
tersimpan.
Proses 1 sampai dengan 4 dapat dilakukan secara interaktif atau dikompilasi terlebih dulu.
2.4. Model Data
Model data adalah kumpulan konsep yang terintegrasi yang menggambarkan data, hubungan antara data dan batasan-batasan data di dalam suatu organisasi. Fungsi dari sebuah model data untuk merepresentasikan data sehingga data tersebut mudah dipahami.
Untuk menggambarkan data pada tingkat eksternal dan konseptual digunakan model data berbasis objek atau model data berbasis record.
2.4.1.Model Data Berbasis Objek
Model data berbasis objek menggunakan konsep entitas, atribut dan hubungan antar entitas. Beberapa jenis model data berbasis objek yang umum adalah
1. entity-relationship (ER)
2. semantic (semantik)
3. functional (fungsional)
4. object-oriented (berorientasi objek)
2.4.2. Model Data Berbasis Record
Pada model data berbasis record, basis data terdiri dari sejumlah record dalam bentuk yang tetap yang dapat dibedakan dari bentuknya.
Ada 3 macam jenis model data berbasis record, yaitu :
1. relational (relasional)
2. hierarchical (hirarki)
3. network (jaringan)
2.4.2.1. Model Data Relasional
kolom tersebut mempunyai nama yang unik. Selanjutnya akan dijabarkan pada bab 3.
2.4.2.2. Model Data Jaringan
Pada model data ini, data di deskripsikan sebagai kumpulan dari record,
dan relasi di deskripsikan dengan set. Di bandingkan dengan model data
relasional, relasi lebih terlihat sebagai model dari suatu set yang digunakan sebagai penunjuk atau pointer di dalam implementasinya.
0938 ANNA DEPOK KK045210 PBD 2 3
KK045104 Prak
AP1
1 1
0523 RICKY DEPOK KK045305 Graf 3 5
2.4.2.3. Model Data Hirarki
Pada model data ini, berasal dari model data jaringan dimana data di deskripsikan sebagai kumpulan dari record, dan relasi di deskripsikan dengan
set. Tetapi pada model hirarki ini hanya mempunyai satu parent . Model Hirarki
dapat digambarkan seperti graph pohon, record muncul sebagai nodes disebut
segment dan sets disebut dengan edges.
Gambar 2.3 Model data jaringan
1 Anna Depok 2 Ricky Depok
KK0452
10 PBD 2 3
KK0451
04 AP1Prak 1 1
KK0453
2.4. Fungsi DBMS
Layanan-layanan yang sebaiknya disediakan oleh DBMS adalah : 1. Penyimpanan, pengambilan dan perubahan data
Sebuah DBMS harus menyediakan kemampuan menyimpan, mengambil dan merubah data dalam basis data.
2. Katalog yang dapat diakses pengguna
menyediakan sebuah katalog yang berisi deskripsi item data yang disimpan dan diakses oleh pengguna.
3. Mendukung transaksi
Menyediakan mekanisme yang akan menjamin semua perubahan yang berhubungan dengan transaksi yang sudah ada atau yang akan dibuat.
4. Melayani kontrol konkurensi
Sebuah DBMS harus menyediakan mekanisme yang menjamin basis data ter-update secara benar pada saat beberapa pengguna melakukan perubahan terhadap basis data yang sama secara bersamaan.
5. Melayani recovery
Menyediakan mekanisme untuk mengembalikan basis data ke keadaan sebelum terjadinya kerusakan pada basis data tersebut. 6. Melayani autorisasi
Sebuah DBMS harus menyediakan mekanisme untuk menjamin bahwa hanya pengguna yang berwenang saja yang dapat mengakses basis data.
7. Mendukung komunikasi data
Sebuah DBMS harus mampu terintegrasi dengan software komunikasi. 8. Melayani integritas
Sebuah DBMS bertujuan untuk menjamin semua data dalam basis data dan setiap terjadi perubahan data harus sesuai dengan aturan yang berlaku.
9. Melayani kemandirian data
Sebuah DBMS harus mencakup fasilitas untuk mendukung kemandirian program dari struktur basis data yang sesungguhnya. 10. Melayani utilitas
Sebuah DBMS sebaiknya menyediakan kumpulan layanan utilitas.
2.6. Komponen DBMS
Keterangan dari gambar 2.6. dijelaskan sebagai berikut:
1. Query Processsor
Komponen yang merubah bentuk queri ke dalam instruksi tingkat rendah ke basis data manager
Query
Basis data manager menerima queri dan menguji skema eksternal dan konseptual untuk menentukan apakah record-record dibutuhkan untuk memenuhi permintaan. Kemudian DM memanggil file manager untuk menyelesaikan permintaan.
3. File Manager
Memanipulasi penyimpanan file dan mengatur alokasi ruang penyimpanan pada disk.
4. DML Preprocessor
Modul yang merubah perintah DML embedded ke dalam program aplikasi dalam bentuk fungsi-fungsi yang memanggil dalam host language.
5. DDL Compiler
Merubah statement DDL menjadi kumpulan tabel yang berisi metadata.
6. Dictionary Manager / Catalog Manager
Mengatur akses dan memelihara data dictionary. Data dictionary diakses oleh komponen DBMS yang lain.
Komponen software utama basis data manager seperti pada gambar 2.7. adalah
1. Authorization Control
Modul yang memeriksa apakah pengguna mempunyai wewenang untuk menyelesaikan operasi memeriksa operasi yang diminta memerlukan batasan integritas.
4. Query Optimizer
Modul ini menentukan strategi yang optimal untuk eksekusi queri
5. Transaction Manager
Modul ini mengerjakan proses-proses yang dibutuhkan operasi yang diterima transaksi
6. Scheduler
Modul ini bertanggung jawab untuk menjamin operasi secara bersamaan terhadap basis data sehingga berjalan tanpa ada masalah antara yang satu dengan yang lain. memory dan secondary storage, seperti disk dan tape.
2.7. Data Dictionary
Data dictionary adalah tempat penyimpanan informasi yang
menggambarkan data dalam basis data. Data dictionary biasa disebut juga
dengan metadata atau data mengenai data.
Modul pengontrol autorisasi menggunakan data dictionary untuk memeriksa apakah seorang pengguna perlu mempunyai wewenang
Untuk mengerjakan pemeriksaan tersebut, data dictionary menyimpan
nama-nama pengguna yang mempunyai wewenang untuk
menggunakan DBMS
item data yang dapat diakses oleh pengguna dan jenis akses yang
diijinkan, misalnya : insert, update, delete atau read
Selain itu, untuk memeriksa integritas data, data dictionary
menyimpan
nama-nama item data dalam basis data
jenis dan ukuran item data
batasan untuk masing-masing item data
Sistem data dictionary dapat dibedakan atas sistem aktif dan pasif. Sistem aktif selalu konsisten dengan struktur basis data karena secara otomatis dikerjakan oleh sistem. Sebaliknya, sistem pasif tidak konsisten terhadap perubahan basis data yang dilakukan oleh pengguna.
Program
Object Code ProcessorQuery DictionaryManager
Authorization
2.8. Arsitektur DBMS Multi Pengguna
Pada seksi ini akan di jelaskan mengenai arsitektur yang biasanya digunakan untuk mengimplementasikan sistem basis data yang multi user, yaitu
teleprocessing, file server dan client server.
2.8.1.Teleprocessing
Arsitektur tradisional untuk sistem multi pengguna adalah teleprocessing, dimana satu komputer dengan sebuah CPU dan sejumlah terminal seperti pada gambar 2.8. di bawah ini.
Semua pemrosesan dikerjakan dalam batasan fisik komputer yang sama. Terminal untuk pengguna berjenis 'dumb', yang tidak dapat berfungsi sendiri dan masing-masing dihubungkan ke komputer pusat. Terminal-terminal tersebut mengirimkan pesan melalui subsistem pengontrol komunikasi pada sistem operasi ke program aplikasi, yang bergantian menggunakan layanan DBMS. Dengan cara yang sama, pesan dikembalikan ke terminal pengguna. Arsitektur ini menempatkan beban yang besar pada komputer pusat yang tidak hanya menjalankan program aplikasi tetapi juga harus menyelesaikan sejumlah pekerjaan pada terminal seperti format data untuk tampilan di monitor.
2.8.2. File-Server
Proses didistribusikan ke dalam jaringan, sejenis Local Area Network
(LAN). File server mengendalikan file yang diperlukan oleh aplikasi dan DBMS. Meskipun aplikasi dan DBMS dijalankan pada masing-masing workstation, tetapi tetap meminta file dari file server jika diperlukan (perhatikan gambar di bawah ini). Dengan cara ini, file server berfungsi sebagai sebuah hard disk yang digunakan secara bersamaan. DBMS yang ada pada setiap workstation meminta data ke file server untuk semua data yang diinginkan oleh DBMS.
Kerugian arsitektur file-server adalah
Terdapat lalulintas jaringan yang besar
Masing-masing workstation membutuhkan copy DBMS
Kontrol terhadap konkurensi, recovery dan integritas menjadi
lebih kompleks karena sejumlah DBMS mengakses file secara bersamaan
Server Basis Data
Kirim Data Minta Data
Work Station 2 Work
Station 1
Work Station 3
Work Station 4
Work Station 5
Work Station 6
2.8.3.Client Server
Untuk mengatasi kelemahan arsitektur-arsitektur di atas maka dikembangkan arsitektur client-server. Client-server menunjukkan cara komponen software berinteraksi dalam bentuk sistem. Sesuai dengan namanya, ada sebuah pemroses client yang membutuhkan sumber dan sebuah server yang menyediakan sumbernya. Tidak ada kebutuhan client dan server yang harus diletakkan pada mesin yang sama. Secara ringkas, umumnya server diletakkan pada satu sisi dalam LAN dan client pada sisi yang lain.
Dalam konteks basis data, client mengatur interface berfungsi sebagai workstation tempat menjalankan aplikasi basis data. Client menerima permintaan pengguna, memeriksa sintaks dan generate kebutuhan basis data dalam SQL atau bahasa yang lain. Kemudian meneruskan pesan ke server, menunggu response dan bentuk response untuk end pengguna. Server menerima dan memproses permintaan basis data kemudian mengembalikan hasil ke client. Proses-proses ini melibatkan pemeriksaan autorisasi, jaminan integritas,
Server With DBMS
Basis Data
Kirim Data Minta Data
Client 1 Client 2 Client 3 Client 4 Client 5 Client 6
pemeliharaan data dictionary dan mengerjakan query serta proses update. Selain itu juga menyediakan kontrol terhadap concurrency dan recovery.
Ada dua macam implementasi sistem client server yaitu sistem client server sederhana (2 tier) seperti terlihat pada gambar 2.11. dan sistem client server kompleks (3 tier).
Server With DBMS
Basis Data
Kirim Data Minta Data
Client &
Workstation 3 Client &
Workstation 2 Client &
Workstation 1