Rabu, 03 Oktober 2012

SISTEM BASIS DATA 4

MODEL DATA RELATIONAL
Model data relational merupakan suatu kumpulan tabel berdimensi dua dengan masing-masing relasi tersusun atas tuple (baris) dan atribut (kolom) pada suatu basis data.
 
Suatu model data yang meletakkan data dalam bentuk relasi biasa disebut tabel. Masing-masing tabel memiliki struktur yang sama dengan ER database.
Beerikut istilah-istilah yang terdapat pada pembahasan model data relational, yaitu :
 
  1. Relasi     : sebuah tabel yang terdiri dari beberapa kolom dan beberapa baris
  2. Attribute  : kolom pada sebuah relasi
  3. Tuple    : baris pada sebuah relasi atau kumpulan elemen-elemen yang saling berkaitan menginformasikan tentang suatu entitas secara lengkap
  4. Domain    : seluruh kemungkinan nilai yang dapat diberikan ke suatu attribut
  5. Degree     : jumlah atribut dalam sebuah relasi
  6. Cardinality  : jumlah tuple dalam sebuah relas
  
Relasi 
 
Relasi menunjukkan adanya hubungan diantara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. 
Setiap relasi mempunyai skema yang mendeskripsikan nama relasi dan atribut beserta tipenya.
Contoh : mahasiswa= (nim : string, nama:string) 
    1. Mahasiswa ialah nama relasi. Nim dan nama sebagai atribut. Sedangkan string iaalah tipe dari atribut. 
  • Mendefinisikan domain
  1. Memberi nama domain yang sesuai dengan nilai yang akan dimiliki suatu domain.
  2. Menentukan tipe data dari nilai yang akan membentuk domain.
  3. Menentukan format domain.
 
 
Relational key 
 
Candidate key = atribut yang bersifat unik yang dapat digunakan untuk membedakan antara satu baris dan dengan baris yang lain. Dalam setiap relasi minimal mempunyai sebuah kunci candidate.
 
Primary key = salah satu dari candidate key yang digunakan sebagai kunci utama untuk mengidentifikasi tuple yang unik pada suatu relasi. Dalam setiap relasi harus mempunyai primary key dan jumlahnya satu buah. Primary key harus unik dan tidak boleh null.
 
Alternate key = bagian dari candidate key yang tidak menjadi primary key.
 
Foreign key = sebuah atribut dlam suatu relasi yang merujuk ke primary key relasi lain

  • Batasan-batasan integritas :
    • Merupakan suatu batasan yang diberikan terhadap suatu relasi
    • Ditetapkan ketika schema didefinisikan
    • Dicek ketika relasi-relasi dimodifikasi atau dimanipulasi(penambahan, pengubahan, penghapusan, dan pencarian atau menampilkan data).
  • Relation integrity rules
    • Null ialah suatu atribut yang tidak diketahui dan tidak cocok utnuk baris tersebut. nilai null digunakan untuk menyatakan atau mengisi atribut-atribut yang nilainya memang belum siap atau tidak ada.
    • Entity integrity ialah tidak ada satu komponen primary key yang bernilai null.
    • Referential integrity ialah garis yang menghubungkan antara satu tabel dengan tabel lain.
 
 
 
 
Penyelesaian :
 
  • Candidate key :
    • Acountable
    • Branch table
    • Costumer table
    • Loan table
  • Primeri key:
    • Acountable : acount_number
    • Branch table : branch_name
    • Custumer table : customer_name
    • Loan table :loan_member
  • Alternate key:
    • Accounttable :balance
    • Branch table :branch_city
    • Loan table :amount
  • Foregn key 
    • Acountable
    • Branch table
    • Customer table
    • Loan table


Latihan 2.






Atribute key yang digunakan :
Candidate key : nim, nama_dosen,nama_mahasiswa, nip, kode, nama_matakuliah
Primary key : nim,nip,kode
Alternate key : nama_mahasiswa, nama_dosen,nama_matakuliah
Foreign key: nim,nip,kode
 
ERD

 

Sabtu, 22 September 2012

Entity Relationship Diagram (ERD)

Dalam rekayasa perangkat lunak, sebuah Entity-Relationship Model (ERM) merupakan abstrak dan konseptual representasi data. Entity-Relationship adalah salah satu metode pemodelan basis data yang digunakan untuk menghasilkan skema konseptual untuk jenis/model data semantik sistem. Dimana sistem  seringkali memiliki basis data relasional, dan ketentuannya bersifat top-down. Diagram untuk menggambarkan model Entitiy-Relationship ini disebut Entitiy-Relationship diagram, ER diagram, atau ERD.

  
Notasi ERD


  • Entitas, Adalah segala sesuatu yang dapat digambarkan oleh data. Entitas juga dapat diartikan sebagai individu yang mewakili sesuatu yang nyata (eksistensinya) dan dapat dibedakan dari sesuatu yang lain (Fathansyah, 1999). Ada dua macam entitas yaitu entitas kuat dan entitas lemah. Entitas kuat merupakan entitas yang tidak memiliki ketergantungan dengan entitas lainnya. Contohnya entitas anggota. Sedangkan entitas lemah merupakan entitas yang kemunculannya tergantung pada keberadaaan entitas lain dalam suatu relasi.
  • Atribut, Atribut merupakan pendeskripsian karakteristik dari entitas. Atribut digambarkan dalam bentuk lingkaran atau elips. Atribut yang menjadi kunci entitas atau key diberi garis bawah.
  • Relasi atau Hubungan, Relasi menunjukkan adanya hubungan diantara sejumlah entitas yang berasal dari himpunan entitas yang berbeda.(Penghubung antara himpunan relasi dengan himpunan entitas dan himpunan entitas dengan atribut dinyatakan dalam bentuk garis.)

Derajat relasi atau kardinalitas

Menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lain. Macam-macam kardinalitas adalah:
  • Satu ke satu (one to one), Setiap anggota entitas A hanya boleh berhubungan dengan satu anggota entitas B, begitu pula sebaliknya.
  • Satu ke banyak (one to many), Setiap anggota entitas A dapat berhubungan dengan lebih dari satu anggota entitas B tetapi tidak sebaliknya.
  • Banyak ke banyak (many to many), Setiap entitas A dapat berhubungan dengan banyak entitas himpunan entitas B dan demikian pula sebaliknya.

Tahap ERD

Contoh Kasus:

Sebuah perusahaan mempunyai beberapa bagian. Masing-masing bagian mempunyai pengawas dan setidaknya satu pegawai. Pegawai ditugaskan paling tidak di satu bagian (dapat pula dibeberapa bagian). Paling tidak satu pegawai mendapat tugas di satu proyek. Tetapi seorang pegawai dapat libur dan tidak dapat tugas di proyek.

Menentukan entitas 

Entitasnya : pengawas, bagian, pegawai, proyek


Menentukan relasi dengan matrik relasi

 
 

Gambar ERD sementara

Hubungkan entitas sesuai dengan matrik relasi yang dibuat


Mengisi kardinalitas

Dari gambaran permasalahan dapat diketahui bahwa:
  • masing-masing bagian hanya punya satu pengawas
  • seorang pengawas bertugas di satu bagian
  • masing-masing bagian ada minimal satu pegawai
  • masing-masing pegawai bekerja paling tidak di satu bagian
  • masing-masing proyek dikerjakan paling tidak oleh satu pegawai 


 Menentukan kunci utama
Kunci utamanya: Nomor Pengawas, Nama Bagian, Nomor Pegawai, Nomor Proyek


Menggambar ERD berdasarkan kunci

Ada dua relasi many to many pada ERD sementara, yaitu antara bagian dengan pegawai, pegawai dengan proyek, oleh sebab itu kita buat entitas baru yaitu bagian -pegawai dan pegawai-proyek Kunci utama dari entitas baru adalah kunci utama dari entitas lain yang akan menjadi kunci tamu di entitas yang baru.


Menentukan atribut

Atribut yang diperlukan adalah: nama bagian, nama proyek, nama pegawai, nama pengawas, nomor proyek, nomor pegawai, nomor pengawas

Memetakan atribut

  • Bagian : Nama bagian
  • Proyek: Nama proyek
  • Pegawai:Nama pegawai
  • Pengawas: Nama pengawas
  • Proyek-Pegawai : Nomor proyek, Nomor pegawai
  • Pengawas: Nomor pengawas

Menggambar ERD dengan atribut

Memeriksa Hasil

Periksa apakah masih terdapat redundasi. ERD akhir: untuk pemodelan data pada sistem.

OBJECT ORIENTED DATABASE


OBJECT ORIENTED DATABASE

Secara tradisional rekayasa perangkat lunak dan manajemen basis data yang ada merupakan disiplin ilmu yang terpisah. Teknologi basis data momfokuskan pada aspek-aspek statik media penyimpanan informasi, sedangkan rekayasa perangkat lunak merupakan model aspek dinamik dari perangkat lunak.
Dengan adanya generasi ketiga dari sistem manajemen basis data yang disebut Object Database Management Systems (ODBMSs), dua disiplin ilmu tadi telah dikombinasikan untuk menyediakan modelling yang dapat berjalan bersama yaitu data dan aksi pemrosesan terhadap data. ODBMSs sering disebut Object Oriented DBMSs atau Object Data Management Systems.
Object oriented merupakan suatu pendekatan baru dari pembuatan perangkat lunak yang sangat menjanjikan untuk memecahkan beberapa masalah klasik dari pengembangan perangkat lunak. Konsep yang mendasari teknik objek ini adalah bahwa seluruh software sebaiknya dapat dibangun melebihi standar, komponen-komponen dapat digunakan kembali apabila dimungkinkan.


Data Vs. Informasi

Data: fakta berupa angka, teks, dokumen, gambar, bagan, dan suara yang mewakili
deskripsi verbal tertentu. Data dikumpulkan untuk maksud dokumentasi.

Informasi: data yang telah diolah (diurutkan, dipadatkan, disaring, dicuplik, dsb) sehingga memiliki arti dan nilai yang lebih tinggi bagi seorang individu atau kelompok tertentu. Informasi diperlukan
untuk membuat keputusan, untuk manajemen organisasi.



LINGKUNGAN BASIS DATA

Tujuan utama dari sistem basis data adalah menyediakan pemakai melalui suatu pandangan abstrak mengenai data, dengan menyembunyikan detail dari bagaimana data disimpan dan dimanipulasikan. Oleh karena itu, titik awal untuk perancangan sebuah basis data haruslah abstrak dan deskripsi umum dari kebutuhan-kebutuhan informasi suatu organisasi harus digambarkan di dalam basis data.

Lebih jauh lagi, jika sebuah basis data merupakan suatu sumber yang bisa digunakan bersama maka setiap pemakai membutuhkan pandangan yang berbeda-beda terhadap data di dalam basis data. Untuk memenuhi kebutuhan ini, arsitektur komersial basis data yang banyak digunakan telah tersedia saat ini dan telah mengalami perluasan yaitu arsitektur ANSI-SPARC.

Materi ini menyediakan latar belakan informasi yang penting pada basis data, diantaranya tiga tingkatan arsitektur ANSI-SPARC, pengenalan model data, fungsi yang disediakan oleh DBMS multi user.

Ada 3 tingkat dalam arsitektur basis data yang bertujuan membedakan cara pandang pemakai terhadap basis data dan cara pembuatan basis data secara fisik.

1. Tingkat Eksternal (External Level) 
Tingkat eksternal merupakan cara pandang pemakai terhadap basis data. Pada tingkat ini menggambarkan bagian basis data yang relevan bagi seorang pemakai tertentu. Tingkat eksternal terdiri dari sejumlah cara pandang yang berbeda dari sebuah basis data. Masing-masing pemakai merepresentasikan dalam bentuk yang sudah dikenalnya. Cara pandang secara eksternal hanya terbatas pada entitas, atribut dan hubungan antar entitas (relationship) yang diperlukan saja.

2. Tingkat Konseptual (Conseptual Level)
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 pemakai 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. 

3. Tingkat Internal (Internal Level)
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 / physical storage.
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 encryption

Data Independence
Tujuan utama dari 3 tingkat arsitektur adalah memelihara kemandirian data (data independence) yang berarti perubahan yang terjadi pada tingkat yang lebih rendah tidak mempengaruhi tingkat yang lebih tinggi.

Ada 2 jenis data independence, yaitu
1. Physical Data Independence
2. Logical Data Independence


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

Dalam basis data secara umum dikenal 2 data sub language :
1. Data Definition Language (DDL)
2. Data Manipulation Language (DML)

Ada 2 jenis DML :
1. Procedural DML
2. Non Procedural


Komponen DBMS

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.


Gambar 3. Komponen Software Utama Database Manager
1. Authorization Control
2. Command Processor
3. Integrity Checker
4. Query Optimizer
5. Transaction Manager
6. Scheduler
7. Recovery Manager
8. Buffer Manager

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.



Gambar 4. Arsitektur Teleprocessing

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 di halaman berikut ini).



Gambar 5. Arsitektur File Server

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.
DatabaseClient 2client 1Client 3LANserver (with DBMS)selected data returnedrequest for data



Gambar 6. Arsitektur Client Server