Selasa, 05 November 2013

LINGKUNGAN BASIS DATA

BAB I 
PENDAHULUAN

1.1 Latar Belakang

Basis data adalah kumpulan informasi yang disimpan didalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari database tersebut. Perangkat lunak yang digunakan untuk mengolah dan mengambil kueri (query) basis data disebut sistem manajemen basis data.

1.2  Rumusan Masalah
  1. Apakah yang dimaksud dengan Basis Data? 
  2. Ada berapa kelompom Basis Data?
  3. Apa yang dimaksud dengan DBMS dan apa fungsinya?

1.3 Tujuan
  • Mahasiswa dapat menjelaskan tingkatan arsitektur basis data. 
  • Mahasiswa dapat menjelaskan konsep data independence,komponen DBMS, fungsi DBMS serta bahasa yang digunakan didalam DBMS.
  • Mahasiswa dapat mejelaskan perbedaan model data berbasis objek, record, konseptual, dan fisik.
  • Mahasiswa dapat menjelaskan fungsi dan isi dari data dictionary.
  • Mahasiswa dapat menjelaskan perbedaan arsitektur DBMS multi user.

BAB II
PEMBAHASAN

2.1. Arsitektur Basis Data


Arsitektur Basis Data adalah suatu kumpulan data yang tersimpan secara sistematik dimana user dapat melihat data dan bagaimana cara user melihat data tersebut.Arsitektur ini juga berfungsi memberikan kerangka kerja bagi pembangunan basis data.

Arsitektur Basis Data dibagi menjadi 3 bagian, yaitu:

1.   Tingkat Eksternal (Eksternal Level)

Berhubungan dengan bagaimana data direpresentasikan dari sisi setiap user. View level adalah level user, yang dimaksud dengan user adalah programmer, end user atau Database Administrator (DBA). (programmer : bahasa yang digunakan adalah bahasa pemrograman seperti C, COBOL, atau PL/I), (end user : bahasa yang digunakan adalah bahasa query atau menggunakan fasilitas yang tersedia pada program aplikasi pada level eksternal ini, user dibatasi pada kemampuan perangkat keras dan perangkat lunak yang digunakan aplikasi basis data yang didefinisikan sebagai sebuah skema eksternal.)

2.  Tingkat Konseptual (Conseptual Level)

Yang menghubungkan antara internal & external level. Conceptual level adalah sebuah representasi seluruh muatan informasi yang dikandung oleh basis data.Tingkatan level ini dilihat dari cara user dalam memahami atau mengetahui data.
 
Hal-hal yang digambarkam dalam level conceptual adalah:
  • Semua entitas beserta atribut dan hubungannya. 
  • Batasan data.
  • Informasi semantik tentang data.
  • Keamanan dan integritas informasi.

3.   Tingkat Internal (Internal Level)
  
Berhubungan dengan bagaimana data disimpan secara fisik (physical storage). Internal level adalah level terendah untuk merepresentasikan basis data. Record disimpan dalam media penyimpanan dalam format byte. Didefinisikan sebagai sebuah skema internal.
 
Tingkat internal memperhatikan hal-hal berikut ini:
  • Alokasi ruang penyimpanan data dan indeks. 
  • Deskripsi record utk penyimpanan (dg ukuran penyimpanan data).
  • Penempatan record.
  • Penempatan data dan teknik encryption.

    Berikut contoh gambarnya:




Tingkat Eksternal (External Level) :
Cobol

01 PEG_REC.
02 PEG_NO PIC X(6).
02 DEPT_NO PIC X(4).
02 GAJI PIC 9(6).

Tingkat Konseptual (Conceptual Level) :
PEGAWAI

NOMOR_PEGAWAI        CHARACTER 6
NOMOR_DEPT              CHARACTER 4
GAJI                            NUMERIC 6

Tingkat Internal (Internal Level) :
FILE_PEGAWAI              LENGTH = 22
PREFIX                         TYPE = BYTE (6), OFFSET = 0
EMP#                           TYPE = BYTE (6), OFFSET = 6, INDEX = EMPX
DEPT#                          TYPE = BYTE (4), OFFSET = 12
PAY                              TYPE = FULLWORD, OFFSET = 16

 
2.2 Data Independence

Tujuan utama dari arsitektur basis data adalah memelihara kemandirian data (data independence).  Artinya, perubahan pada satu level tidak mempengaruhi level yang lain.
Metode mengubah pola data dari isi data tersebut dan cara menyimpannya, sehingga perubahan  tersebut menyebabkan suatu program aplikasi ditulis kembali
(http://www.total.or.id/info.php?kk=Data%20Independence).
Ada 2 jenis data independence:
  1. Physical Data Independence : merubah level internal tanpa mengganggu skema conceptual atau eksternal. 
  2. Logical Data Independence : merubah level conceptual tanpa menggangu skema eksternal.

Prinsip ini harus diterapkan dalam pengelolaan sistem basis data dengan alasan:
  1. DBA dapat mengubah isi, lokasi, perwujudan dalam organisasi basis data tanpa mengganggu program aplikasi yang sudah ada. 
  2. Pabrik/software pengelolaan data datap memperkenalkan produk-produk baru tanpa mengganggu program aplikasi yang sudah ada.
  3. Untuk memindahkan perkembangan program aplikasi.
  4. Memberikan fasilitas pengontrolan terpusat oleh DBA.

2.3   Bahasa yang Digunakan dalam DBMS

DBMS (Database Management systems) 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 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.

Dikenal 2 bentuk bahasa:
 

1. Data Definition Language (DDL)
Untuk mendefinisikan struktur/skema basis data, di dalamnya termasuk record, elemen data, kunci elemen, dan relasinya. 

2. Data Manipulation Language (DML)
Bahasa yang memperbolehkan user untuk mengakses atau memanipulasi data.

Ada 2 jenis DML:
a.  Procedural, mensyaratkan user menentukan data apa yang diinginkan serta bagaimana mendapatkannya.
b.  Non Procedural, membuat user dapat menentukan data apa yang diinginkan tanpa menyebutkan bagaimana cara mendapatkannya.

Manipulasi data dapat berupa:
  • Penyisipan/penambahan data baru ke basis data. 
  • Penghapusan data dari basis data.
  • Pengubahan data di basis data.
  • Mengambil informasi yang tersimpan di basis data.

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 :
  • eksternal / conceptual mapping.
  • conceptual schema.
  • konseptual / internal mapping.
  • Internal schema.
   4. DBMS melaksanakan operasi yang diminta terhadap basis   data tersimpan.
Proses 1 s/d 4 dapat dilakukan secara interactive atau dicompile dulu.

2.4   Model Data

Model data adalah kumpulan konsep yang terintegrasi yang menggambarkan data, hubungan antara data dan batasan-batasan data dala 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.

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 :
  • entity-relationship 
  • semantic
  • functional
  • object-oriented

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 :
  • model data relasional (relational)

Name
Address
Course
Grade
Mr. Eric Tachibana
123 Kensigton
Chemistry 102
C+
Mr. Eric Tachibana
123 Kensigton
Chinese 3
A
Mr. Eric Tachibana
122 Kensigton
Data Structures
B
Mr. Eric Tachibana
123 Kensigton
English 101
A
Ms. Tonya Lippert
88 West 1st St.
Psychology 101
A

  • model data hierarkhi (hierarchical)


  • model data jaringan (network)
Model data jaringan dikenal sebagai STRUKTUR PLEX.



2.5 Fungsi DBMS

Layanan-layanan yang sebaiknya disediakan oleh database management system adalah :
  1. Penyimpanan, pengambilan dan perubahan data 
  2. Katalog yang dapat diakses pemakai.
  3. Mendukung Transaksi.
  4. Melayani kontrol concurrency.
  5. Melayani recovery.
  6. Melayani autorisasi.
  7. Mendukung komunikasi data.
  8. Melayani integrity.
  9. Melayani data independence.
  10. Melayani utility.

2.6 Komponen DBMS
 

Penjelasan :
 
1. Query Processsor
Komponen yang merubah bentuk query ke dalam instruksi tingkat rendah ke database manager.

2. Database Manager
Database manager menerima query 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 perintah DDL menjadi kumpulan tabel yang berisi metadata.

6. Dictionary Manager
Mengatur akses dan memelihara data dictionary. Data dictionary diakses oleh komponen DBMS yang lain.

 
Komponen software utama database manager adalah :



1. Authorization Control
Modul yang memeriksa apakah pemakai mempunyai wewenang untuk menyelesaikan operasi.

2. Command Processor
Memeriksa apakah pemakai 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 query.

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 adamasalah 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 Arsitektur DBMS

1. Teleprocessing
Arsitektur tradisional untuk sistem multi user adalah teleprocessing, dimana satu komputer dengan sebuah CPU dan sejumlah terminal seperti pada gambar 4.

2. File-Server
Proses didistribusikan ke dalam jaringan sejenis LAN (Local Area Network). 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 5).

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.

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.

Ada beberapa keuntungan jenis arsitektur ini adalah :
  • Memungkinkan akses basis data yang besar 
  • Menaikkan kinerja
  • Jika client dan server diletakkan pada komputer yang berbeda kemudian CPU yang berbeda dapat memproses aplikasi secara paralel. Hal ini mempermudah merubah mesin server jika hanya memproses basis data.
  • Biaya untuk hardware dapat dikurangi.
  • Hanya server yang membutuhkan storage dan kekuatan proses yang cukup untuk menyimpan dan mengatur basis data.
  • Biaya komunikasi berkurang.
  • Aplikasi menyelesaikan bagian operasi pada client dan mengirimkan hanya bagian yang dibutuhkan untuk akses basis data melewati jaringan, menghasilkan data yang sedikit yang akan dikirim melewati jaringan.
  • Meningkatkan kekonsistenan.
  • Server dapat menangani pemeriksaan integrity sehingga batasan perlu didefinisikan dan validasi hanya di satu tempat, aplikasi program mengerjakan pemeriksaan sendiri.
  • Map ke arsitektur open-system dengan sangat alami.
Berikut ini adalah fungsi dari client dan server.



 


2.8 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 otorisasi menggunakan data dictionary untuk memeriksa apakah seorang pemakai perlu mempunyai wewenang.

Untuk mengerjakan pemeriksaan tersebut data dictionary menyimpan :
  • nama-nama pemakai yang mempunyai wewenang untuk menggunakan DBMS. 
  • nama-nama data item yang ada dalam basis data.
  • data item yang dapat diakses oleh pemakai dan jenis akses   yang diijinkan, misalnya: insert, update, delete atau read.

Sedangkan untuk memeriksa integritas data, data dictionary menyimpan :
  • nama-nama data item dalam basis data. 
  • jenis dan ukuran data item.
  • batasan untuk masing-masing data item.

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



BAB III 
KESIMPULAN

Arsitektur Basis Data adalah suatu kumpulan data yang tersimpan secara sistematik dimana user dapat melihat data dan bagaimana cara user melihat data tersebut.Arsitektur ini juga berfungsi memberikan kerangka kerja bagi pembangunan basis data.

Arsitektur Basis Data dibagi menjadi 3 bagian, yaitu:
  1. Tingkat Eksternal (Eksternal Level). 
  2. Tingkat Konseptual (Conseptual Level). 
  3. Tingkat Internal (Internal Level).

Model data adalah kumpulan konsep yang terintegrasi yang menggambarkan data, hubungan antara data dan batasan-batasan data dala suatu organisasi. Fungsi dari sebuah model data untuk merepresentasikan data sehingga data tersebut mudah dipahami.

Model data dibagi menjadi dua, yaitu:
  1. Model data berbasis objek. 
  2. Model data berbasis record.

Arsitektur DBMS dibagi menjadi tiga, yaitu:
  1. Teleprocessing. 
  2. File-server.
  3. Clientserver.