Anda di halaman 1dari 30

Pokok Bahasan 03

LINGKUNGAN BASIS DATA


Kekangan Dalam Basis Data
 Penyusunan basis data digunakan untuk mengatasi
masalah-masalah pada penyusunan data, yaitu :
 Redundansi data
 Inkonsistensi data
 Isolasi data untuk standarisasi
 Sekuriti Data
 Masalah integritas (integrity)
 Banyak pemakai (multi user)
 Masalah kebebasan data (independence)
Redundansi Data
 Yaitu munculnya data-data yang sama secara
berulang-ulang pada beberapa file basis data yang
semestinya tidak diperlukan
 Akan mengakibatkan proses updating lebih lama dan
memungkinkan terjadinya inconsistency data
 Contoh :
 File Mahasiwa  Nama text(20), Nomhs text(10), alamat
text(40)
 File KRS  Nama text(20), Nomhs text(10), Jml_Mtk integer
Data Inconsistency
 munculnya data yang tidak konsisten pada field yang
sama untuk beberapa file dengan kunci yang sama
 harus dihindari, karena akan mengakibatkan
kesalahan informasi

Penyebab utama:
 Data redundancy
 Penyebab lainnya:
 data entry yang tidak benar
 update yang tidak benar
 pengendalian sistem yang tidak baik / terkontrol
Redundansi & Data Inconsistency
 Kasus:
 Kerangkapan data dalam 1 file
 Kerangkapan data dalam >1 file
Contoh 1 : Kerangkapan data dalam 1 file
Kerangkapan dlm 1 file

Rangkap

Karyawan

NIK Nama_Karyawan Alamat Gol_Gaji Gaji_Pokok


K001 Andi Mandonga IIIA 1.500.000
K002 Ani Kemaraya IVA 1.750.000
K003 Ana Poasia IIIA 1.500.000
K004 Anto Powatu IIIB 1.550.000
K005 Abi Wuawua IVA 1.750.000
Contoh 1 : Kerangkapan data dalam 1 file
Karyawan
NIK Nama_Karyawan Alamat Gol_Gaji Gaji_Pokok

K001 Andi Mandonga IIIA 1.500.000

K002 Ani Kemaraya IVA 1.750.000

K003 Ana Poasia IIIA 1.500.000

K004 Anto Powatu IIIB 1.550.000

K005 Abi Wuawua IVA 1.750.000

Solusi: Tabel dipecah berdasarkan kolom yang rangkap


Karyawan_1 Golongan
NIK Nama_Karyawan Alamat Gol_Gaji Gol_Gaji Gaji_Pokok

K001 Andi Mandonga IIIA IIIA 1.500.000


K002 Ani Kemaraya IVA IIIB 1.550.000
K003 Ana Poasia IIIA … …
K004 Anto Powatu IIIB IVA 1.750.000
K005 Abi Wuawua IVA … …
Contoh 2 : Kerangkapan data dalam 1 file

Rangkap Rangkap
Mahasiswa
NIM Nama_Mahasiswa Kode_Matakuliah Nama_Matakuliah
02050001 Rita MK001 Pemrograman I
02050001 Rita MK002 Pemrograman II
02050001 Rita MK003 Pemrograman III
02050002 Rina MK001 Pemrograman I
02050002 Rina MK002 Pemrograman II
02050002 Rina MK003 Pemrograman III
02050002 Rina MK004 Pemrograman IV
02050003 Rini MK001 Pemrograman I
02050003 Rini MK002 Pemrograman II
02050004 Rani MK001 Pemrograman I
02050004 Rani MK002 Pemrograman II
02050005 Rika MK001 Pemrograman I
02050005 Rika MK002 Pemrograman II
Contoh 2 : Kerangkapan data dalam 1 file
Solusi: Tabel dipecah berdasarkan kolom yang rangkap
Mahasiswa
NIM Nama_Mahasiswa Kode_Matakuliah Nama_Matakuliah
02050001 Rita MK001 Pemrograman I
02050001 Rita MK002 Pemrograman II
02050001 Rita MK003 Pemrograman III
02050002 Rina MK001 Pemrograman I
02050002 Rina MK002 Pemrograman II
02050002 Rina MK003 Pemrograman III
02050002 Rina MK004 Pemrograman IV
02050003 Rini MK001 Pemrograman I
02050003 Rini MK002 Pemrograman II
02050004 Rani MK001 Pemrograman I
02050004 Rani MK002 Pemrograman II
02050005 Rika MK001 Pemrograman I
02050005 Rika MK002 Pemrograman II
Contoh 2 : Kerangkapan data dalam 1 file
Mahasiswa_1
NIM Nama_Mahasiswa KRS
02050001 Rita NIM Kode_Mata_Kuliah
02050002 Rina 02050001 MK001
02050003 Rini 02050001 MK002
02050003 Rini 02050001 MK003
02050004 Rani 02050002 MK001
02050005 Rika 02050002 MK002
02050002 MK003
02050002 MK004
02050003 MK001
Matakuliah
02050003 MK002
Kode_Mata_Kuliah Nama_Mata_Kuliah 02050004 MK001
MK001 Pemrograman I 02050004 MK002
MK002 Pemrograman II 02050005 MK001
MK003 Pemrograman III 02050005 MK002
MK004 Pemrograman IV
Kerangkapan data dalam 1 file
 Kesimpulan:
 Solusi untuk kerangkapan data dalam 1 file:
 Diatasi dengan cara memecah file
 Jumlah file baru yang terbentuk tergantung
pada banyaknya kerangkapan data
Contoh 3 : Kerangkapan data dalam >1 file

Rangkap
Mahasiswa Minat_Mahasiswa

NIM Nama_Mahasiswa NIM Nama_Mahasiswa Minat


02050001 Rita 02050001 Rita Pemrograman
02050002 Rina 02050002 Rina Jaringan
02050003 Rini 02050003 Rini Web
02050004 Rani 02050004 Rani Basis Data
02050005 Rika 02050005 Rika Multimedia
Contoh 3 : Kerangkapan data dalam >1 file

Solusi: Menghapus kolom yang rangkap, sesuai kelompok datanya

dihapus
Mahasiswa Minat_Mahasiswa

NIM Nama_Mahasiswa NIM


NIM Minat
Nama_Mahasiswa Minat
02050001 Rita 02050001
02050001 Pemrograman
Rita Pemrograman
02050002 Rina 02050002
02050002 Jaringan
Rina Jaringan
02050003 Rini 02050003
02050003 Web
Rini Web
02050004 Rani 02050004
02050004 Basis
Rani Data Basis Data
02050005 Rika 02050005
02050005 Multimedia
Rika Multimedia
Kerangkapan data dalam >1 file
 Kesimpulan:
 Solusi untuk kerangkapan data dalam > 1 file:
 Diatasi dengan cara menghapus kolom yang
rangkap
 Penghapusan dilakukan sesuai kelompok
datanya
Data Isolation
 Disebabkan oleh pemakaian beberapa file BD dimana program
aplikasi tidak dapat mengakses data2 dari file tertentu, kecuali
bila program aplikasi diubah / ditambah
 Seolah-olah ada file yg terpisah/terisolasi terhadap file yang lain
dalam BD
 Harus dihindari
 Akan mengakibatkan informasi tidak lengkap
 Sedangkan nilai informasi sangat tergantung pada sifat luas
& kelengkapan
 Data terisolasi mengakibatkan informasi hasil pengolahan
data-data dalam BD menjadi tidak bernilai
Data Isolation
 Penyebab:
 Tidak ada hubungan antar data
 Domain data tidak standar
 tipe
 ukuran
 range
Contoh : Tidak ada hubungan antar data
Mahasiswa Minat_Mahasiswa

NIM Nama_Mahasiswa NIM Minat


02050001 Rita 02050001 Pemrograman
02050002 Rina 02050002 Jaringan
02050003 Rini 02050003 Web
02050004 Rani 02050004 Basis Data
02050005 Rika 02050005 Multimedia

Pembimbing_Minat

Kode-Pembimbing Nama_Pembimbing
Tidak ada hubungan
P001 Dani
antar data
P002 Dina
P003 Dino
P004 Dion
P005 Doni
Contoh : Tidak ada hubungan antar data
 Solusi 1 baik
 Jk ada kemungkinan bahwa seorang pembimbing
dapat membimbing > 1 minat
 Penambahan file Membimbing terhindar dari
kerangkapan data Nama_Pembimbing
Contoh : Tidak ada hubungan antar data
Mahasiswa Minat_Mahasiswa

NIM Nama_Mahasiswa NIM Minat


02050001 Rita 02050001 Pemrograman
02050002 Rina 02050002 Jaringan
02050003 Rini 02050003 Web
02050004 Rani 02050004 Basis Data
02050005 Rika 02050005 Multimedia

Pembimbing_Minat Membimbing

Kode-Pembimbing Nama_Pembimbing Kode_Pembimbing Minat


P001 Dani P001 Pemrograman
P002 Dina P002 Jaringan
P003 Dino P003 Web
P004 Dion P004 Basis Data
P005 Doni P005 Multimedia
Contoh : Tidak ada hubungan antar data

 Solusi 2
 Modifikasi file Pembimbing_Minat
 Menambah kolom Minat
 Berfungsi untuk menghubungkan antar data-data
dlm file Pembimbing_Minat dgn Minat_Mahasiswa_1
Contoh : Tidak ada hubungan antar data
Mahasiswa Minat_Mahasiswa

NIM Nama_Mahasiswa NIM Minat


02050001 Rita 02050001 Pemrograman
02050002 Rina 02050002 Jaringan
02050003 Rini 02050003 Web
02050004 Rani 02050004 Basis Data
02050005 Rika 02050005 Multimedia

Pembimbing-Minat
Kode_Pembimbing Nama_Pembimbing Minat
P001 Dani Pemrograman
P002 Dina Jaringan
P003 Dino Web
P004 Dion Basis Data
P005 Doni Multimedia
Contoh : Tidak ada hubungan antar data
 Solusi 2 baik
 Jika tidak ada kemungkinan seorang pembimbing
membimbing >1 minat
 Penambahan kolom Minat dlm file
Pembimbing_Minat lebih efisien
Contoh : Tidak ada hubungan antar data
 Masalah pada solusi 1 & 2
 Ketika ukuran nilai rinci data minat sangat
panjang
 Maka data Minat tidak efisien
Contoh : Tidak ada hubungan antar data

Solusi 3
 Modifikasi file Minat
 Membuat kode data Minat
 Baik jika:
 Jenis minat mahasiswa dapat bermacam-macam
 1 mahasiswa dapat memiliki >1 minat
 Dapat muncul jenis minat baru
 Jenis minat dapat berubah-ubah
Contoh : Tidak ada hubungan antar data
Mahasiswa Minat
NIM Nama_Mahasiswa Kode_Minat Minat
02050001 Rita M001 Pemrograman
02050002 Rina M002 Jaringan
02050003 Rini M003 Web
02050004 Rani M004 Basis Data
02050005 Rika M005 Multimedia

Pembimbing-Minat

Kode_Pembimbing Nama_Pembimbing
P001 Dani
Minat_Mahasiswa Membimbing
P002 Dina
NIM Kode_Minat Kode_Minat Kode_Pembimbing P003 Dino
02050001 M001 M001 P001 P004 Dion
02050002 M002 M002 P002 P005 Doni
02050003 M003 M003 P003
02050004 M004 M004 P004
02050005 M005 M005 P005
Contoh : Tidak ada hubungan antar data

Solusi 4
 Jika data terisolasi karena domain/format data tidak
standar
 Hanya dapat diselesaikan dengan
merubah/menyesuaikan domain/format data
 Contoh
 Jika NIM
 Dalam file Mahasiswa  numerik
 Dalam file Minat_Mahasiswa  karakter
 Solusi  standarisasi data NIM
Contoh : Tidak ada hubungan antar data
 Kesimpulan:
 Solusi data terisolasi
 Menambah file baru
 Bertipe transaksi
 Sebagai penghubung antar data dalam file2
lain yang telah ada
 Menambah kolom
 Sebagai penghubung dengan file2 lain yang
telah ada
 Menyesuaikan domain data
 Agar dapat dipakai sebagai penghubung
antar file
Data Security
 Merupakan aspek kritis
 Prinsip:
 Bahwa data-data2 dalam BD merupakan sumber
informasi yang bersifat sangat penting & rahasia
 Sehingga harus dijaga dari berbagai hal yang
mungkin dapat mengacau / merusak
 Aspek data security:
 Recovery
 Integrity
 Concurency
 Privacy
 Security
Data Security
 Recovery
 suatu proses menggunakan / mengambil kembali BD
dari backup untuk mengembalikan data pada kondisi
yang benar, saat terjadi kerusakan / kehilangan data,
karena :
 kerusakan media penyimpan, program aplikasi,
OS, hardware, etc
 Integrity
 unjuk kerja sistem untuk dapat menjaga data-data
dalam BD agar selalu berada dalam kondisi:
 benar (tipe, ukuran, range)
 up to date (sesuai dgn kondisi aktual)
 konsisten
 current
Data Security
 Concurency
 mekanisme pengendalian BD saat digunakan oleh
beberapa user secara bersama
 agar terhindar dari kesalahan-kesalahan akibat
beberapa transaksi berbeda dilakukan secara
bersamaan
 Privacy
 pembatasan kewenangan akses data dalam BD untuk
mencegah & melindungi BD dari penggunaan oleh
orang-orang yang tidak berwenang & pengubahan
yang tidak dikehendaki
 Security
 mekanisme sistem untuk mencegah & melindungi BD
dari kehilangan akibat kerusakan memory, kebakaran,
banjir, badai, huru-hara, etc

Anda mungkin juga menyukai