tugas basis data lanjut perancangan fisik oleh

advertisement
TUGAS BASIS DATA LANJUT
PERANCANGAN FISIK
OLEH KELOMPOK VI :
I GEDE WAHYUDI
(0808605025)
I WAYAN MUKTI ARMANA
(0808605026)
JACKY RUSMAN
(0808605027)
I GEDE CHANDRA KUSUMA
(0808605028)
I KOMANG TRISNA HANGGARA
(0808605029)
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS UDAYANA
2010
PERANCANGAN FISIK
A. Pendahuluan
Perancangan merupakan suatu hal yang sangat penting dalam pembuatan
basis data. Permasalahan yang dihadapi pada waktu perancangan yaitu bagaimana
basis data yang akan dibangun ini dapat memenuhi kebutuhan saat ini dan masa
yang akan datang. Untuk itu diperlukan perancangan basis data baik secara fisik
maupun secara konseptualnya. Perancangan konseptual akan menunjukkan entity
dan relasinya berdasarkan proses yang diiginkan oleh organsisasinya. Untuk
menentukan entity dan relasinya perlu dilakukan analisis data tentang informasi
yang ada dalam spesifikasi di masa yang akan datang.
B. Perancangan database secara fisik
Perancangan
database
secara
fisik
merupakan
tahapan
untuk
mengimplementasikan hasil perancangan database secara logis menjadi tersimpan
secara fisik pada media penyimpanan eksternal sesuai dengan DBMS yang
digunakan. Dapat disimpulkan bahwa proses perancangan fisik merupakan
transformasi dari perancangan logis terhadap jenis DBMS yang digunakan
sehingga dapat disimpan secara fisik pada media penyimpanan.
Selama fase ini, dirancang spesifikasi-spesifikasi untuk database yang
disimpan yang berhubungan dengan struktur-struktur penyimpanan fisik,
penempatan record dan jalur akses. Berhubungan dengan internal schema (pada
istilah 3 level arsitektur DBMS).
C. Tujuan perancangan fisik
Tujuan utama perancangan fisik adalah untuk mendapatkan efisiensi
dalam pemrosesan data. Dengan tercapainya efisiensi maka diharapkan sistem
informasi yang menggunakan database dapat memberikan tanggapan yang cepat
kepada pemakai yang berinteraksi dengan sistem tersebut. Dalam rangka
mencapai efisiensi pemrosesan data, acap kali efisiensi penggunaan ruang dalam
penyimpanan eksternal kurang diperhatikan. Itulah sebabya dalam pembahasan
nanti kadang ditemukan upaya yang mengorbankan penghematan ruang
penyimpanan eksternal demi tercapainya kecepatan akses terhadap data.
D. Keperluan Perancangan fisik
Untuk kepentingan perancangan fisik diperlukan informasi seperti berikut:

Relasi-relasi yang telah dinormalisasi, termasuk perkiraan jumlah baris
dalam setiap relasi.

Definisi untuk setiap atribut yang menyangkut nilai maksimum yang dapat
ditangani oleh atribut.

Penjelasan tentang tempat, waktu, dan bahkan frekuensi data yang
digunakan, dimasukkan, diubah, dan dihapus. Selain itu juga diperlukan
mengidentifikasi hak para pemakai terhadap data.

Kebutuhan waktu tanggapan yang dikehendaki oleh pemakai dan aktifitas
lain yang terkait dengan data, seperti backup, recovery, integritas dan
retensi.

Deskripsi
mengenai
teknologi
yang
digunakan
untuk
mengimplementasikan database, terutama pada DBMS yang dipakai.
Pemilihan perancangan fisik yang baik akan mempengaruhi hasil dari sebuah
data base. Beberapa petunjuk dalam pemilihan perancangan database secara fisik :
1. Response time :
waktu yang telah berlalu dari suatu transaksi database yang diajukan
untuk menjalankan suatu tanggapan. Pengaruh utama pada response time
adalah di bawah pengawasan DBMS yaitu : waktu akses database untuk data
item yang ditunjuk oleh suatu transaksi. Response time juga dipengaruhi oleh
beberapa faktor yang tidak berada di bawah pengawasan DBMS, seperti
penjadwalan sistem operasi atau penundaan komunikasi.
2. Space utility :
Jumlah ruang penyimpanan yang digunakan oleh file-file database dan
struktur jalur akses.
3. Transaction throughput :
Rata-rata jumlah transaksi yang dapat diproses per menit oleh system
database, dan merupakan parameter kritis dari sistem transaksi (misal :
digunakan pada pemesanan tempat di pesawat, bank, dll). Hasil dari fase ini
adalah penentuan awal dari struktur penyimpanan dan jalur akses untuk
filefile database.
E. Menentukan Format Data
Dalam merancang sebuah data base diperlukan format data sesuai DBMS
yang digunakan. Setiap atribut dalam relasi perlu dilengkapi dengan format data.
Format data mencakup:

Tipe data.

Panjang maksimum data.

Kekangan-kekangan tertentu terhadap data.
Penentuan format data harus dilakukan dengan tepat, dengan mengantisipasi halhal berikut:

Menggunakan ruang yang sekecil mungkin.

Mampu menampung semua kemungkinan.

Mampu menolak nilai-nilai yang tidak absah.
F. Menjaga integritas data
Secara etimologis, integritas berarti kesatuan. Dalam konteks basis data,
obyek integritas tersebut adalah data. Sehingga dapat disimpulkan bahwa
integritas data merupakan keutuhan dan kesatuan data dalam basis data sehingga
data tersebut dapat menjadi sumber informasi yang dapat digunakan.
G. Integritas Data
Integritas data merupakan masalah penting yang perlu ditangani dalam
perancangan database. Integritas data dapat dikenakan pada kolom dalam relasi
dan menjadi kekangan bagi kolom tersebut. Tipe data dan panjang maksimum
untuk data merupakan contoh dalam rangka menjaga integritas data. Dengan cara
seperti itu tidak sebarang data bias dimasukkan dalam kolom. Adapun bentuk
integritas data yang lain yaitu (1) nilai bawaan, (2) kendali jangkaun, (3) kendali
nilai Null.

Nilai bawaan (default value) adalah suatu nilai yang dengan sendirinya
akan diberikan ke kolom sekitarnya, kolom tersebut tidak diberi nilai
secara explicit oleh pemakai.

Kendali jangkauan (range control) adalah suatu control yang dilakukan
dengan menyebutkan nilai-nilai yang menjadi isi sebuah kolom yang
dinyatakan dalam bentuk suatu jangkauan, yaitu dimulai dari nilai paling
kecil hinga nilai terbesar.

Kendali nilai Null adalah penanganan boleh tidaknya suatu kolom tidak
diberi nilai
(alias Null). Jadi dapat dikenakan salah satu dari aturan
berikut:
1. Kolom tidak boleh bernilai Null
2. Kolom boleh bernilai Null.
Sebagai konsekuensi dari aturan pertama, bila terjadi penambahan record
dan kolom tersebut tidak diisi (yang bearti bernilai Null) maka penambahan
tersebut akan gagal.
Untuk memberikan gambaran lebih lanjut tentang penciptaan relasi beserta
pendefinisian atribut dan juga penerapan kekangan untuk menjaga integritas data,
perhatikan perintah SQL berikut :
CREATE TABEL DOSEN_PENDIDIKAN (
Nomor_Dosen CHAR (4) NOT NULL,
Pendidikan CHAR (3) NOT NULL,
Lulus_Tahun YEAR (4) NOT NULL,
PRIMARY KEY (Nomore_Dosen, pendidikan)
);
Relasi yang dibuat adalah DOSEN_PENDIDIKAN. Relasi ini memiliki
tiga buah kolom yaitu Nomor_dosen, pendidikan, dan Lulus_Tahun. Tipe data
yang digunakan secara berturut-turut adalah CHAR(4),CHAR(3), dan YEAR.
NOT NULL yang disertakan setelah tipe data menyatakan bahwa kolom
bersangkutan tidak boleh bernilai NULL. Yang berada dalam tanda kurung
setelah PRIMARY KEY adalah kolom-kolom yang berkedudukan sebagai kunci
primer (yaitu kunci primer komposit).
Adapun contoh berikut menunjukan penciptaan sebuah relasi bernama BARANG
CREATE TABLE BARANG (
Kode_Barang CHAR (5) NOT NULL PRIMARY KEY,
Nama_Barang CHAR (30) NOT NULL,
Harga_Jual INTEGER NOT NULL,
Jumlah SMALLINT NOT NULL DEFAULT 0
).
Pada contoh di atas, PRIMARY KEY diletakan pada Kode_Barang
dengan tujuan agar kolom tersebut bertindak sebagai kunci primer. Hal ini bias
dilakukan kalau kunci berupa kunci sederhana (dibentuk oleh satu kolom saja ).
Perhatikan pula keberadaan kata DEFAULT 0. Bagian tersebut merupakan
implementasi nilai bawaan yang telah di bahas di depan. Kode tersebut
menyatakan bahwa kalau Jumlah tidak diisi maka nilai 0 akan di berikan.
H. Menghemat Ruang Penyimpan dengan Menggunakan Kode
Pada tahapan perancangan database secara fisik, salah satu tindakan yang
sering dilakukan adalah melakukan pengkodean dengan tujuan untuk menghemat
ruang penyimpan.
Selain untuk menghemat memori, pengkodean juga dapat
mengurangi kesalahan atau ketidakkonsistenan. Sebagai contoh, perhatikan
gambar di bawah:
Kode_Agen
Nama_Agen
Kota
001
Nengah
Jakarta
002
Amir
Semarang
003
Musa
Yogya
004
Chandra
Medan
005
Ical
Yogyakarta
006
Budi
Yogya
Perhatikan tabet l diatas, pada tabel tersebut terdapat ketidakkonsistenan nama
kota yaitu Yogya dan Yogyakarta. Keadaan ini dapat dihindari dengan
menggunakan pengkodean tehadap nama kota, seperti yang ditunjukan pada
gambar dibawah :
Kode_Agen
Nama_Agen
Kode_Kota
Kode_Kota
Nama_Kota
001
Nengah
K011
K011
Jakarta
002
Amir
K012
K012
Semarang
003
Musa
K013
K013
Yogya
004
Chandra
K014
K014
Medan
005
Ical
K013
006
Budi
K013
I. Menjaga Keamanan Data
Yang perlu diperhatikan dalam merancang database secara fisik adalah
mengatur keamanan pengaksesan data. Hal ini perlu karena database
memungkinkan banyak orang bisa
mengakses data dan bisa melakukan di
berbagai tempat dan tentu saja tidak semua orang memilki wewenang yang sama
untuk mengakses setiap data. Untuk itulah setiap orang harus diberi hak akses
yang berbeda terhadap database sehingga data yang bersifat rahasia tidak diakses
oleh orang yang tidak berhak.
Pengaturan keamanan pengaksesan data dapat diatur melalui :
1. Identitas pemakai dan password
2. View
3. Hak akses
 Identitas Pemakai dan Paswword
Identitas pemakai dan password adalah level pertama untuk
menjaga keamanan terhadap pengaksesan database. Namun, dalam
praktiknya, akses langsing ke database hanya diberikan kepada sejumlah
orang tertentu. Para pemakai biasanya diberi identitas pemakai dan
password untuk mengakses system informasi. Identitas pemakai dan
password. Identitas dan pemakai yang dipakai unutuk mmengakses
database tersembunyi dalam aplikasi sistem informasi.
 View
Secara internal perancang juga dapat menentukan data mana saja
yang boleh diakses oleh seorang pemakai. View merupakan salah satu fitur
dalam database yang bisa dipakai untuk kepentingan ini. Dengan
menggunakan view, kolom tertentu dalam relasi bisa diatur agar menjadi
tersembunyi atau tidak terlihat oleh pemakai tertentu. Contoh sebuah relasi
PEGAWAI mencatat data pribadi pegawai dan juga gajinya. Berdsarkan
relasi tersebut, seseorang yang berhak melihat data pribadi tetapi tidak
untuk melihat gaji dapat diberikan suatu view seperti gambar berikut :
Relasi Pegawai
No_Pegawai
Nama
No_Pegawai
Nama
Tgl_lahir
Alamat
Gaji
View INFOPEG
Dengan cara ini seseorang pemakai yang boleh mengakses view
INFOPEG tidak bisa melihat data Tgl_lahir, Alamat dan Gaji.
View dapat dibuat melalui perintah SQL bernama CREATE VIEW.
Sebagai contoh:
CREATE VIEW INFOPEG AS
SELECT No_Pegawai, Nama
FROM PEGAWAI
akan membuat view bernama INFOPEG berisi No_Pegawai dan Nama
yang berasal dari relasi PEGAWAI.
 Hak akses
Terkait dengan hak akses, terdapat istilah wewenang atau privilege.
Wewenang adalah tindakan-tindakan yang dapat dilakukan oleh seorang
pemakai terhadap relasi atau view. Tentu saja wewenang sangat penting
ditentukan dalam perancangan fisik karena secara fungsional setiap
orangpun mempunyai hak yang berbeda dalam mengakses data. Penentuan
wewenang didasarkan pada tugas yang diemban oleh masing-masing orang
dalam organisasi/perusahaan. Adapun tindakan yan umum dilakukan
adalah :

Membaca ( SELECT / S )

Menambah ( INSERT / I )

Mengubah ( UPDATE / U )

Menghapus ( DELETE / D )
Relasi/View
Unit Penggajian
Operator
Kepala Unit
Staff
PEGAWAI
S
S
S
GAJI
S/I
S
S/U/I/D
TUNJANGAN
S/I
S
S/U/I/D
J. Metode penyimpanan data.
Terkait dengan penyimpanan data dalam penyimpanan ekternal, terdapat
istilah yang dinamakan organisai berkas. Organisasi berkas adalah suatu teknik
yang digunakan untuk mengatur record-record secara fisik dalam penyimpanan
ekternal.
Ada tiga metode dalam penyimpanan data, yaitu :
1. Metode penyimpanan Sekuensial
2. Metode penyimpanan Berindeks
3. Metode penyimpanan Hashed
 Metode Penyimpanan Sekuensial
Metode pinyampanan sekuensial merupakan metode penyimpanan
paling sederhana, karena setiap baris disimpan secara berurutan. Cara
seperti ini sering digunakan untuk keperluan backup data atau pengiriman
data.
Pembacaan data dari record pertama hingga record terakhir dapat
dilakukan dengan mudah, tetapi pencarian berdasarkan kunci akan
dilakukan sangat sulit karena harus membandingkan kata kunci dari record
pertama sampai record yang dicari telah ditemukan. Proses penyisipan
data hanya dapat dilakukan dengan melakukan penyalinan data. Proses
penghapusan record menuntut reorganisasi terhadap data. Oleh karena itu
penyimpanan sekuensial tidak digunakan dalam data base.
 Metode Penyimpanan Berindeks
Pada metode penyimpanan data berindeks, record dapat disimpan
secara sekuensial ataupun non-sekuensial, tetapi dengan tambahan berupa
tabel yang memungkinkan pencarian data dapat dilakukan dengan mudah.
Tabel itulah yang disebut indeks. Indeks adalah suatu tabel yang berisi
daftar kunci pencarian dan alamat/lokasi record.
Metode penyimpanan berindeks memungkinkan pembacaan secara
sekuensial ataupun acak (menurut kunci pencarian). Kecepatan indeks
dalam menemukan data yang dicari dapat dianalogikan dengan
keberadaan indeks dalam buku. Pada indeks buku, suatu istilah dapat
diperoleh dalam halaman yang mencantumkan istilah tersebut disebabkan
nomor halaman disebutkan dalam daftar indeks. Indeks dalam data base
juga dapat mempercepat proses pencarian suatu data sepanjang yang
menjadi kunci pencarian berada dalam indeks. Setelah ditemukan dengan
berpedoman pada alamat terkait dengan kunci yang dicari, lokasi record
bersangkutan bisa didapatkan.
Metode penyimpanan berindeks memungkinkan penambahan data ataupun
penghapusan data dengan mudah, karena indeks bersifat dinamis dan dapat
diimplementasikan dengan menggunakan teknik penyimpanan yang
memungkinkan pemutakhiran indeks dapat dilakukan dengan mudah.
Karena kemudahan yang demikian plus kemudahan dalam data secara
acak maupunsekuensial. Metode penyimpanan berindeks banyak digunkan
dalam database.
 Metode penyimpanan hashed
Metode penyimpanan hashed adalah suatu penyimpanan data yang
memungkinkan alamat masing masing dapat diperoleh melalui algoritma
hashing. Algoritma hashing adalah suatu deret kode yang memungkinkan
suatu nilai kunci konversi menjadi alamat bagi record. Dengan cara seperti
itu, pencarian berdasarkan kunci bisa dilakukan dengan sangat cepat.
Namun kelemahannya pembacaan secara sekuensial justru menjadi agak
lambat.
Perbandingan metode Hashed dengan dua metode penyimpanan lainnya.
Oerasi
Membaca data
menurut suatu
kunci
Membaca semua
data secara
sekuensial
Menyisipkan data
Menghapus data
Mengubah data
Seorganisasi data
Sekuensial
Lambat
Indeks
Cepat
Hashed
Sangat Cepat
Sangat cepat
Cepat
Agak lambat
Sangat lambat
Sangat lambat
Sangat lambat
Agak lambat
Cepat
Cepat
Cepat
Cepat
Cepat
Cepat
Cepat
Agak lambat
Referensi
 http://www.asephs.web.ugm.ac.id/Artikel/BASIS%20DATA%20DAN%20DBMS/BASIS%
20DATA%20DAN%20DBMS.pdf
 http://www.scribd.com/doc/11654305/MODUL-BASIS-DATA
iwayan.info/Lecture/DBaseLanjut.../transpM2%20-%20DBdesign.doc
 http://yunias67.wordpress.com/perancangan-data-base/perancangandatabase
 Kadir, Abdul.Dasar Perancangan dan Implementasi Database Relational.
Andi.2009
Download