Rabu, 05 Desember 2012

Tugas 6 Database System


Pengajar: Achmad Bachris
Oleh: Ikhwan Darmawan
Kelas: TKJ 1B
No.absen : 09


1. Simpulkan materi tersebut secara singkat dan benar !
         
Kekangan basis data merupakan aturan agar database yang kita buat dapat dikondisikan    dengan baik. Sistem ini bertujuan untuk menjamin data yang dimasukkan pada tabel database mempunya integritas yang terjaga. Aturan pada kekangan database ini meliputi beberapa aspek, yaitu redudansi data (pengulangan data), inkonsistensi (munculnya data yang tidak konsisten), data terisolasi (data terpisah), security data (keamanan data), integritas data (kinerja sistem agar dapat terkontrol dan terkendali kepada seluruh bagian sistem). Pada basisdata, terdapat dua sudut pandang yaitu, user dan perancang, dan pada perancang terbagi menjadi dua bentuk sudut pandang yaitu konseptual dan fisik.
2.  Berikan 2 contoh kasus pada kekangan data !

a. Paling Sederhana
            Contoh Kasus: terdapat kerangkapan dalam file basisdata mahasiswa tepatnya pada kolom Penjualan_Barang
No.
Nama
Alamat
Jenis Barang
Harga Barang
1
Torres
Bogor
Baju
60.000
2
Marin
Bogor
Celana
40.000
3
Juan
Bogor
Tas
50.000
4
Lampard
Jakarta
Sepatu
30.000
5
Sheva
Depok
Sepatu
30.000

Kerangakapan ini dapat diatasi dengan cara membagi file basisdata penjualan menjadi dua bagian.
pertama file penjualan_1 (berisi segala indentitas yang menyangkut pembeli tersebut)

No.
Nama
Alamat
Jenis Barang
1
Torres
Bogor
Baju
2.
Marin
Bogor
Celana
3.
Juan
Bogor
Tas
4.
Lampard
Jakarta
Sepatu
5.
Sheva
Depok
Sepatu

dan file basis data yang kedua penjualan_2 berisi tentang jenis barang dan harga jualnya

No
Jenis Barang
Harga Barang
1
Baju
60.000
2.
Celana
40.000
3.
Tas
50.000
4.
Sepatu
30.000
b. Lebih rumit dari yang awal
            Contoh kasus : terdapat kerangkapan pada dua file sistem basis data berbeda. kerangkapan tersebut terjadi pada kolom NIM
Tabel 1 :
NIM
Nama
4312111008
Lampard
4312111021
Marin
4312111007
Sheva
4312111010
Juan
Tabel 2 :
NIM
Nilai
4312111008
85
4312111021
80
4312111007
75
4312111010
90

Dapat diatasi dengan cara menghapus kolom yang mengalami kerangkapan, menjadi berikut :
Nama
Nilai
Lampard
85
Marin
80
Sheva
75
Juan
90

3. Kesimpulan dari contoh diatas
Kerangkapan adalah salah satu masalah dalam basis data, karena adanya data yang terulang atau tidak jelas. Pada contoh pertama, adanya kerangkapan di baris di table yang sama, dan memecah data rangkap tersebut menjadi lebih efisien. Contoh kedua, masalah terjadi pada kolom yang sama tetapi berada pada table yang berbeda, untuk mengefisienkan kita merangkap dua table tersebut dengan menghapus kolom yang rangkap tersebut dan menggabung 2 tabel menjadi 1. 

Read More..

Senin, 12 November 2012

Tugas 5 Database System

Pengajar: Achmad Bachris
Oleh: Ikhwan Darmawan
Kelas: TKJ 1B
No.absen : 09
Soal dan Jawaban:

1. Praktekkan perintah-perintah pada DCL!
Jawab: 
DCL adalah perintah-perintah yang digunakan untuk membantu mengontrol keamanan setiap database atau sebagian isi dari database dengan membuat hak–hak akses tertentu bagi setiap user.
Perintah tersebut adalah :  
a. Grant
b. Revoke

Penjelasan tentang Grant 
- GRANT : Digunakan untuk memberikan hak akses oleh administrator (pemilik utama) server kepada user (pengguna biasa). Hak akses tersebut berupa hak membuat (CREATE), mengambil (SELECT), menghapus (DELETE), mengubah (UPDATE), dan hak khusus berkenaan dengan sistem databasenya.
- Grant berfungsi juga untuk membuat user baru dan memberikan hak istimewa.
- 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 admin untuk dapat memberikan privilege tanpa harus tahu apa  nama field dan tabel yang harus diisi.
- Perintah grant secara otomatis akan menambah data pemakai apabila  data nama pemakai yang disertakan pada perintah tersebut belum ada  dalam tabel user. Perintah grant memudahkan administrator untuk tidak  perlu melakukan perintah pendefinisian privilege dengan menggunakan  sql.  Karena dengan menggunakan sql, kita harus hafal nama tabel yang  harus diisi, field apa saja yang harus diisi, jumlah field 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 ON Point_Of_Sales.jenis TO Febe;
2. GRANT SELECT ON Point_Of_Sales.jenisTO Winda;
3. GRANT SELECT ON Point_Of_Sales.item TO Elfrida;
4. GRANT ALL PRIVILEGES ON Point_Of_Sales.User TO Admin;
5. GRANT ALL ON Point_Of_Sales.jualDetail TO Admin
6. SHOW GRANTS FOR root@localhost;
7. SHOW GRANTS FOR Admin;
8. GRANT SELECT,INSERT ON Point_Of_Sales.jualDetail TO kasir;
9. GRANT SELECT(Kode,Nama) ON Point_Of_Sales.jenis TO Elfrida;
10. GRANT UPDATE (kodeItem,NmItem,kategori,Harga) ON Point_Of_Sales.item TO Elfrida;

Penjelasan tentang Revoke
REVOKE : Perintah ini memiliki kegunaan terbalik dengan GRANT, yaitu untuk menghilangkan hak akses yang telah diberikan kepada user oleh administrator atau mencabut hak-hak dari seorang user terhadap database tertentu atau sebagian isi dari database.

Sintak Umum Revoke : 


REVOKE hak_akses ON nama_tabel FROM                     namaAccount@namaHost;

Menghapus batasan hak akses utk database & tabel :

REVOKE hak_akses ON nama_database.nama_tabel
FROM user;

Menghapus batasan hak akses untuk kolom tertentu :

REVOKE hak_akses(field1,field2, field3,…) ON 
nama_database.nama_tabel FROM user
Penulisan perintah revoke :


- Hak akses(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. Dan dapat menggunakan simbol 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.

Perintah-perintah lain yang termasuk dalam data control language adalah :

a. Commit
Merupakan perintah yang digunakan untuk memindahkan transaksi dari memory pemrosesan ke database atau menyimpan secara permanen perubahan-perubahan kedalam database.
b. Rollback
Merupakan perintah yang digunakan untuk membatalkan transaksi yang belum di commit atau membatalkan perubahan-perubahan terakhir dari perintah commit/rollback terakhir.
Perintah tersebut adalah :  
a. Grant
b. Revoke

2. Berikan contoh normalisasi pada kasus lain!
Jawab:
Teknik Normalisasi merupakan sebuah cara untuk membuat database dengan terstruktur dan terorganisasi supaya data terisimpan dalam tabel dengan baik dan efisien tanpa adanya pengulangan data(redudansi data). Istilah normalisasi dapat disederhanakan menjadi memecah relasi menjadi beberapa tabel untuk mendapat database yang optimal.
3. Dari tabel data yang dihasilkan pada perancangan basis data, lakukanlah normalisasi pada tabel-tabel tersebut sampai bentuk normal ketiga!
Jawab:  
Normalisasi Pertama
Di sini kita akan terlebih dahulu membuat dan menentukan primary key pada tablenya, supaya setiap data atau field field lainya tergantung hanya pada satu field. Dalam tabel ini, Primary Key nya adalah idPeminjam.
tbl_peminjam

Normalisasi Kedua
Pada aturan ini kita akan memisahkan field field yang tergantung pada satu field, seperti field judulDvd dengan idDvd dan genre dengan idGenre. Field tersebut harus dipisahkan dari tbl_peminjam.
tbl_peminjam
 tbl_dvd
tbl_genre 

Normalisasi Ketiga

Pada tahap ini kita akan membenahi data, data-data yang telah dibuatkan tabel yang baru akan dicek, apabila terjadi redudansi, maka data tersebut akan dihilangkan. Misalkan saya mempunyai data seperti berikut:
tbl_dvd
tbl_dvd
Pada tabel ini terjadi redudansi data, yakni terdapat perulangan judulDvd dan idDvd, maka data tersebut akan dihapuskan.
Read More..

Selasa, 23 Oktober 2012

Tugas 4 Database System

DOSEN                                :  Achmad Bachris
NAMA                                  :  Ikhwan Darmawan
NO.ABSEN                           : 09
KELAS                                 :  TKJ 1.B



1. Praktekan seluruh perintah DML
2. Terangkan dan jelaskan secara singkat dari macam-macam atribut
3. Apa yang dimaksud dengan Diagram E-R dan sebutkan fungsinya !
4. Diagram E-R mempunyai 4 simbol utama, sebutkan dan jelaskan masing-masing simbol tersebut !
5. Berikan contoh untuk masing-masing kardinalitas dalam Diagram E-R !
6. Apa yg dimaksud dengan spesialisasi dan generalisasi ?


1.    Praktekan seluruh perintah DML
DML (Data Manipulation Language) Digunakan untuk memanipulasi data yang ada dalam suatu tabel. Perintah yang umum dilakukan adalah:
a. SELECT
b. INSERT
c. UPDATE dan
d. DELETE

untuk melakukan praktek dari keempat perintah ini, pertama-tama kita buat dahulu sebuah table yang sudah terisi oleh data.
Contoh :

[gambar1]
nama tabel yang saya buat adalah komputer dengan kolom dan data seperti digambar.

Perintah SELECT
Digunakan untuk menampilkan semua atau sebagian isi dari tabel yang telah di inputkan data-datanya.
Contoh : SELECT * FROM komputer WHERE Memori=’500GB’;
Ket : menampilkan data di tabel komputer yang mempunyai Memori 500GB
Hasil :
[gambar2]
Perintah INSERT
Merupakan perintah untuk memasukkan/menambahkan  data ke dalam sebuah tabel yang telah kita buat.
Contoh : INSERT INTO komputer  (Merek, Jenis, Prosesor,  Memori , RAM ) VALUES (“Lenovo”, “V470c-2785”, “i5_2430M”, “750GB”, “2GB_DDR3”);
Ket : menambahkan data ke tabel komputer dengan Merek=Lenovo,Jenis=V470c-2785,prosesor=i5_2430M,Menori=750GB,RAM=2GB_DDR3.
Hasil : 

[gambar 3]





Perintah UPDATE
Merupakan perintah untuk mengubah suatu data jika terdapat kesalahan dalam penginputan data tersebut.
Perintah ini juga bisa digunakan untuk menambahkan data yang tidak lengkap/kosong di awal proses penginputan data.
Contoh : UPDATE komputer SET RAM = "4GB_DDR3" WHERE Jenis = "B480-9727"
 Ket : menambahkan suatu input data 4GB_DDR3  di tabel komputer ke dalam kolom RAM dimana Jenis nya adalah B480-9727.
Hasil:

[gambar4]
sekarang kolom RAM pada Jenis B480-9727  sudah terisi dengan kelas 4GB_DDR3 

Perintah DELETE
Digunakan untuk menghapus data dari tabel.
Contoh : DELETE FROM ‘komputer  WHERE Jenis = "B480-9727"
Ket : Menghapus sebuah data dari tabel komputer yang mempunyai Jenis = "B480-9727"
Hasil :
[gambar5]
sekarang, data yang berjenis B480-9727 sudah hilang didelete

2.    Macam-macam atribut :
a.  Atribut Sederhana. Atribut yang hanya mengandung sebuah informasi saja mengenai suatu  entity. Contohnya atribut nama dari pelanggan.
b.  Atribut Gabungan. Atribut yang mengandung banyak informasi mengenai suatu entity. Contohnya atribut alamat pelanggan bisa mengandung beberapa informasi, misalnya informasi nama jalan, nomor jalan, nama propinsi, kode pos dan lain-lain. Informasi-informasi tersebut (nama jalan, kode pos dan lain-lain) dinamakan komponen atribut.
c.  Atribut Tersimpan. Atribut yang langsung terlihat pada entity. Contohnya atribut nama, atribut alamat, dan atribut tanggal lahir dari pelanggan.
d. Atribut Turunan. Atribut yang tidak langsung terlihat pada entity, namun bisa didapatkan dari atribut tersimpan. Contohnya atribut usia yang bisa didapatkan dari atribut tanggal_lahir.
e.  Atribut Kunci. Atribut yang bisa membedakan masing-masing anggota dari himpunan entity. Contohnya untuk entity barang dagangan mempunyai atribut kunci kode barang, yang mana suatu barang dengan kode barang tertentu pasti berbeda dengan barang lain dengan kode barang yang lain. Atribut kunci pada entity barang di bawah ini adalah yang diberi garis bawah. Barang = (kode_barang, nama_barang, tipe_barang).
f.   Atribut Tunggal. Atribut yang hanya mempunyai sebuah nilai. Contohnya atribut nama suatu barang.
g.  Atribut Jamak. Atribut yang mempunyai banyak nilai. Contohnya atribut penyalur (suplier) dari suatu barang yang dijual di sebuah mini market. Dengan kata lain untuk suatu barang tertentu bisa disalurkan oleh beberapa penyalur.

3.    Pengertian Diagram E-R (ERD) dan fungsinya
ERD merupakan suatu model untuk menjelaskan hubungan antar data dalam basis data berdasarkan objek-objek dasar data yang mempunyai hubungan antar relasi.
ERD berfungsi untuk memodelkan struktur data dan hubungan antar data, untuk menggambarkannya digunakan beberapa notasi dan simbol.
4.  Diagram E-R mempunyai 4 simbol utama, sebutkan dan jelaskan masing-masing simbol tersebut !
    
a. Entitas, Entiti merupakan objek yang mewakili sesuatu yang nyata dan dapat dibedakan dari sesuatu yang lain. Simbol dari entiti ini biasanya digambarkan dengan persegi panjang.
b. Atribut, Setiap entitas pasti mempunyai elemen yang disebut atribut yang berfungsi untuk mendeskripsikan karakteristik dari entitas tersebut. Isi dari atribut mempunyai sesuatu yang dapat mengidentifikasikan isi elemen satu dengan yang lain. Gambar atribut diwakili oleh simbol elips.
c. Hubungan / Relasi, Hubungan antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. Relasi dapat digambarkan sebagai berikut : 
d. Garis, Sebagai penghubung antara relasi dengan entitas, relasi dan entitas dan atribut
5.   Berikan contoh untuk masing-masing kardinalitas dalam Diagram E-R !
   
Kardinalitas menunjukkan banyaknya objek yang terlibat dengan objek lain pada suatu relasi. Ada 3 kombinasi yang mungkin terjadi, diantaranya : 1:1 (One to One), 1:N (One to Many), dan N:N (Many to Many).
6.    Apa yg dimaksud dengan spesialisasi dan generalisasi ?
     a. Spesialisasi
Proses mendesain subgrup di dalam suatu entity. Suatu himpunan entitas bias memiliki suatu subgrup yang berbeda diantara entitas-entitas lain dalam himpunan tersebut. Misalnya suatu sub himpunan entitas dalam suatu himpunan entity bias memiliki atribut yang berbeda dari entity-entiti lain. Model E-R memiliki fasilitas untuk perbedaan ini. Contoh : himpunan entitas account memiliki atribut account-number dan balance.

Setiap tipe account ini diterangkan dengan himpunan atribut yang termasuk dalam atribut-atribut dari entitas account ditambah dengan atribut tambahan. Contoh entity saving-account diterangkan dengan atribut interest-rate, dan checking-account diterangkan dengan overdraft-amount.

Proses spesialisasi mengijinkan pembedaan account berdasarkan tipe account. Account juga dapat dibedakan dengan cara lain, misalkan berdasarkan tipe kepemilikkan menjadi commercial-account dan personal-account. Ketika dalam suatu entitas dibentuk lebih dari satu proses spesialisasi, maka suatu entitas menjadi milik dua spesialisasi tersebut. Misal suatu account bias merupakan suatu personal account dan suatu checking account. Dalam diagram E-R, spesialisasi dilambangkan dengan komponen segitiga bertuliskan ISA. ISA juga melambangkan hubungan antara superclass-subclass. Entity yang dengan kedudukkan lebih rendah/tinggi memiliki lambing sama.

b.  Generalisasi
Generalisasi adalah proses  pendefinisian  subclass-subclas yang  disatukan  menjadi entitas superclass  tunggal  berdasarkan karakteristik umum. Disamping proses desain top-down (dari inisial entitas ke level lebih rendah (subgrup)), desain juga dapat dilakukan dengan proses bottom-up, yaitu banyak entitas disintesiskan menjadi entity yang lebih tinggi berdasarkan kesamaan feature-nya.

Desainer basis data mungkin mengidentifikasi terlebih dulu entitas checking-account dengan atribut account-number, balance dan over draft amount. Ditemukan juga entity set saving-account dengan atribut account-number, balance dan interest-rate. Terdapat kesamaan antara entitas checking-account dengan entitas saving-account, yaitu keduanya memiliki beberapa atribut yang sama.
Read More..