Sabtu, 08 Desember 2012

TUGAS 6 - KEKANGAN BASIS DATA

YUNIARTY HANDAYANI / IT - 1B / TUGAS 6 - KEKANGAN BASIS DATA / PAK BACHRIS

1.   Simpulkan materi tsb secara singkat dan benar!

Kekangan pada basis data merupakan aturan dan pandangan yang harus dipatui dalam file-file basis data. Tujuannya adalah agar data-data yang diinputkan pada tabel-tabel database terjamin terjaga integritasnya demi meminimalisir probabilitas kesalahan penginputan data. Meliputi 5 aspek, yaitu:

   a) Data Redudant          ; Pengulangan munculnya data pada file basis data yang semestinya  
                                     tidak diperlukan

   b) Inconsistency Data      ; Munculnya data yang tidak konsisten pada medan yang sama pada 
                                     beberapa file dengan kunci yang sama. Biasa terjadi akibat data entry
                                     atau update anomaly

  c) Isolated Data             ; Tidak dapat diaksesnya data-data dari file tertentu oleh program 
                                     aplikasi, seolah-olah ada file yang terisolasi/terpisah dari file lain. 
                                     Dapat mengakibatkan ketidaklengkapan informasi hasil pengolahan  
                                     data dalam basis data.

  d) Security Data             ; Masalah keamanan data yang mana merupakan aspek kritis dalam 
                                     basis data, sehingga harus dijaga privasi dan keotentikannya dari
                                     oknum-oknum yang tidak bertanggung jawab. Maka itu, hendaknya file
                                     basis data hanya diakses oleh admin yang memang berhak 
                                     menjalankannya.

  e) Data Integration         ; Pengontrolan atau pengendalian penuh pada kinerja sistem 
                                     pengolahan basis data dengan cara mengeset secara seksama 
                                     prosedur penangkapan data dan membuat modul dalam program 
                                     aplikasi untuk mengecek keabsahan nilai data saat dimasukkan data 
                                     entry

 Basis data ditinjau dari dua segi:
  •    Pemakai (user)          ; sangat dipengaruhi privacy dan security
  •    Perancang (designer) ; bersudut pandang beda, yaitu conceptual view dan physical view

2. Berikan 2 contoh kekangan pada database, yaitu:

a) Kekangan yang paling sederhana

Kekangan yang paling sederhana pada databse bisa ditinjau melalui adanya normalisasi pada database, dimana tiap-tiap tahap pada normalisasi database diatur sedemikian rupa untuk menghilangkan redudansi data, data anomali, dan penetapan atribut kunci. Dengan adanya proses normalisasi tersebut, inkonsistensi data dapat dihilangkan, terlebih lagi proses normalisasi data dapat menjaga integritas data.

Dalam database diatas terdapat kerangkapan atau redudansi, berarti basisdata diatas belum memenuhi aturan/kekangan basis data. Agar tabel diatas memenuhi kekangan basis data, maka tabel diatas dipecah menjadi Tabel_Karyawan dan Tabel_Golongan.
  •  Tabel_Karyawan
 
  •  Tabel_Golongan 
 
b) Kekangan yang lain lebih tidak sederhana

Kekangan yang tidak sederhana dapat dilihat dari lima aspek: redudansi data, inkonsistensi data, data terisolasi, security data dan integritas data. Contohnya seorang Designer atau perancang basisdata membuat sebuah basisdata dimana dalam proses pembuatannya terdapat proses normalisasi terlebih dulu. Proses normalisasi ini menghilangkan terjadinya redudansi pada data, menghilangkan inkonsistensi pada data, menghilangkan data data yang terisolasi, membuat security key untuk data atau melakukan control terhadap data seperti melakukan grant atau revoke demi menjaga keamanan terhadap pengaksesan data, dan menjaga intergritas data.






Dari ketiga tabel diatas, ada beberapa tabel yang terisolasi, artinya antara table tersebut tidak memiliki relasi. Solusinya adalah dengan menambahkan kolom yang berfungsi sebagai penghubung dengan file yang telah ada.




3.   Ambil kesimpulan dari contoh di atas!

Kesimpulannya adalah sebuah database haruslah diberi kekangan atau aturan. Hal ini dilakukan untuk menghindari kesalahan input seperti redudansi pada data, menghilangkan inkonsistensi pada data, menghilangkan data-data yang terisolasi, menjaga keamanan data, dan menjaga integritas data. Kekangan pada database dilakukan melalui proses normalisasi. Pada kasus pertama terjadi kerangkapan baris pada satu file basis data yang sama dan pada kasus kedua, masalahnya adalah tidak adanya hubungan antara tabel 1 dan tabel 2. Pemecahan kasus pertama adalah dengan cara memecah file basisdata menjadi dua bagian file dan pemecahana kasus kedua adalah dengan cara menghapus field yang sama lalu saling digabungkan.

Minggu, 11 November 2012

TUGAS 5 - DCL & NORMALISASI

YUNIARTY HANDAYANI / IT - 1B / TUGAS 5 - DCL & NORMALISASI / PAK BACHRIS


1. Praktekkan perintah-perintah pada DCL!


  • GRANT
Grant berfungsi untuk membuat user baru dan memberikan hak istimewa. Grant adalah salah satu privilege untuk tabel. Grant digunakan untuk memberikan privilege kepada tabel yang didefinisikan kepada pemakai lain. Privilege untuk pemakai dalam perintah grant didefinisikan dengan menggunakan nama-nama privilege. Nama privilege memudahkan administrator untuk dapat memberikan priivilege tanpa harus tahu apa nama field dan tabel yang harus diisi.

Sintak Umum :
_ GRANT hak_akses ON nama_tabel TO pemakai;

_ GRANT ALL PRIVILEGES ON database_name.* TO ‘myuser’ IDENTIFIED BY  

   ‘mypassword’;

Contoh Penggunaan : 

1. GRANT SELECT



2. GRANT ALL PRIVILEGES 



3. GRANT ALL



4. SHOW GRANTS FOR root



5. SHOW GRANTS FOR admin



8. GRANT SELECT,INSERT



9. GRANT SELECT (kode)



10. GRANT UPDATE




  • REVOKE
Untuk menghapus batasan hak akses yang telah diatur denganmenggunakan perintah GRANT, digunakan perintah REVOKE.

Sintak umum :

REVOKE hak_akses ON nama_tabel FROM namaAccount@namaHost;

Atau menghapus batasan hak akses untuk database & tabel :

REVOKE hak_akses ON nama_database.nama_tabel FROM user;

Atau menghapus batasan hak akses untuk kolom tertentu :

REVOKE hak_akses(field1,field2,field3,…) ON nama_database.nama_tabel FROM user;

Penulisan perintah REVOKE :

HakAkses(field) : kita harus memberikan sedikitnya satu hak akses. Untuk setiap hak akses yang diberikan, dapat juga diberikan daftar field yang diletakkan dalam kurung, dan dipisahkan dengan tanda koma. Contoh : REVOKE select (nim, nama), update, insert(nim), …

NamaTabel : merupakan nama tabel yang dikenal hak akses tersebut. Harus ada sedikitnya satu nama tabel. Dapat menggunakan symbol asterik (*) untuk mewakili semua tabel pada database aktif. Penulisan namaTabel dapat juga diikuti oleh nama database diikuti nama tabel yang dipisahkan dengan tanda titik. Menggunakan simbol *.* berarti semua database dan semua tabel yang dikenai hak akses tersebut.

namaAccount@namaHost : jika nama account tidak ada, tidak pernah diberikan hak akses dengan perintah GRANT sebelumnya maka akan terjadi error.

Contoh Penggunaan :

1. REVOKE SELECT 



2. REVOKE ALL PRIVILEGES 



5. REVOKE ALL ON dokter FROM admin; 


6. REVOKE SELECT,INSERT ON dokter FROM admin;

7. REVOKE SELECT (Kode,Nama) ON dokter FROM admin;

8. REVOKE UPDATE



9. REVOKE INSERT ON dokter FROM admin;

10. REVOKE ALL ON dokter FROM admin;


 
2. Berikan contoh normalisasi pada kasus lain!

Tabel Daftar Rental Mobil Caem

NO PEMINJAMNAMA PEMINJAMMERK MOBILKODE MOBILTAHUN PRODUKSITNKB
1SuleMercedes BenzMCB2008B 8722 H
2AdulMazdaMZD2011D 008 U
3BolotAudiAUD2007A 6466 K
MazdaMZD2011A 879 I
4KomengMercedes BenzMCB2008F 9097 T
5AmingAudiAUD2010AD 1 E
Bentuk Normalisasi Pertama

Normalisasi pertama: Solusinya hilangkan duplikasi dengan mencari ketergantungan parsial; menjadikan field-field menjadi tergantung pada satu atau beberapa field, bukan seluruhnya.
NO PEMINJAMNAMA PEMINJAMMERK MOBILKODE MOBILTAHUN PRODUKSITNKB
1SuleMercedes BenzMCB2008B 8722 H
2AdulMazdaMZD2011D 008 U
3BolotAudiAUD2007A 6466 K
3BolotMazdaMZD2011A 879 I
4KomengMercedes BenzMCB2008F 9097 T
5AmingAudiAUD2010AD 1 E




3. Dari tabel data yang dihasilkan pada perancangan basis data, lakukanlah normalisasi pada tabel-tabel tersebut sampai bentuk normal ketiga!
Tabel Daftar Rental Mobil Caem

NO PEMINJAMNAMA PEMINJAMMERK MOBILKODE MOBILTAHUN PRODUKSITNKB
1SuleMercedes BenzMCB2008B 8722 H
2AdulMazdaMZD2011D 008 U
3BolotAudiAUD2007A 6466 K
MazdaMZD2011A 879 I
4KomengMercedes BenzMCB2008F 9097 T
5AmingAudiAUD2010AD 1 E
Bentuk Normalisasi Pertama

Normalisasi pertama: Solusinya dihilangkan duplikasi dengan mencari ketergantungan parsial; menjadikan field-field menjadi tergantung pada satu atau beberapa field, bukan seluruhnya

 
NO PEMINJAMNAMA PEMINJAMMERK MOBILKODE MOBILTAHUN PRODUKSITNKB
1SuleMercedes BenzMCB2008B 8722 H
2AdulMazdaMZD2011D 008 U
3BolotAudiAUD2007A 6466 K
3BolotMazdaMZD2011A 879 I
4KomengMercedes BenzMCB2008F 9097 T
5AmingAudiAUD2010AD 1 E

 
Bentuk Normalisasi Kedua

Normalisasi kedua: Field-field yang tergantung pada satu field haruslah dipisah dengan tepat.

Tabel Rental Mobil

NO PEMINJAMNAMA PEMINJAMKODE MOBILTAHUN PRODUKSITNKB
1SuleMCB2008B 8722 H
2AdulMZD2011D 008 U
3BolotAUD2007A 6466 K
3BolotMZD2011A 879 I
4KomengMCB2008F 9097 T
5AmingAUD2010AD 1 E

Tabel Peminjam

NO PEMINJAMNAMA PEMINJAM
1Sule
2Adul
3Bolot
3Bolot
4Komeng
5Aming

Tabel Mobil

KODE MOBILNAMA MOBIL
MCBMercedes Benz
MZDMazda
AUDAudi
MZDMazda
MCBMercedes Benz
AUDAudi

 
Bentuk Normalisasi Ketiga
 
Normalisasi ketiga: hilangkan redudansi yang ada pada normalisasi ketiga

Tabel Peminjam

NO PEMINJAMNAMA PEMINJAM
1Sule
2Adul
3Bolot
4Komeng
5Aming

Tabel Mobil

KODE MOBILNAMA MOBIL
MCBMercedes Benz
MZDMazda
AUDAudi