Jumat, 25 Januari 2013

REVOKE DAN GRANT

A. Pengertian Revoke dan Grant
Untuk menghapus batasan hak akses yang telah diatur dengan menggunakan 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 :
a. 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), …
b. NamaTabel : merupakan nama tabel yang dikenal hak akses tersebut. Harus  ada  sedikitnya  satu  nama  tabel.  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.
c. namaAccount@namaHost : jika nama account tidak ada, tidak pernah diberikan hak akses dengan perintah GRANT sebelumnya maka akan terjadi error.

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.

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. Kesalahan mudah dilakukan dengan menggunakan perintah sql karena ketidaktelitian atau ketidakhafalan nama tabel dan nama 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’;

B. Listing, Logika dan Output dari Program
Pada kali ini saya akan menjelaskan laporan yang saya buat. Karena sedang belajar mengenai revoke dan grant maka dari itu kita akan membuat database dengan menggunakan xampp. Program xampp ini digunakan untuk membuat database. Pada gambar disamping ini, pertama – pertama kita mengaktifkan MySql. Setelah sudah aktif akan menampilkan layar seperti yang ada gambar diatas. Setelah MySql sudah aktif, kita buka CMD atau Command Prompt. 
Setelah mysql pada xampp sudah aktif, maka kita dapat masuk ke MySql di CMD atau Command Prompt dan setelah itu kita menggunakan database yang sudah dibuat yaitu use gitadwisetiawati; setelah menggunakan database gitadwisetiawati ini kita akan membuat sebuah table dengan nama mahasiswa. Didalam table mahasiswa ini terdapat atribut NPM, Nama dan Alamat. Pada atribut NPM disini dijadikan sebagai primary key. 



Kalau sudah dibuat tabelnya dapat  dilihat ditampilan gambar dibawah ini :

Untuk melihat table yang tadi dibuat tadi, kita harus menggunakan perintah desc mahasiswa; gambar table dapat dilihat diatas.
Setelah membuat table satu kita akan membuat table lagi dengan nama infomahasiswa. Di table ini terdapat atribut NPM, Alamat dan Telp. Seperti biasa NPM disini digunakan sebagai primary key. Pada pembuatan table ini sama saja dengan pembuatan table pertama. Hanya saja beda diatributnya. Gambar dapat dilihat dibawah ini: 

Untuk melihat table kedua menggunakan perintah yang sama. Akan tetapi hanya beda nama tablenya saja. Kalau ditable kedua ini menggunakan perintah desc infomahasiswa;
Setelah membuat kedua table tersebut, kita harus menginput data yang ingin dimasukkan. Pada kali ini memasukkan data tidak melalui CMD atau Command Prompt melainkan lewat notepad. Pada kali ini saya membuat data dengan menggunakan mhsbiodata.txt. mhsbiodata.txt ini sengaja dibuat untuk nantinya di tampilkan pada hasilnya di CMD atau Command Prompt. Kalau ingin melihat data – data yang nantinya diinput adalah sebagai berikut.

Setelah membuat data – data yang ada diatas maka selanjutnya data – data tersebut akan diimport ke dalam table. Untuk mengimport data tersebut 

menggunakan perintah sebagai berikut load data infile ‘D:\mhsbiodata.txt’ into table mahasiswa fields terminated by’;’; pada perintah dimaksudka adalah dimana data yang sudah dibuat tersebut akan dimasukkan kedalam table mahasiswa sesuai fields yang sudah dibuat dalam table mahasiswa. Gambar dapat dilihat diatas.
Pada pembahasan kali ini saya akan membahas grant dan revokenya. Disini saya menggunakan perintah grant select on gitadwisetiawati.mahasiswa to persie@localhost;. Setelah itu kita menutup database gitadwisetiawati dengan perintah exit. Setelah pada layar CMD terdapat perintah bye. Setelah itu, maka kita akan masuk ke mysql –u persie bukan mysql –u root lagi. Disini kita akan menampilkan table database gitadwisetiawati.mahasiswa dengan menggunakan perintah select*from gitadwisetiawati.mahasiswa; maka akan menampilkan hasil yang ada dibawah ini.

Maksud perintah diatas tadi adalah pemberian hak akses database kepada user lain. User yang diberikan hak akses adalah persie@localhost. Dalam persie@localhost ini kita bebas dalam menentukan nama user yang diinginkan. Dalam gambar diatas, syntax yang digunakan yaitu :
grant select on gitadwisetiawati.mahasiswa to persie@localhost;
maka akses database yang diberikan kepada User ‘persie’ adalah table mahasiswa yang ada dalam database gitadwisetiawati di dalam User Root. Cara akses yang diberikan adalah Select. Oleh sebab itu, jika kita mengakses dengan cara Insert atau Delete atau lainnya, hasil yang akan didapat adalah seperti ini :

maka untuk mencabut hak akses yang tersedia, perintah yang digunakan adalah perintah revoke. Perintah yang digunakan sebagai yang dibawah ini :
revoke all on gitadwisetiawati.mahasiswa from persie@localhost;

2 komentar: