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

Rabu, 12 September 2012

WHY DO YOU NEED A DATABASE?

If you find yourself answering yes to at least three of the below questions, you definitely should investigate the use of a database to better organize and report your information.
  1. Do you find yourself entering the same values of information into multiple spreadsheets/reports/documents?
  2. When you make the changes in your spreadsheet/reports/documents, are you forced to make the same changes in others?
  3. Do you have a large amount of data that is becoming larger and unmanageable? 
  4. Do several people in your organization have the need to view your data at the same time? 
  5.  Are you tracking related information in several spreadsheets – such as separate sheets for sales for different departments or different geographical locations? 
  6. When viewing your information, are you constantly scrolling on your screen to view it all? Or do you have a difficult time viewing the specific sets of data that you want?  
Use a database if ...
  • the information is a large amount that would become unmanageable in spreadsheet form and is related to a particular subject. 
  •  you want to maintain records for ongoing use. 
  •  the information is subject to many changes (change of address, pricing changes, etc.). 
  •  you want to generate reports based on the information.
 Use a spreadsheet if ...
  • you want to crunch numbers and perform automatic calculations. 
  •  you want to track a simple list of data. 
  •  you want to easily create charts and graphs of your data. 
  •  you want to create "What-if" scenarios

Example of how not to usea spreadsheet – put it into a database instead !

  • As an example, you have a spreadsheet, which contains a number of products that you order from several suppliers. 
  • In this spreadsheet, you include the supplier telephone numbers, invoice information, and product information. 
  • Imagine that you are adding add a new product from an existing supplier; it is the fifth product you purchase from this supplier. 
  •  In order to ensure that you know who the supplier is, and the supplier contact information (due to filtering and sorting your spreadsheet data) you must repeat the suppliers’ contact information next to that new product. 
  • You have just repeated the supplier’s contact information FIVE times in the spreadsheet! 
  •  WHAT HAPPENS IF THE SUPPLIER HAS MOVED? You will have to make changes in each of the spreadsheet cells as well as the various other spreadsheet and word-processed files that contain the supplier’s address. 
  •  In a database, you make this change once; all reports generated from the database will contain the correct supplier address.


            Sudah ya penggunaan bahasa Inggrisnya,sekarang diganti dengan bahasa Indonesia,agar kelihatan bilingual. Hehe ...
Apa itu basis data??

Menurut Wikipedia basis data merupakan kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil kueri (query) basis data disebut sistem manajemen basis data (database management system, DBMS). Sistem basis data dipelajari dalam ilmu informasi
Istilah "basis data" berawal dari ilmu komputer. Meskipun kemudian artinya semakin luas, memasukkan hal-hal di luar bidang elektronika, artikel ini mengenai basis data komputer. Catatan yang mirip dengan basis data sebenarnya sudah ada sebelum revolusi industri yaitu dalam bentuk buku besar, kuitansi dan kumpulan data yang berhubungan dengan bisnis.
Konsep dasar dari basis data adalah kumpulan dari catatan-catatan, atau potongan dari pengetahuan. Sebuah basis data memiliki penjelasan terstruktur dari jenis fakta yang tersimpan di dalamnya: penjelasan ini disebut skema. Skema menggambarkan obyek yang diwakili suatu basis data, dan hubungan di antara obyek tersebut. Ada banyak cara untuk mengorganisasi skema, atau memodelkan struktur basis data: ini dikenal sebagai model basis data atau model data. Model yang umum digunakan sekarang adalah model relasional, yang menurut istilah layman mewakili semua informasi dalam bentuk tabel-tabel yang saling berhubungan dimana setiap tabel terdiri dari baris dan kolom (definisi yang sebenarnya menggunakan terminologi matematika). Dalam model ini, hubungan antar tabel diwakili denga menggunakan nilai yang sama antar tabel. Model yang lain seperti model hierarkis dan model jaringan menggunakan cara yang lebih eksplisit untuk mewakili hubungan antar tabel.
.
Positif Basis Data :

1)           Kecepatan dan kemudahan (speed)
Dengan menggunakan basis data pengambilan informasi dapat dilakukan dengan cepat dan mudah. Basis data memiliki kemampuan dalam mengelompokan, mengurutkan bahkan perhitungan dengan metematika. Dengan perancangan yang benar, maka penyajian informasi akan dapat dilakukan dengan cepat dan mudah.

2)        Kebersamaan pemakai
Sebuah basis data dapat digunakan oleh banyak user san banyak aplikasi. Untuk data-data yang diperlukan oleh banyak orang/bagian. Tidak perlu dilakukan pencatatan dimasing-masing bagian, tetapi cukup dengan satu basis data untuk dipakai bersama. Misalnya data mahasiswa dalam suatu perguruan tinggi, dibutuhkan oleh banyak bagian, diantaranya: bagian akademik, bagian keuangan, bagian kemahasiswaan, dan perpustakaan. Tidak harus semua bagian ini memiliki catatan dan semua bagian bisa mengakses data tersebut sesuai dengan keperluannya.

3)        Pemusatan control data
karena cukup dengan satu basis data unutk banyak keperluan, pengontrolan terhadap data juga cukup dilakuan di satu tempat saja. Jika ada perubahan data alamat mahasiswa misalnya, maka tidak perlu kita meng-update semua data dimasing-masing bagian tetapi cukup hanya disatu basis data.

4)        Efesiensi ruang penyimpanan (space)
Dengan pemakain bersama, kita tidak perlu menyediakan tempat penyimpanan diberbagai tempat, tetapi cukup satu saja sehingga ini akan menghemat ruang penyimpanan data yang dimilikioleh sebuah organisasi. Dengan teknik perancangan basis data yang benar, kita akan menyederhanakan penyimpanan sehingga tidak semua data harus disimpan.

5)        Keakuratan (Accuracy)
Penerapan secara ketat aturan tipe data, domain data, keunikan data, hubungan antara data, dan lain-lain, dapat menekan keakuratan dalam pemasukan/penyimpanan data.

6)        Ketersediaan (availability)
Dengan basis data kita dapat mem-backup data, memilah-milah data mana yang masih diperlukan dan data mana yang perlu kita simpan ke tempat lain. Hal ini mengingat pertumbuhan transaksi suatu organisasi dari waktu ke waktu membutuhkan media penyimpanan yang semakin besar.
7)        Keamanan (Security)
Kebanyakan DBMS dilengkapi dengan fasilitas manajemen pengguna diberikan hak akses yang berbeda-beda sesuai dengan pengguna dan posisinya. Basis data bisa diberikan passwordnya untuk membatasi orang yang mengaksesnya.

8)        Kemudahan dalam pembuatan program aplikasi baru
Pengguna basis data merupakan bagian dari perkembangan teknologi. Dengan adanya basis data pembuatan aplikasi bisa memanfaatkan kemampuan dari DBMS, sehingga pembuatan aplikasi tidak perlu mengurusi penyimpanan data, tetapi cukup mengatur interface untuk pengguna.

9)        Pemakain secara langsung
Basis data memiliki fasilitas untuk melihat datanya secara langsung dengan tool yang disediakan oleh DBMS. Untuk melihat data, langsung ke table ataupun menggunakan query. Biasanya yang menggunakan fasilitas ini adalah user yang sudah ahli, atau database administrator.

10)    Kebebasan data (Data Independence)
Jika sebuah program telah selesai dibuat, dan ternyata ada perubahan isi/struktur data. Maka dengan basis data, perubahan ini hanya perlu dilakukan pada level DBMS tanpa harus membongkar kembali program aplikasinya.

11)    User view
Basis data penyediaan pandangan yang berbeda-beda untuk tiap-tiap pengguna. Misalnya kita memiliki data-data dari perusahaan yang bergerak dibidang retail. Data yang ada berupa data barang, penjualan, dan pembelian. Ada beberapa jenis pengguna yang memerlukan informasi terkait dengan data perusahaan tresebut. Mereka adalah pelanggan, kasir, bagian gudang, bagian akutansi dan manajer. Tidak semua data boleh diakses oleh semua pengguna. Misalnya kasir dia hanya boleh berhak melihat informasi nama barang dan harga jualnya. Sementara itu dia berhak untuk memasukan data penjualan . berbeda dengan pelanggan yang hanya melihat data keberadaan barang dan harga jual tetapi tidak berhak memasukan atau merubah data. Sementara itu bagian akutansi berhak melihat keuntungan dari tiap-tiap barang untuk menganalisa data akutansinya.Basis data mampu memberikan layanan organisasi seperti ini.


Negatif Basis Data :

  1. Diperlukan tempat penyimpanan yeng besar 
  2. Diperlukan tenaga yang terampil dalam mengolah data 
  3. Perangkat lunaknya mahal 
  4. Kerusakan di sistem basis data mempengaruhi departemen yang terkait
  5. Data dependence
  6. Data terisonr
  7. Timbulnya data rangkap
  8. Kesulitan mengakses data
  9. Masalah keamanan
  10. Kompleks