2.1. Arsitektur Basis Data - BAB 2 LINGKUNGAN

BAB 2 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.

  Pengguna 1 Pengguna 2 Pengguna 3 1111111 View 1 View 2 View 3

  Tingkat Eksternal 11 1 Konseptual Skema

  Tingkat Konseptual Internal Skema

  Tingkat Internal Basis data

Gambar 2.1 Data Fisik Organisasi

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

  Tingkat internal merupakan perwujudan basis data dalam komputer. Pada tingkat ini menggambarkan bagaimana basis data disimpan secara fisik di dalam 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*/

  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.

Gambar 2.2 file Pegawai yang akan didefinisikan

2.2. Kemandirian Data

  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.

  External skema External skema External skema External / conceptual

  Logical data independence mapping

Conceptual skema

  Conceptual / internal Physical data independence mapping

  

Internal skema

Gambar 2.2 Skema Kemandirian Data

  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.

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 sesungguhnya dari data/objek yang di miliki oleh suatu basis data sehingga mempermudah untuk diakses ataupun untuk di manipulasi.

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  Penghapusan data

  Ada 2 jenis DML :

1. Procedural DML

  Digunakan untuk mendefinisikan data yang diolah dan perintah yang akan dilaksanakan. Pengguna harus menuliskan sebuah prosedur yang akan mengakses semua data yang diperlukan untuk menghasilkan informasi yang diinginkan. DML terprosedur ini yang akan dituliskan biasanya ditempelkan pada bahasa pemrograman yang digunakan .

  2. Non Procedural DML Digunakan untuk menjabarkan data yang diinginkan tanpa menyebutkan bagaimana cara pengambilannya.

  Non-prosedural DML ini biasanya disebut dengan declarative

  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

  3. DBMS mencari :

  • 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

  Model data ini berdasarkan konsep relasi matematika, data dan relasi di gambarkan sebuah tabel, yang mempunyai kolom dan baris dimana kolom– 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

  1

  1 AP1 0523 RICKY DEPOK KK045305 Graf

  3

  5 Gambar 2.3 Model data jaringan

  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.

1 Anna Depok

  2 Ricky Depok KK0453

  Graf

  3

  5

  05 KK0451 Prak

  1

  1

  04 AP1 KK0452 PBD

  2

  3

Gambar 2.4. Model data hirarki

  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

  Programmers Users DBA Application Database Queries

  Programs Schema

  DBMS DML Query DDL Preprocessor Processor Compiler

  Program Database Dictionary Object Code Manager Manager Access File Method Manager System Buffer

  Database dan Data Dictionary

Gambar 2.6 Komponen DBMS

  2. Database Manager 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

  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

  2. Command Processor Memeriksa apakah pengguna mempunyai wewenang untuk menyelesaikan operasi

  3. Integrity Checker Untuk semua operasi yang merubah basis data, integrity checker 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.

  7. Recovery Manager Modul ini menjamin basis data tetap konsisten walaupun terjadi kerusakan.

  8. Buffer Manager Modul ini bertanggung jawab terhadap pemindahan data antara main 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  nama-nama item data yang ada dalam basis data

   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 Query Dictionary Object Code Processor Manager

  Database Manager Authorization Control

  Integrity Query Command

  Checker Optimizer Processor Transaction Scheduler

  Manager Data

  Buffer Recovery Manager

  Manager Manager Access File Method Manager

  Database System dan Buffer

  Data Dictionary

Gambar 2.7 Komponen software utama basis data manager

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.Gambar 2.8 Arsitektur Teleprocessing 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

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.

  Server Basis Data Kirim Data Minta Data

  Work Work Work Work Work Work Station 1 Station 2 Station 3 Station 4 Station 5 Station 6

Gambar 2.9 Arsitektur File Server

  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

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.

  Server With DBMS

  Basis Data Kirim Data Minta Data

  Client 1 Client 2 Client 3 Client 4 Client 5 Client 6

Gambar 2.10 Arsitektur Client Server

  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. 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 & Client & Client & Workstation 1 Workstation 2 Workstation 3