PERANCANGAN BASIS DATA,
Definisi Basisdata,
Beberapa definisi basisdata (database) adalah sbb:
- Sekumpulan
data store(bisa dalam jumlah besar) yang tersimpan dalam magnetic disk, optical disk, dan media penyimpan sekunder lainnya.
- Sekumpulan
program-program aplikasi umum yang mengeksekusi dan memproses data secara umum
(hapus,cari,update,dll)
- Basisdata
terdiri dari data yang di-share bagi banyak user dan memungkinkan penggunaan
data yang sama pada waktu bersamaan oleh banyak user.
- Koleksi
terpadu dari data-data yang saling berkaitan dari suatu enterprise.Mis.
Basisdata RS akan terdiri dari data-data seperti pasien, karyawan, dokter,
perawat, dll.
Definisi Perancangan Basisdata,
Perancangan Database adalah proses untuk menentukan isi dan pengaturan
data yang dibutuhkan untuk mendukung berbagai rancangan sistem.
Tujuan Perancangan Database :
• untuk memenuhi informasi yang
berisikan kebutuhan-kebutuhan user
secara khusus dan aplikasi-aplikasinya.
• memudahkan pengertian struktur informasi.
• mendukung kebutuhan-kebutuhan pemrosesan dan beberapa obyek
penampilan (response
time, processing time, dan
storage space).
Proses Perancangan Database,
6 Fase proses perancangan database :
1. Pengumpulan
data dan analisis
2. Perancangan
database secara konseptual
3. Pemilihan DBMS
4. Perancangan
database secara logika
(data model mapping)
5. Perancangan
database secara fisik
6. Implementasi
Sistem
database.
6 fase di atas tidak harus diproses berurutan. Pada beberapa hal,
Rancangan tsb dapat dimodifikasi dari yang pertama dan
sementara itu mengerjakan fase yang terakhir (feedback loop
antara fase) dan feedback loop dalam fase sering terjadi selama
proses perancangan.
Fase 1 :
Pengumpulan data dan analisa
Proses identifikasi dan analisa kebutuhan-kebutuhan data
disebut pengumpulan data dan analisa. Untuk menentukan
kebutuhan-kebutuhan suatu sistem database,pertama-tama
harus mengenal bagian-bagian lain dari sistem informasi
yang akan berinteraksi
dengan sistem
database, termasuk
para pemakai yang ada dan para pemakai yang baru serta
aplikasi-aplikasinya. Kebutuhan-kebutuhan dari para
pemakai dan aplikasi-aplikasi inilah yang kemudian
dikumpulkan dan dianalisa.
Aktifitas-aktifitas pengumpulan data dan analisa :
1. Menentukan kelompok pemakai dan bidang-bidang
aplikasinya.
2. Peninjauan dokumentasi
yang ada.
3. Analisa lingkungan operasi dan pemrosesan
data.
4. Daftar pertanyaan dan wawancara.
Fase 2 :
Perancangan database konseptual
Tujuan dari fase ini adalah menghasilkan
conceptual
schema untuk database yang tergantung pada
sebuah DBMS
yang spesifik. Sering menggunakan
sebuah
high-level data model seperti ER/EER model
selama fase ini. Dalam conceptual schema, kita
harus merinci aplikasi-aplikasi database yang
diketahui dan transaksi-transaksi yang mungkin.
Aktifitas paralel perancangan database secara
konseptual :
1. Perancangan
skema konseptual :
Menguji kebutuhan-kebutuhan data dari suatu database yang
merupakan hasil dari
fase 1, dan menghasilkan
sebuah conceptual database schema pada DBMS
independent
model data tingkat tinggi seperti EER
(enhanced entity
relationship) model.
2. Perancangan transaksi :
Menguji aplikasi-aplikasi database dimana kebutuhan-kebutuhannya
telah dianalisa
pada
fase 1, dan menghasilkan perincian transaksi-transaksi ini.
Fase 3 :
Pemilihan DBMS
Pemilihan
database ditentukan oleh beberapa faktor, diantaranya:
1. Struktur data
Jika data
yang disimpan dalam
database mengikuti struktur
hirarki, maka suatu jenis hirarki dari DBMS
harus dipikirkan.
2. Personal yang telah terbiasa dengan suatu sistem
Jika staf
programmer dalam suatu organisasi sudah terbiasa
dengan suatu
DBMS, maka hal ini dapat mengurangi biaya
latihan dan waktu belajar.
3. Tersedianya layanan penjual
Keberadaan fasilitas pelayanan penjual sangat dibutuhkan
untuk membantu memecahkan beberapa masalah sistem.
4. Teknik
Keberadaan DBMS
dalam menjalankan
tugasnya seperti jenis
-jenis DBMS
(relational, network, hierarchical, dll), struktur
penyimpanan,
dan jalur akses yang
mendukung
DBMS,
pemakai, dll.
Fase 4 :
Perancangan database secara logika
(pemetaan model
data)
Fase selanjutnya
dari perancangan
database adalah :
Membuat sebuah skema konseptual dan skema eksternal
pada
model data dari DBMS
yang terpilih. Fase ini
dilakukan oleh pemetaan skema konseptual dan skema
eksternal yang
dihasilkan pada fase 2. Pada fase ini,
skema konseptual ditransformasikan dari model data
tingkat tinggi yang
digunakan pada fase 2 ke dalam
model data dari DBMS yang dipilih pada fase 3.
Pemetaan diproses dalam 2 tingkat :
1. Pemetaan
system-independent :
Pemetaan ke dalam
model data DBMS dengan tidak
mempertimbangkan karakteristik atau hal-hal yang khusus yang berlaku pada
implementasi DBMS dari model
data tsb.
2 . Penyesuaian skema ke DBMS yang spesifik :
mengatur skema yang
dihasilkan pada langkah 1 untuk disesuaikan
pada
implementasi
yang khusus di masa yang
akan datang dari suatu
model data yang
digunakan pada DBMS
yang dipilih.
Fase 5 :
Perancangan database fisik
Perancangan
database secara fisik merupakan proses
pemilihan struktur-struktur penyimpanan dan jalur-jalur
akses pada
file-file database untuk mencapai penampilan
yang terbaik pada bermacam-macam aplikasi.
Selama fase ini, dirancang spesifikasi-spesifikasi untuk
database yang disimpan yang berhubungan dengan
struktur-struktur penyimpanan fisik, penempatan record
dan jalur akses.
Petunjuk 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-Struktur jalur akses.
3. Transaction throughput :
Rata-rata
jumlah transaksi yang
dapat diproses per menit oleh sistem
database,
dan merupakan
parameter kritis dari sistem transaksi (misal, digunakan pada
pemesanan tempat di pesawat,
bank, dll). Hasil dari fase ini adalah penentual awal
dari struktur penyimpanan
dan jalur akses untuk
file-file database.
Fase 6 :
Implementasi sistem database
Setelah perancangan
secara logika dan secara fisik lengkap,
kita dapat melaksanakan
sistem
database. Perintah-perintah
dalam DDL dan
SDL(storage definition language) dari DBMS
yang dipilih, dihimpun dan digunakan untuk membuat skema
database dan file-file database (yang kosong) kemudian
database tsb dimuat (disatukan) dengan datanya.
Jika data
harus dirubah dari sistem komputer sebelumnya,
perubahan-perubahan yang rutin mungkin diperlukan untuk
format ulang datanya yang kemudian dimasukkan ke
database yang baru. Transaksi-transaksi database sekarang
harus dilaksanakan
oleh para programmmer
aplikasi.
ALASAN PERANCANGAN
BASIS DATA,
o Sistem
basis data telah menjadi bagian dalam sistem informasi suatu organisasi.
o Kebutuhan
menyimpan data dl jumlah besar semakin mendesak.
o Fungsi-fungsi dalam organisasi semakin dikomputerisasikan.
o Semakin
kompleks data & aplikasi
yg digunakan, maka relationship antar
data harus
dimodelisasikan.
o Dibutuhkannya kemandirian data.
KONVERSI & LOADING
DATA
oTahap
ini dilakukan apabila sistem basis data yg
ada digantikan sistem basis data baru
oSemua
data yg ada ditransfer ke basis data baru
& konversi aplikasi yg ada utk basis data
baru.
PENGOPERASIAN &
PERAWATAN
o Pengoperasian basis data setelah
divalidasi
o Memonitor
kinerja sistem, jika tidak sesuai perlu reorganisasi basis data
o Perawatan
& upgrade sistem aplikasi basis data jika
diperlukan.
Model Konseptual Basis Data,
Model konseptual merupakan kombinasi beberapa cara untuk
memproses data
untuk beberapa aplikasi. Pada perancangan
model
konseptual
basis data ini penekanan dilakukan pada struktur data
dan
relasi antara
field.
Pada perancangan
model konseptual ini dapat dilakukan dengan
menggunakan
model data relasional.
Teknik Normalisasi
Proses normalisasi
adalah proses pengelompokan
data elemen menjadi
tabel-tabel
yang menunjukkan
entity dan relasinya. Pada proses normalisasi
dilakukan pengujian pada beberapa kondisi apakah ada kesulitan pada saat
menambah/menyisipkan,
menghapus, mengubah dan mengakses pada suatu
Basis data.
Bila terdapat kesulitan pada pengujian tersebut maka perlu dipecahkan relasi
pada beberapa tabel lagi atau dengan kata lain
perancangan
basis data belum
optimal.
Contoh:
- Tabel usermanager yang dapat dinormalisasi ke beberapa aplikasi.
Entity
Entity atau entitas, dalam basis data entity
sama halnya dengan sebuah tabel.
Atribut
Atribut, dalam
basis data sama halnya
dengan
field.
Jenis Atribut
o Atribut Sederhana
o Atribut Komposit
o Atribut Bernilai Tunggal
o Atribut Bernilai Jamak
o Atribut Harus Bernilai
o Atribut Bernilai Null
o Atribut Turunan
Atribut Sederhana
Atribut Sederhana : atribut sederhana merupakan atribut atomik
yang tidak dapat lagi dipecah menjadi atribut lain.
Contoh:
Entitas mahasiswa mempunyai atribut sederhana berupa NIM,
Nama
Mahasiswa .
Atribut Komposit
Atribut Komposit : atribut komposit merupakan atribut yang masih
dapat dipecah menjadi
sub-sub atribut yang
masing-masing
memiliki arti
tesendiri.
Contoh:
Entitas mahasiswa mempunyai atribut alamat. Maka alamat disini dapat
dipecah menjadi sub atribut seperti kota, kab, kode_pos.
Entitas dosen mempunyai atribut nama_dosen. Maka nama disini dapat
dipecah menjadi sub atribut lain
seperti glr_dpn, nama, glr_blk.
Atribut Bernilai Tunggal
Atribut Bernilai Tunggal : atribut yang hanya memiliki satu nilai untuk
setiap barisnya.
Contoh:
entitas mahasiswa mempunyai atribut NIM,
nama, alamat isi data
dari atribut ini hanya boleh diisi dengan 1
data.
Setiap mahasiswa hanya memiliki 1
NIM, 1 Nama, 1 Alamat.
Atribut Bernilai Jamak
Atribut Bernilai Jamak : yaitu atribut yang boleh memiliki lebih dari
satu nilai untuk setiap barisnya.
Contoh:
entitas mahasiswa mempunyai atribut
Hobby isi data
dari atribut ini
boleh lebih dari 1
data. Mahasiswa Roshita memiliki NIM
04102002
beralamat di Jalan
Garuda 32 Yogyakarta memiliki Hobby (Olah Raga,
Nyanyi, Masak dan Nonton TV)
Atribut Harus Bernilai (not null)
Atribut Harus Bernilai : yaitu atribut yang harus memiliki nilai data
untuk setiap barisnya. Biasanya atribut seperti ini sudah ditetapkan
dalam perancangan
tabelnya sehingga jika dalam pengisian di kosongi
akan terjadi kesalahan.
Contoh:
entitas mahasiswa mempunyai atribut NIM dan nama_mahasiswa
yang
harus diisi
datanya, sebab jika tidak diisi akan terjadi kesalahan
(error) dalam
basis
data
Atribut Bernilai Null (is null)
Atribut Bernilai Null : yaitu atribut yang boleh tidak memiliki nilai data
untuk setiap barisnya.
Contoh:
entitas mahasiswa mempunyai atribut
hobby, nama_pacar yang
boleh
tidak terisi.
Atribut Turunan
Atribut Turunan : yaitu atribut yang nilai-nilainya diperoleh dari
pengolahan atau dapat diturunkan dari atribut lain
yang berkaitan.
Contoh:
entitas mahasiswa mempunyai atribut IPK
yang diperoleh dari
pengolahan atribut Nilai pada tabel (entitas Nilai) dengan kode NIM
mahasiswa yang
sama dan diproses sehingga menghasilkan
IPK untuk
mahasiswa yang
bersangkutan.
Field (Atribut) Kunci
setiap
field selalu terdapat kunci berupa
field atau satu set
field
yang dapat mewakili record.
Misalnya Nomor Induk Mahasiswa
(NIM) merupakan
kunci dari tabel mahasiswa suatu Perguruan Tinggi, setiap pencarian
cukup dengan menyebut NIM mahasiswa tersebut maka dapat diketahui
identitas mahasiswa lainnya seperti nama, alamat dan atribut lainnya.
Contoh
lain:
Nomor Pegawai
(NIDN) bagi data
dosen, NIK
untuk data
karyawan,
Kode_Kuliah
untuk data
Mata kuliah, dan lain
sebagainya.
Kunci Kandidat (Candidate Key)
Kunci kandidat adalah satu atribut atau satu set atribut yang
mengidentifikasikan secara unik suatu kejadian spesifik dari entity.
Satu set atribut menyatakan secara tidak langsung dimana anda tidak
dapat membuang beberapa atribut dalam set tanpa merusak
kepemilikan
yang unik.
Kunci Kandidat (Candidate Key)
Contoh:
Kunci kandidat dalam tabel pegawai di disamping
dapat dipilih sbb :
o nik
o no_ktp
o nama_pegawai (tidak dapat dipakai karena sering seseorang punya nama yang
sama dengan orang lain)
o tmp + tgl Lahir (mungkin bisa dipakai sebagai kunci karena kemungkinan orang dengan nama yang sama dan tanggal lahir yang
sama cukup kecil)
o nama + tmp + tgl_lahir (dapat dipakai sebagai kunci)
o alamat dan kota (bukan kunci)
Tabel pegawai berisi
field:
o nik
o no_ktp
o nama_pegawai
o tmp_lahir
o tgl_lahir
o alamat
o kota
Kunci Kandidat (Candidate Key)
Contoh Kasus:
Tentukan Kunci Kandidat dari tabel tersebut
Tabel mt_kuliah berisi
field:
o id_matkul
o kode_matkul
o nama_matkul
o kurikulum
o semester
o sks
o nilai_minimum
Kunci kandidat dalam tabel mt_kuliah di disamping
dapat dipilih sbb :
o id_matkul
o kode_matkul
o nama_matkul (mungkin bisa dipakai sebagai kunci karena kemungkinan nama matkul dengan yang lain ada perbedaan)
o kurikulum + semester + sks + nilai_minimum (tidak dapat dipakai karena sering matkul punya data yang
sama dengan matkul lain)