Anda di halaman 1dari 11

Laporan Praktikum 2

DCL

BASIS DATA

Oleh:

Siska Putri Ariyani (09120048)

Hala Nuari Lina D (09120047)

M. Safi (09120052)

Laboratorium Pemrograman

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK

UNIVERSITAS WIJAYA KUSUMA SURABAYA

2010
tujuan
• Agar praktikan dapat membuat database baru.
• Agar praktikan dapat membuat user baru dan memberikan hak akses pada user.
• Memahami cara kerja Grant, Revoke, Deny
Dasar Teori

Data Control Language (DCL)

Pada DCL, hal terpenting adalah memberi otoritas, konfirmasi penyimpanan database, menunda
perubahan dan menghapus otoritas yang telah diberikan.Pada beberapa database juga dapat
diatur database space perus er . Misalnya commit, rollback, grant, revoke.

• GRAND : Perintah ini digunakan untuk memberikan hak / izin akses oleh administrator
(pemilik utama) server kepada user (pengguna biasa). Hak akses tersebut berupa hak
membuat (CREATE), mengambil (SELECT), menghapsu (DELETE), mengubah
(UPDATE) dan hak khusus berkenaan dengan sistem databasenya.
• REVOKE : perintah ini memiliki kegunaan terbalik dengan GRAND, yaitu untuk
menghilangkan atau mencabut hak akses yang telah diberikan kepada user oleh
administrator.

Pada praktikum kali ini praktikan di perintahkan untuk membuat perintah dari sql yaitu
DCL (Data Control Language). Seperti yang telah di beritahukan pada sebelumnya. Sehingga
pada LA kali ini, praktikan di perintahkan untuk membuat perintah grand dan revoke. Yang
pertama perintah grand dan revoke pada masing-masing perintah yang ada di “DML (data
manipulation language)”, kemudian setelah itu menggabungkan 2 perintah yang ada di DML,
dan yang terakhir apabila kita memberi grand dan revoke pada semua perintah yang ada di DML.

Sebelumnya yang mesti kita perhatikan adalah pembuat user nya terlebih dahulu, kan biasanya
kalau kita mau masuk ke dalam sql server biasanya menggunakan perintah “mysql –u root –p “
nah sekarang kita akan mengganti si user root menjadi “tri2@localhost”. Yaitu perintah yang di
gunakan adalah
“Create User [nama@localhost] ;”

Sebagai contoh pada soal ini adalah “Create User tri2@localhost;”. Kemudian untuk melihat
hasil dari si user itu, kita tinggal memanggilnya dengan perintah “Select User();”.

Setelah kita membuat usernya, barulah kita exit dari user root. Dengan mengetikan perintah
“exit” setelah itu akan keluar dari mysql servernya. Selanjutnya yang biasa kita mengketikan
“Mysql –u root –p” karena kita sudah membuat user baru, sekarang kita tinggal mengketikan
“mysql –u tri2 –p” maka selanjutnya kita sudah berada di user si tri2.

Kemudian selanjutnya adalah saya akan menjelaskan mengenai “grant dan revoke” pada satu
perintah DML. Yaitu missal kita akan memberikan hak akses kepada perintah Select, jadi selain
perintah select (missal: update, delete dll) tidak akan bisa di panggil. Yang hanya bisa di panggil
adalah perintah select saja. Maka kita menuliskan perintah tersebut pada user root. Kita masuk
kembali ke user root, selanjutnya kita panggil dan gunakan database yang akan kita pakai. Pada
soal ini saya menggunakan database “SBD_LAB” maka kita akan menuliskan “Use SBD_LAB:”
setelah masuk barulah saya akan menggunakan perintah grant untuk memberikan hak ases. Yaitu
dengan mengketik “Grant Select on sbd_lab.mhs to tri2@localhost” maka yang terjadi adalah si
perintah select pada database sbd_lab dan pada table mhs sudah di berikan hak akses untuk user
tri2. Maka agar kita mengetahuinya, kita masuk ke dalam user tri2. Kemudian setelah kita masuk
ke dalam user si tri2, maka selanjutnya kita gunakan databasenya yaitu sbd_lab. Selanjutnya
setelah itu adalah kita bisa mengketikan perintah selain select. Maka apabila perintah “grant”
berhasil, ketika kita mengketikan perintah selain select maka akan muncul tulisan seperti ini
“delete command denied to user ‘tri2’@’localhost’ for table mhs “. Maka hal yang sama akan
terjadi ketika kita menggunakan perintah Grant untuk memberikan hak akses untuk 2 perintah
yang ada di dml. Maka formatnya sama saja dengan sebelumnya kita tinggal memberikan “,”
untuk pemisah antara satu perintah dengan perintah lainnya. Kemudian untuk memberikan hak
akses untuk semua perintah kita tinggal menuliskan “all privileges” maka secara langsung kita
sudah memberikan hak akses untuk semua perintah.

Begitu juga pada perintah Revoke, sama perintah revoke di tuliskan pada user “root” kemudian
perintah yang di gunakan adalah “Revoke select on sbd_lab.mhs from tri2@localhost”. Itu yang
digunakan untuk menghapus hak akses untuk 1 perintah dml, sedangkan untuk 2 perintah dml
tinggal memberikan tanda pemisah antara perintah 1 dengan yang lain dengan tanda “,”
kemudian apabila kita ingin menghapus untuk semua hak akses pada perintah dml tinggal
mengketikan “All privileges” maka secara langsung kita sudah menghapus semua hak akses pada
perintah yang ada. Untuk mengeceknya kita tinggal masuk ke dalam user yang di tuju. Apabila
pada user yang di tuju sudah tidak ada nama databasenya maka perintah revokenya berhasil.
Pembahasan SQL Server
Membuat database “basisdata” pada server.
Query : create database nama_database
Contoh : create database BasisData

Membuat tabel pada database basisdata, dg nama tb_mahasiswa dan tb_matakuliah.


Query : create table nama_tabel ( isi tabel )
Contoh : create table tb_matakuliah (kode_matakuliah int, nama_matakuliah char(15), dosen
char(15))
memasukkan data pada tabel yang telah dibuat.
Query : insert into nama_tabel values (isi tabel)
Contoh : insert into tb_mahasiswa values (09120041,'siska','a')

untuk melihat table yang telah dibuat


Query : select * from table
contoh : select * from tb_matakuliah

membuat login user baru dan password.


Query : exec sp_addlogin @loginame='nama',@passwd='password',@defdb='nama_database'
Contoh : exec sp_addlogin @loginame='kelompok6',@passwd='kelompok6',@defdb='basisdata'

membuat hak akses pada login user.


Query : exec sp_adduser 'kelompok6','user
Contoh : exec sp_adduser 'kelompok6','user'
Oracle
Membuat tabel pada database basisdata, dg nama tb_mahasiswa dan tb_matakuliah.
Query : create table nama_tabel ( isi tabel );
Contoh : create table mahasiswa (npm int, nama char(10),kelas char(3));

memasukkan data pada tabel yang telah dibuat.


Query : insert into nama_tabel values (isi tabel);
Contoh : insert into tb_mahasiswa values (09120048, 'siska', 'a');

membuat login user baru dan password.


Query : create user nama_user identified by nama_user;
Contoh : create user kelompok6 identified by kelompok6;
membuat hak akses pada login user.
Query : grant connect, resource to nama_user;
Contoh :grant connect, resource to kelompok6;

menentukan hak akses user ( GRANT ) pada tb_mhs menggunakan query SELECT,INSERT,
dan UPDATE. Dan menentukan hak akses user (GRANT) pada tb_matakuliah menggunakan
query SELECT,INSERT, dan DELETE.
Query : grant select,insert,update on nama_table to nama_user;
Contoh : grant select,insert,update on tb_mahasiswa to kelompok6;

login dengan menggunakan user name dan password yang baru di buat.
Select ( melihat tabel ) .
Query : select * from nama_tabel
contoh : select * from tb_mahasiswa

untuk revoke (menghapus hak akses) keluar dulu dari kelompok6. Kemudian connect ke system
Query : revoke select on table from kelompok6;

setelah menghapus hak akses dari salah satu INSERT, CREATE, UPDATE. Lakukan percobaan
untuk memanggil salah satu dari INSERT, CREATE, UPDATE. Seperti gambar dibawah ini.
Kesimpulan :
1. User yang belum di beri hak akses tidak dapat melihat isi database.
2. User hanya dapat memanipulasi data sesuai dengan hak akses yang telah di berikan.

Anda mungkin juga menyukai