P4 Kekangan Dalam Database SQ http://sidiq.mercubuana-yogya.ac.id Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta
Tugas Mohon untuk dipelajari dan dipahami untuk perkuliahan dan tugas minggu depan..! 2
Tujuan Mahasiswa mengerti dan memahami konsepkonsep dalam basis data. Mahasiswa dapat menjelaskan mengenai konsep-konsep dalam basis data. 3
Materi Kerangkapan Data Inkosistensi Data Data Terisolasi Keamanan Dara Integritas Data 4
Kerangkapan Data (Data Redundancy) 5
Data Redundancy Merupakan kemunculan data secara berulang kali pada file basis data yang semestinya tidak diperlukan. Apa Penyebabnya??? 6
Penyebab Umumnya terjadi akibat aplikasi-aplikasi tidak memperhatikan kriteria sebuah basis data. Penyusunan basis data dilakukan oleh perancang yang berbeda dalam selang waktu yang cukup lama. Dari wacana di atas... Perlukah dihindari???? 7
Kerangkapan data perlu dihindari (paling tidak diminimalkan), Pemborosan media penyimpanan basis data Biaya penyimpanan yang semakin besar Kesulitan (inefisiensi) dalam pengolahan data Pemborosan waktu dalam pengolahan data Semakin besar kemungkinan muncul data tidak konsisten 8
Jenis Kerangkapan Data Kejadian kerangkapan data dapat terjadi pada dua kemungkinan, yaitu : Kerangkapan data dalam satu file Kerangkapan data dalam beberapa file 9
Dalam satu file Kerangkapan yang terjadi jika muncul kerangkapan nilai-nilai rinci data-data dalam satu file tersebut. Contoh I 10
Keterangan Contoh I Kerangkapan data terjadi pada kolom Gaji_Pokok Yaitu untuk setiap Pegawai yang memiliki Golongan_Pegawai tertentu yang sama, maka harus dicatat kembali mengenai Gaji_Pokok dengan nilai yang sama. Sehingga Gaji_Pokok akan disimpan secara berulang. Santy (P003) memiliki Golongan_Pegawai sama dengan Sinta (P001). Sekalipun diketahui dan dapat dipastikan, bahwa Gaji_Pokok untuk setiap Golongan = IIIA adalah sama, yaitu 750.000,-. Tetapi dalam setiap file Pegawai tersebut, keterangan besarnya Gaji_Pokok tersebut harus selalu disimpan kembali setiap dijumpai Golongan_Pegawai = IIIA. Jika cacah Pegawai yang memiliki Golongan_Pegawai yang sama semakin banyak, maka semakin banyak pula akan terjadi kerangkapan data dalam file Pegawai tersebut. 11
Solusi Contoh I Dalam perancangan basis data, kerangkapan data sebagaimana file Pegawai tersebut harus dihindari. Untuk menghindari kerangkapan data pada file Pegawai tersebut, dapat dilakukan dengan cara merubah struktur file, yaitu memecah file Pegawai menjadi dua file baru (Pegawai_1 dan Golongan_1). Pegawai_1 : digunakan untuk mencatat nilai-nilai data yang berhubungan dengan identitas setiap Pegawai. Golongan_1 : digunakan untuk mencatat besarnya Gaji_Pokok untuk setiap Golongan_Pegawai yang mungkin dimiliki oleh Pegawai. 12
Pemecahan file tersebut harus tetap memenuhi definisi basis data, yaitu data-data harus tetap berhubungan. Dengan demikian agar kedua file baru (Pegawai_1 dan Golongan_1) tersebut saling berhubungan, maka diperlukan kolom yang dapat menghubungkan kedua file tersebut (yang selanjutnya kolom ini disebut sebagai kunci penghubung), yaitu Golongan_Pegawai dalam file Karyawan. Selanjutnya, jika diperlukan keterangan mengenai besarnya Gaji_Pokok seorang Pegawai, maka dapat diketahui dengan cara mencari nilai dalam kolom Gaji_Pokok (file Golongan_1) = Gaji_Pokok (file Pegawai_1). 13
14
Contoh II Kerangkapan data pada tabel Mahasiswa terjadi pada kolom Nama_Mhs dan Nama_Mtkul. Nama_Mhs: Setiap kali Mahasiswa dengan NIM tertentu mengikuti Matakuliah yang berbeda, maka namanya harus disimpan kembali dalam kolom Nama_Mhs. Nama_Mtkul : Setiap kali ada Mahasiswa yang mengikuti Matakuliah dengan kode tertentu, maka harus disimpan kembali dengan dalam kolom Nama_Mtkul. 15
16
Solusi Contoh II Untuk menghindari kerangkapan data pada file Mahasiswa tersebut, dapat dilakukan dengan cara merubah struktur file, yaitu memecah file Mahasiswa menjadi tiga file baru (Mahasiswa_1, Mata_Kuliah_1, dan KRS_1). Mahasiswa_1 : digunakan untuk mencatat identitas setiap Mahasiswa. Mata_Kuliah_1 : digunakan untuk mencatat identitas setiap Matakuliah. KRS_1 : digunakan untuk mencatat data Mahasiswa dan Matakuliah yang diikuti. 17
Kesimpulan Kerangkapan data dalam satu file dapat diatasi dengan memecah file tersebut menjadi filefile baru yang lebih sederhana. Banyaknya file yang terbentuk tergantung pada banyaknya kerangkapan data yang terjadi. 18
Dalam Beberapa File Terjadi jika muncul nama-nama kolom yang sama dalam beberapa file. Pengecualian : untuk kolom yang digunakan sebagai kunci penghubung antar data dalam file untuk memenuhi definisi basis data. 19
Contoh File Mahasiswa_1 dan Minat_Mahasiswa : menunjukkan kerangkapan data dalam dua file. Kerangkapan data yang terjadi pada kolom Nama_Mhs (Minat_Mahasiswa), hal ini terjadi karena sebenarnya data Nama_Mahasiswa sudah disimpan dalam file Mahasiswa_1. 20
Solusi Untuk mengatasi kerangkapan data dalam beberapa file dapat diatasi dengan cara menghapus kolom yang rangkap. Dalam contoh tersebut, maka kolom yang rangkap adalah Nama_Mhs (Minat_Mahasiswa), maka kolom tersebut harus dihapus dari file Minat_Mahasiswa. 21
Kesimpulan Kerangkapan data dalam beberapa file dapat diatasi dengan cara menghapus kolom yang rangkap. Penghapusan tersebut dilakukan sesuia dengan kelompok data. Catatan : Kolom Nama_Mhs merupakan kelompok data Mahasiswa yang harus disimpan dalam file Mahasiswa, bukan termasuk kelompok data Minat_Mahasiswa, sehingga tidak perlu disimpan dalam file Minat_Mahasiswa_2. 22
Data Tidak Konsisten (Incosistency) 23
Data Tidak Konseisten Data tidak konsisten merupakan munculnya data yang tidak konsisten pada kolom yang sama dalam satu atau beberapa file data yang direlasikan. Apa Penyebabnya??? 24
Penyebab Data entry, input data yang tidak benar Update, pembaruan data yang tidak benar Pengendalian sistem yang tidak terkontrol/tidak baik Beresikokah???? Apa akibatnya??? 25
Basis data harus terbebas dari masalah data yang tidak konsisten, karena akan mengakibatkan kesalahan fatal pada informasi yang dihasilkan dari pengolahan data dalam basis data karena tidak sesuai dengan fakta yang ada. Data tidak konsisten juga dapat terjadi pada dua kemungkinan, yaitu : Kerangkapan data dalam satu file Kerangkapan data dalam beberapa file 26
Dalam Satu File Terjadi jika kemunculan data tidak konsisten terjadi pada sati file (yang mengalami kerangkapan data). Contoh I : 27
File Pegawai_2 mengandung data tidak konsisten pada nilai Gaji_Pokok. Sella (NIP=P002) mempunyai Gaji_Pokok(950.000,-), sedangkan Sany (NIP=P005) mempunyai Gaji_Pokok(1.000.000,-). Padahal keduanya mempunyai Golongan_Pegawai yang sama IVA. Kejadian ini menunjukkan adanya ketidak konsistenan terhadap data dalam file Pegawai. Permasalahan : Mana yang benar?? 28
Solusi Inkosistensi data dapat mengakibatkan kesalahan informasi pada hasil pengolahan data, misal : Kesalahan pada saat mencetak struk daftar perolehan gaji pegawai Kesalahan jumlah total pengeluaran uang yang dikeluarkan untuk gaji karyawan. Inkosistensi data dalam satu file dapat diindari dengan cara yang sama dengan contoh kerangkapan data : Memecah file menjadi beberapa file-dile baru yang lebih sederhana dan tetap saling terhubung. Penyelesaian sama dengan Tabel Pegawai_1 dan Golongan_1. 29
Contoh II File Mahasiswa_2 mengandung data tidak konsisten pada nilai Nama_Mhs. Data yang tersimpan "Nama_Mhs = Santy" -> padahal yang benar "NIM = 05050002 > Sella". Data yang tersimpan "Nama_Mtkul=Pemrograman II" -> dalam baris yang lain "Nama_Mtkul=Pemrograman I". 30
Solusi Contoh II Inkosistensi data tersebut mengakibatkan : Kesalahan informasi pada saat pengolahan data, misal pada saat cetak KRS. Solusi untuk mengatasi : dapat dilakukan dengan cara merancang file secara benar sesuai dengan definisi basis data. Yaitu mencegah terjadinya kernagkapan data dan memecah file seperti pada Mahasiswa_1, Mata_Kuliah_1, dan KRS_1. 31
Dalam Beberapa File Terjadi akibat rancangan struktur file yang mengalami kerangkapan data dalam beberapa file. Contoh : 32
Akibat Pada tabel Minat_Mahasiswa_2 terlihat bahwa Nama_Mhs(NIM=0505003)=Sella. Padahal pada tabel Mahasiswa_3=Santy. Inskosistensi data tersebut mengakibatkan : Kesalahan informasi hasil pengolahan data dari file Minat_Mhs, misalnya pada saat mencetak daftar Minat_Mhs, yaitu Sella memiliki 2 minat Jaringan dan web. Sedangkan Santy tidak pernah tampil sama sekali. Data tidak konsisten dalam beberapa file dapat diatasi sebagaimana mengatasi kerangapan data dalam beberapa file, Dengan cara menghapus kolom data yang rangkap sesuai dengan kelompok datanya. Seperti terlihat pada tabel Minat_Mahasiswa_1. 33
Kesimpulan Kejadian inkosistensi file dalam basis data umumnya akan sangat sulit diketahui. Oleh karena itu inkosistensi data harus diantisipasi sejak dini, yang dimulai pada saat pertama kali perancangan basis data, yaitu merancang file yang terbebas dari kerangkapan data. 34
Data Terisolasi 35
Data Terisolasi Data terisolasi disebabkan oleh pemakaian beberapa file basis data dimana program aplikasi tidak dapat mengakses data-data dari filefile tertentu, kecuali jika program aplikasi diubah/ditambah, sehingga seolah-olah ada file yang terpisah/terisolasi terhadap file lain dalam basis data. Sebab??? Akibat??? 36
Sebab?? Data terisolasi harus dihindari, karena : Mengakibatkan tidak lengkapnya informasi yang dihasilkan dari pengolahan data dalam basis data. Sehingga menjadikan data-data dalam basis data tidak bernilai karena tidak lengkap. Data terisolasi terjadi akibat : Tidak adanya kemungkinan untuk menghubungkan antar data dalam file Tidak adanya standarisasi data (berkaitan dengan domain/format data, meliputi tipe dan ukuran data). 37
Contoh 38
Seandainya diperlukan informasi mengenai : Siapa pembimbing minat mahasiswa bernama Sinta (NIM=05050001) yang mempunyai Minat_Mhs=Pemrograman, maka file-file tersebut tidak dapat memnuhi kebutuhan tersebut. Hal ini karena tidak adanya hubungan antara Pembimbing_Minat_1 dengan file Minat_Mahasiswa_3. 39
Solusi Untuk mengatasi, perlu dirancang sebuah file baru yang berfungsi untuk antara data minat dengan data pembimbing. 40
Cara I Cara tersebut baik jika dilakukan apabila ada kemungkinan bahwa seorang pembimbing dapat membimbing lebih dari satu minat, sehingga penambahan file Membimbing akan terhindar dari redundancy data Nama_Pembimbing. 41
Cara II Cara tersebut baik dilakukan apabila tidak ada kemungkinan bahwa seorang pembimbing dapat membimbing lebih dari satu minat, sehingga penambahan kolom Minat dalam file Pembimbing_Minat_2 akan lebih efisien dalam hal penggunaan media penyimpanan. 42
Cara III Jika : Apabila macam minat yang ada pada mahasiswa dapat bermacam-macam, satu mahasiswa dapat memiliki lebih dari satu minat, bisa muncul minatminat baru, macam minat dapat berubah-ubah. Maka : Maka cara I dan cara II masih akan menimbulkan permasalahan. Ketika nilai rinci data minat bisa sangat panjang, maka data minat akan lebih efisien jika dikodekan. 43
44
Wacana Lain Dalam hal data terisolasi muncul akibat domain/format data yang tidak standar, maka permasalahan ini hanya dapat diselesaikan dengan cara merubah/menyesuaikan format data dalam file basis data sehingga data-data di dalamnya dapat saling dihubungkan. 45
Contoh Contoh : NIM (Mahasiswa), didefinisikan sebagai numerik. Sedangkan NIM (MInat_Mahasiswa), didefiniskan sebagai karakter. Berarti NIM dalam dua file tersebut mempunyai dua domain yang berbeda. Perbedaan data-data dalam domain data mengakibatkan datadata dalam file Mahasiswa dan Minat _Mahasiswa tidak dapat dihubungkan. Dapat diatasi dengan cara mengubah domain data dalam definisi struktur file, sehingga data terisolasi akan terhindar. 46
Kesimpulan Data terisolasi dapat dihindari dengan cara : Menambah file baru bertipe transaksi yang berfungsi sebagai penghubung antar data dalam file-file lain yang telah ada. Menambah kolom yang berfungsi sebagai penghubung dengan file-file lain yang telah ada. Menyesuaikan domain kolom yang berfungsi untuk menghubungkan antar file. 47
Keamanan Data 48
Keamanan Data Kemanan data merupakan aspek kritis dalam basis data. Prinsip dasar dari keamanan data dalam basis data dalam basis data adalah bahwa data-data dalam basis data merupakan sumber informasi yang sangat penting dan rahasia. Oleh karena itu, data-data tersebut harus dijaga dari berbagai hal yang kemungkinan dapat merusak data. 49
Recovery Suatu proses menggunakan/mengambil kembali basis data dari media penyimpanan cadangan untuk mengembalikan data pada kondisi yang benar karena terjadi kerusakan data akibat kerusakan media penyimpanan, program aplikasi, operating system, basis data, hardware, dll. Integrity Berkaitan dengan unjuk kerja sistem untuk dapat menjaga data-data dalam basis data agar selalu berada dalam kondisi yang benar (tipe dan ukuran), up to data, konsisten, dan selalu tersedia. Concurency Berkaitan dengan mekanisme pengendalian basis data saat digunakan oleh beberapa aplikasi secara bersamaan agar terhindar dari kesalahan-kesalahan akibat akibat transaksi berbeda yang dilakukan secara bersamaan. 50
Privacy Dimaksudkan sebagai pembatasan akses (hak akses) dalam basis data untuk mencegah dan melindungi basis data dari penggunaan oleh orang-orang yang tidak berhak dan penguhan basis data yang tidak dikehendaki. Security Suatu mekanisme sistem untuk mencegah dan melindungi basis data, kehilangan akibat kerusakan pada fisik media penyimpanan, kebakaran, banjir, dll. 51
Integritas Data 52
Integritas Data Integritas data berhubungan dengan kinerja sistem agar dapat melakukan kendali/kontrol pada semua bagian sistem. Integritas dimaksudkan sebagai suatu sarana untuk meyakinkan bahwa data-data yang tersimpan dalam basis data selalu berada : Dalam kondisi benar (tipe dan ukuran data), Up to date (sesuai dengan kondisi aktual), Konsisten, dan Selalu tersedia (current). 53
Pencegahan Meyakinkan bahwa nilai-nilai data adalah benar sejak pertama kali di inputkan ke dalam basis data. Contoh metode pemecahan, misalnya : Mengeset secara seksama prosedure penangkapan data (data capture) yang dilakukan secara manual, atau Membuat modul dalam program aplikai untuk mengecek validitas nilai data pada saat di inputkan ke dalam mesin (data entry) 54
Integritas dalam basis data berhubungan dengan dua aspek : Integritas dimain (domain integrity) Key constraint, berkaitan dengan dua hal : Integritas entitas -> pada kunci primer relasi Integritas referensial -> pada kunci penghubung relasi 55
Thanks For Participating In My Class C U Next Week 56