Saturday, April 30, 2016

BAB 4 PERANCANGAN DATABASE

BAB 4 PERANCANGAN DATABASE
Merancang Database merupakan suatu hal yang sangat penting. Kesulitan utama datam merancang database adalah bagaimana merancang sehingga database dapat memuaskan keperluan saat ini dan masa mendatang. Perancangan model konseptual perlu dilakukan di samping perancangan model phisik. Pada perancangan konseptual akan menunjukkan entity dan relasinya berdasarkan proses yang diinginkan oleh organisasi.

Wednesday, April 13, 2016

SISTEM DATABASE III

 SISTEM DATABASE

MODEL DATA (LANJUTAN) 
  • Model Data sebelumnya : ditekankan pada pengenalan komponenkomponen dasar dalam kegiatan perancangan serta langkahlangkah teknis yang dapat dilakukan untuk mentransformasikan fakta di lapangan ke dalam sebuah model data.
  • Bab ini : mempelajari sejumlah varian komponen-komponen perancangan basis data serta proses-proses lanjutan terhadap perancangan dasar yang telah kita buat.
Varian Entitas 
  • Idealnya, himpunan entitas yang kita libatkan dalam sebuah Diagram E-R adalah himpunan entitas kuat/bebas (Strong Entity Sets). Yang dimaksud dengan himpunan entitas yang kuat/bebas adalah:
*Tidak memiliki ketergantungan dengan himpunan entitas lainnya atau dapat berdiri sendiri, contoh Himpunan entitas Mahasiswa, Dosen dan Kuliah sebagaimana yang ditunjukkan di contoh sebelumnya.
*Kemunculan entitas-entitas di dalamnya tidak tergantung pada keberadaan entitas di himpunan entitas yang lain.
*Bukan merupakan bagian (sub) dari himpunan entitas yang lain.
  • Namun demikian, dalam pembuatan Diagram E-R kita tidak selalu dapat melibatkan himpunan entitas seperti itu. Ada kalanya kita juga melibatkan himpunan entitas yang lemah (Weak Entity Sets) atau merupakan bagian dari himpunan entitas lainnya (Subtype Entities).

Monday, April 11, 2016

DATABASE BABII

BAB 2
KONSEP DATABASE SYSTEM

Terminologi
 
Entity
Entity
adalah orang, tempat, kejadian atau konsep yang informasinya direkam.
Contoh:
Entity pada Rumah Sakit adalah pasien, dokter, obat, kamar.
Entity pada Universitas adalah mahasiswa, buku, pembayaran, KHS.

Atribute
Setiap entity mempunyai atribute atau sebutan untuk mewakili suatu entity. Seorang siswa dapat dilihat dari atributenya, misalnya nama, nomor siswa, alamat, nama orang tua, hobby. Atribute juga disebut sebagai data elemen, data field, data item.

Data value (nilai atau isi data)
Data value
adalah data aktual atau informasi yang disimpan pada tiap data elemen atau atribute. Atribute nama karyawan menunjukkan tempat dimana informasi nama karyawan disimpan, sedang data value adalah Sutrisno, Budiman, merupakan isi data Nama_MHS tersebut.

Record/Tuple
Kumpulan elemen elemen yang saling berkaitan menginformasikan tentang suatu entity secara lengkap. Satu record mewakili satu data atau informasi tentang seseorang misalnya, No_MHS, Nama_MHS, Tgl_Lahir, Alamat.
Satu record terdiri dari field-field yang saling berhubungan untuk menunjukkan bahwa field tersebut dalam satu pengertian yang lengkap dan direkam dalam satu record.

File
Kumpulan record record sejenis yang mempunyai panjang elemen yang sama, atribute yang sama, namun berbeda beda data valuenya. Dalam satu file terdapat record-record yang sejenis, sama besar, sama bentuk, merupakan satu kumpulan entity yang seragam.

Database Management System (DBMS)

Database adalah Kumpulan file file yang mempunyai kaitan antara satu file dengan file yang lain sehingga membentuk satu bangunan data untuk menginformasikan satu perusahaan, instansi dalam batasan tertentu. Bila terdapat file yang tidak dapat dipadukan atau dihubungkan dengan file yang lainnya berarti file tersebut bukanlah kelompok dari satu database, ia akan dapat membentuk satu database sendiri.
Set program pengelola merupakan satu paket program yang dibuat agar memudahkan dan mengefisienkan pemasukkan atau perekaman informasi dan pengambilan atau pembacaan informasi ke dalam database.
  • Database Management System (DBMS) adalah suatu koleksi (kumpulan) data yang saling berelasi dan satu set program" untuk mengakses database (membaca data, mengisi data, menghapus data, melaporkan data).
Jadi DBMS terdiri:
  • Database
  • Set Program pengelola (untuk menambah data, menghapus data, mengambil dan membaca data).
Hubungan antara definisi di atas dapat dilihat pada gambar 1. berikut:


Kegunaan database/ Syarat database
Penyusunan satu database digunakan untuk mengatasi masalah masalah pada penyusunan
data yaitu:
  • Redundansi data
  • Inkonsistensi data
  • Kesulitan pengaksesan data 
  • Isolasi data untuk standarisasi
  • Multiple user (banyak pemakai)
  • Masalah keamanan (security)
  • Masalah integrasi (kesatuan)
  • Masalah data independence (kebebasan data)

Redundansi Data
Jika file file dan program aplikasi diciptakan oleh programmer yang berbeda pada waktu yang berselang cukup panjang, maka ada beberapa bagian data mengalami penggandaan pada file file yang berbeda.
Sebagai contoh:
alamat dan nomor telpon dari pelanggan kita tercatat pada file Deposito juga pada file Rekening Koran dan juga file Nasabah. Penyimpanan dibeberapa tempat untuk data yang sama ini disebut sebagai redundansi dan mengakibatkan pemborosan ruang penyimpanan dan juga biaya untuk mengakses jadi lebih tinggi.

Inkonsistensi Data
Penyimpanan data yang sama berulang ulang dibeberapa file dapat mengakibatkan juga inkonsistensi (tidak konsisten). Hal ini terjadi bila suatu ketika pelanggan tersebut pindah alamat dan nomor telponnya maka seharusnya ketiga file yang memuat data tersebut harus diubah/ diupdate. Bila salah satu saja dari file yang mengandung data tersebut terlewat di update maka terjadilah tidak konsisten tadi.

Kesulitan dalam pengaksesan data
Pada suatu saat dibutuhkan untuk mencetak data siapa saja pelanggan yang berada di kode pos 55122 Yogyakarta, padahal belum tersedia program yang telah ditulis untuk mengeluarkan data tersebut. Maka kesulitan tersebut timbul, dan penyelesaian untuk itu adalah kearah DBMS yang mampu mengambil data secara langsung dengan bahasa yang familiar dan mudah digunakan (user friendly).

Isolasi Data untuk standarisasi
Jika data tersebar dalam beberapa file dalam bentuk format yang tidak sama, maka ini menyulitkan dalam menulis program aplikasi untuk mengambil dan menyimpan data. Maka haruslah data dalam satu database dibuat satu format sehingga mudah dibuat program aplikasinya. Dapat dibayangkan betapa sulitnya membuat program aplikasi bilamana data dibuat dari format text file Pascal, BASIC, C++, dan juga format dari versi Lotus 123 dan lainnya.

Multiple User (Banyak pemakai)
Salah satu alasan mengapa database dibangun karena nantinya data tersebut digunakan oleh banyak orang dalam waktu yang berbeda, di akses oleh program yang sama tapi berbeda orang dan waktu. Dalam rangka mempercepat semua daya guna sistem dan mendapat responsi waktu yang cepat, beberapa sistem mengijinkan banyak pemakai untuk meng"update" data secara simultan. Semua ini memungkinkan terjadi karena data yang diolah tidaklah tergantung dan menyatu dalam program tapi ia terlepas dalam satu kelompok data.

Masalah keamanan (security)
Tidak setiap pemakai sistem database diperbolehkan untuk mengakses semua data. Misalkan data mengenai gaji pegawai hanya boleh dibuka oleh bagian keuangan dan personalia, tidak diperkenankan bagian gudang membaca dan mengubahnya.
Keamanan ini dapat diatur lewat program yang dibuat oleh pemrogram atau fasilitas keamanan dari operating sistem misalnya Novell Netware untuk Local Area Network.

Masalah integritas (kesatuan).
Database berisi file file yang saling berkaitan, masalah utama adalah bagaimana kaitan antara file tersebut terjadi. Meskipun kita mengetahui bahwa file A berkaitan dengan file B, namun secara teknis maka ada field kunci yang mengaitkan kedua file tersebut.

Masalah Data Independence (Kebebasan Data)
Bagaimana kita mampu menciptakan dimana antara program dan database pada keadaan terpisah. Sehingga perintah-perintah dalam paket DBMS bebas terhadap database. Namun perlu pula dipikirkan bagaimana bila ada syarat terhadap database yang ada. Misalnya syarat pengambilan uang tabungan Bank adalah harus disisakan paling minimal 25000. Syarat ini tentu dimasukkan dalam aplikasi program yang dibangun. Namun bagaimanakah bila suatu ketika syarat itu telah bergeser dari syarat 25000 menjadi 50000 ?. Disini aplikasi program yang telah dibangun haruslah diubah dan ini menunjukkan ketidak bebasan program yang dibuat terhadap database.

Abstraksi Data (data abstraction)
Sistem yang sesungguhnya tentang teknis bagaimana data disimpan dan dipelihara seakan akan disembunyikan kerumitannya dan kemudian diungkapkan dalam bahasa dan gambar yang mudah dimengerti orang awam.
Pemakai/ user dapat dikelompokkan menjadi tiga tingkatan abstraksi saat memandang suatu
database, yaitu
  • Level Phisik
Level abstraksi paling rendah, menggambarkan bagaimana (how) data disimpan dalam kondisi sebenarnya. Level ini tentu paling komplek, struktur data level terendah digambarkan pada level ini Level Konseptual Level abstraksi data level lebih tinggi yang menggambarkan data apa (what) yang disimpan dalam database, dan hubungan relasi yang terjadi antara data. Level ini menggambarkan keseluruhan database. Pemakai tidak memperdulikan kerumitan dalam struktur level phisik lagi, penggambaran cukup dengan memakai kotak, garis dan keterangan secukupnya. Level koseptual ini digunakan oleh database administrator, yang memutuskan informasi apa yang akan dipelihara dalam satu database.
  • Level Pandangan Pemakai (View Level)
Level abstraksi tertinggi yang menggambarkan hanya satu bagian dari keseluruhan database. Pada level ini hanya sebagian saja yang dilihat dan dipakai, hal ini disebabkan beberapa pemakai database tidak membutuhkan semua isi database. Level ini sangat dekat
dengan user/ pemakai, ada beberapa kelompok user dengan pandangan berbeda butuh data
dalam database.
Misalkan bagian Personalia hanya memakai data file Karyawan, Gaji, tidak membutuhkan
data file Gudang, Traksaksi Barang Masuk.
Demi kemudahan interaksi antara pemakai dengan sistem, maka view level ini

didefinisikan. Jadi ada beberapa pandangan disusun untuk mengakses satu sistem database
yang sama.
Hubungan antar level tersebut dapat digambarkan sebagai sebagai berikut:
Gambar 2. Level Abstraksi Data
Konsep dari level ini akan menambah pengertian mengenai kebebasan data (data
independence). Data independence dapat dibagi menjadi dua bagian yaitu:
1. Physical Data Independence
Kebolehan untuk mengubah pola phisik database tanpa mengakibatkan suatu aplikasi
program ditulis kembali. Modifikasi pada level phisik biasanya pada saat meningkatkan
daya guna.
2. Logical data independence
Kebolehan untuk mengubah pola konseptual tanpa mengakibatkan suatu aplikasi
program ditulis kembali. Modifikasi pada level konseptual teristimewa saat struktur
logika database berubah, ditambahkan atau dikurangi.
Modul Sistem Basis Data – hal 11
Gambar 3. Arsitektur Sistem Database
Paket Bahasa
Data Definition Language
Paket bahasa dalam DBMS dibagi menjadi beberapa definisi. Pola/scheme database di
spesifikasikan dengan satu set definisi yang diekspresikan dengan satu bahasa khusus disebut
DDL (Data Definition Language).
Struktur penyimpan dan metode akses yang digunakan sistem database dispesifikasikan
dengan satu set definisi dalam satu tipe DDL disebut sebagai Data Storage dan Definition
Language.
Hasil kompilasi dari definisi itu adalah satu set perintah yang menspesifikasikan suatu terapan
yang rinci dari pola database yang biasanya tersembunyi dari user/ pemakai.
Sebagai contoh perintah itu adalah perintah CREATE, MODIFY REPORT, MODIFY
STRUCTURE
Data Manipulation Language
Data Manipulation Language (DML) adalah bahasa yang memperbolehkan pemakai untuk
akses atau manipulasi data yang telah diorganisasikan sebelumnya dalam model data yang
tepat.
Dengan DML berarti akan
 mengambil informasi yang tersimpan di database
 menyisipkan informasi baru ke database
 menghapus informasi dari database
Modul Sistem Basis Data – hal 12
Secara dasar ada dua tipe DML:
1. Procedural
yang membutuhkan pemakai untuk menspesifikasikan data apa yang dibutuhkan dan
bagaimana untuk mendapatkannya.
2. Non procedural
yang membutuhkan pemakai untuk menspesifikasikan data apa yang dibutuhkan tanpa
menspesifikasikan bagaimana untuk mendapatkannya.
Paket bahasa Procedural DML adalah dBASE III, FoxBASE, sedang Non Procedural DML diberi
nama SQL (Structural Query Language), QBE (Query By Example).
Query
Adalah pernyataan yang diajukan untuk mengambil informasi. Merupakan bagian DML yang
untuk pengambilan informasi, disebut Query Language.
Pengguna Database
Database Manager
Satu database manager adalah satu modul program yang menyediakan interface antara
penyimpanan data low-level dalam database dengan satu aplikasi program dan query yang
diajukan ke sistem.
Tugas dan tanggung jawab Database Manager:
• Interaksi dengan manager file
• Integrity Enforcement (integritas)
• Security Enforcement (keamanan)
• Backup dan recovery
• Concurency Control
Untuk paket program yang ditulis dalam PC pada saat tahun 1990 keistimewaan tersebut tidak
sepenuhnya ada.
Database Administrator
Database Administrator adalah orang yang mempunyai kekuasaan sebagai pusat pengontrolan
terhadap seluruh sistem baik data maupun program yang mengakses data.
Fungsi database adminsitrator adalah:
• Mendefinisi pola struktur database
• Mendefinisikan struktur penyimpanan dan metode akses
• Mampu memodifikasi pola dan organisasi phisik
• Memberikan kekuasaan pada user untuk mengakses data
• Menspesifikasikan keharusan/ paksaan integritas data
Database User
Satu tujuan utama dati sistem database adalah menciptakan suasana bagaimana informasi
dibaca dan data baru disimpan dalam database.
Modul Sistem Basis Data – hal 13
Ada 4 macam pemakai database yang berbeda keperluan dan cara aksesnya yaitu:
1. Programmer Aplikasi (PA)
Adalah profesional komputer yang berinteraksi dengan sistem lewat DML yang dibuat
dengan bahasa C, Cobol dan lainnya. Program program yang dibuat disebut sebagai
program aplikasi, misalnya untuk perbankan, administrasi, akuntansi dan lain lain. Syntax
DML berbeda dengan syntax bahasa komputer umumnya.
2. Casual User (sepintas lalu, tidak tetap)
Pemakai yang telah berpengalaman, berinteraksi dengan sistem tanpa menulis program,
tetapi memakai bahasa query. Setiap Query akan mengajukan ke query processor yang
mengambil dari perintah DML.
3. Naive User
Pemakai yang tidak berpengalaman, berinteraksi dengan sistem tanpa menulis program,
tinggal menjalankan satu menu dan memilih proses yang telah ada atau telah dibuat
sebelumnya oleh programmer.
4. Specialized User
Pemakai khusus yang menuliskan aplikasi database tidak dalam kerangka data processing
yang tradisional. Aplikasi tersebut diantaranya adalah Computer Aided Design System,
Knowledge Base, Expert System, sistem yang
menyimpan data dalam bentuk data yang komplek misalnya data grafik, data audio.
Hubungan antara user dapat dilihat pada gambar berikut:
Modul Sistem Basis Data – hal 14
Gambar 4. Struktur Sistem Database