LAPORAN PRAKTIKUM ADMINISTRASI BASIS DAT

LAPORAN PRAKTIKUM
ADMINISTRASI BASIS DATA
“Manajemen User dan Hak Akses Basis Data”

NAMA

: MIFTAHUL KHAIR .N

KELAS/JURUSAN : 2B TKJ – TEKNIK ELEKTRO
NIM

: 42514043

Program Studi Teknik Komputer dan Jaringan
Jurusan Teknik Elektro
Politeknik Negeri Ujung Pandang
2015

1. Tujuan
Setelah menyelesaikan modul ini, anda diharapkan dapat :
1. Menjelaskan tentang sekuriti pada database

2. Membuat manajemen user dan hak akses basis data
2. Dasar Teori
Mangelola Security Database
Jika m enggunakan paket aplikasi MySQL pada saat instal asi dapat mengaktifkan sec urity
setting dengan mengisi root password

Menggunakan aplikasi gabungan tidak ada fasilitas security atau password .
berbahaya karena siapapun dapat mengakses dengan mudah terhadap sistem databas e

Sangat

Mengaktifkan Keamanan Standar
Jika menggunakan aplikasi gabungan xampp, setelah selesai instal asi, maka pert ama kali
harus dilakukan adal ah m engaktifkan kata sandi untuk root dan m enghapus a nonym user.
Anonym user adal ah us er tanpa i dentitas dan password. Aktifkan dam masuk ke dalam sistem
sebagi root dan jalankan MySQL
Lakukan peri ntah untuk melihat database

Aktifkan database mysql dan lihat
tabel


Dalam database mysql terdapat lima buah t abel yang dapat digunakan untuk mengatur use r dan
izin akses masing-m asing user – user pri vileges, Yaitu : user, db, host, tables_pri v dan colum
ns_pri v. Kelima tabel ini disebut gra nt tables
Fungsi dari kelima tabel tersebut :
a. User
Berisi data user yang m endapatkan izin akses MySQL, asal koneksi da n izin akses
kepada user
Ti ngkatan akses : Global
b. Db
Mengatur database apa saja yang dapat diakses oleh seorang user dan jenis izin aksesnya
Ti ngkatan akses : Database

c. Host
Mengatus asl host yang diperk enankan bagi user untuk mengakses MySQL, jika lebih
d ari satu host
Ti ngkatan akses : Database
d. tables_pri v
Mengatur tabel apa saja yang dapat diakses oleh seorang user dan jenis izin aksesnya
Ti ngkatan akses : Tabel

e. columns_pri v
Mengatur k olom (fi eld) apa saja yang dapat diakses oleh seorang user dan jenis
iz in aksesnya
Ti ngkatan akses : Kolom – field
Jenis Izin Akse s User – User Privileges
Izin akses bagi user terdirli dari tiga bagian, y aitu :
1. Ti ngkatan akses user biasa
Mencakup izin akses kedalam dat abas e atau kolom, yaitu :
a. ALTE R
b. CRE TA TE
c. DELE TE
d. DROP
e. INDE X
f. INSE RT
g. SELECT
h. UPDA TE
i. REFERE NCES
2. Ti ngkatan akses administrat or –Gl obal admi nistrati ve
Hany a digunakan oleh user setingkat root atau admi nistrator dan tidak di berikan kepada
user biasa, yaitu :

a. FILE
b. PROCESS
c. RELOA D
d. SHUTDOW N
e. CREA TE TEMPORARY TABLE
f. E XCUTE
g. LOCK TABLES
h. REPLICA TION CLIE NT
i. REPLICA TION SLAVE
j. SHOW DA TABASES
k. SUPER
3. Ti ngkatan Akses khusus – Special pri vil eges
Dapat diterapkan pada setiap user dengan izin akses sebagai berikut :
a. ALL
b. U SAGE

Menghapus Anonym User
Dengan tabel user, kita dapat mengetahui bahwa setiap kolom – fiel d mewakili masingmasing 1 jenis izin akses user. Kita tampilkan dulu data pada kolom, user, host dan password .
Perintah :
Select user, host, password fr om user ;


Jika terdapat terdapat user yang kosong pada kolom user (tanpa nam a user), dengan user
dan password yang kosong, maka siapapun dapat masuk ke dalam database server mysql.
Dan jika dal am kolom host terdapat ”%”, berarti user yang bersangkutan dapat mengakses mysql
dari
komputer mana saja.
Untuk langkah pengam anan awal dapat lakukan perintah
delete from user where user=’’ ;
Memberikan Password Untuk Root
Dapat dilakukan dengan perintah Updat e
update user set password=pa ssword (’xxxxxxxxxx’)
where user=’root’ ;
Lanj utkan dengan perint ah FLUSH
flu sh privileges

Fungsi fl ush :
Mysql membaca grant tabl es hanya satu kali pada saat server pertama kali j alank an, perintah
flush akan m emerintahkan kepada sistem untuk m embac a ul ang kelim a grant tabl es
tanpa harus me=restart server mysql. Coba anda periksa dengan perint ah :
Select user, host, password fr om user ;


Hasil di kolom password berisi kode acak
Untuk mencoba password, keluar dari aplikasi mysql dengan \q. Kem udi an coba untuk
mengakses kembali tanpa password dan dengan password

Manajemen User
Untuk MySQL versi 3.22. keatas dalam m anajem en user dapat menggunakan perintah GRANT
dan
REVOKE.
Perintah GRA NT: dipergunakan untuk membuat user baru dengan i zin aksesnya
Bentuk umum :
GRANT j enis_akses (nama_kolom ) ON nam a_database
TO nama_user IDENTIFIED BY ”nam a_password”
[WITH GRANT pilihan_akses]
Perintah REVOKE: Unt uk menghapus izin akses user
Bentuk umum :
REVOKE jenis_akses ON nam a_database
FROM nama_user
Perintah DELE TE: Untuk menghapus user secara perm anen
Membuat User Baru

Dengan perintah GRA NT
Ti ngkatan akses adalah ALL , user vi vi en sebagai admi nistrator
ON *.* = dapat meng -akses semua database
TO vi vi en dapat ditulis TO vi vi en@% atau TO vi vi en@localhost
Buat user baru dengan nam a “ayyi”
dengan perintah

User ayyi dapat logi n ke MySQL dapat mengakses semua database tetapi tidak memiliki izin
akses, jadi sebagai dummy user at au blank us er.
Lihat tabel user

Bagaim ana dengan izin akses ? caranya dengan mem eriksa tabel user, yaitu kol om pri vil
eges, dengan perintah SELE CT * FROM USE R

User vi vi en bertanda ” Y ” dapat mengakses semua
User ayyi bertanda ” N ” tidak dapat mengakses
Coba gunakan user ” ayyi ”
Keluar dari MySQL dan logi n kembali dengan user ” ayyi ” password ” fathin ”
Tampilan :


Coba lihat database yang dapat diakses
Tampilan :

User ayyi tidak dapat mengakses database yang sudah terbentuk di mysql hany a
database informati on_schema.
Coba mem buat database :

Access denied, tidak diberikan izin unt uk create
Memberikan Izin Akse s tertentu
Jika akan m emberikan izin akses SELECT, INSERT, UP DA TE dan DE LE TE kepada user ayyi
yang hanya dapat digunakan pada d atabase latihdb1
Pemberian izin akses hanya boleh dilakukan ol eh user dalam akses root at au us er yang di berikan
zin
akses setingkat administrator.
Sebagai contoh user ”root” atau user ”iyus ” (nama anda sendi ri)
Jika menggunak an root
Perintah :

Jika men ggunak an user ”iyus” (nama anda sendi ri)
Perintah :


Gunakan salah satu dan Buat database baru dengan nama ’latihdb1’

Berikan izin akses ke database latihdb1
Aktifkan database mysql dan lihat tabel –

Berikan izin unt uk insert, update, delet e, create pada user ayyi

Lihat perubahan izin akses

Coba mengakses dengan user ayyi
Dan li hat database yang dapat diakses

Database l atihdb1 dapat diakses dan jika terdapat akses yang tidak diizinkan maka l akukan peritah
GRA NT untuk izin akses pada user ayyi, dengan ketetapan user admi n sebagai root.
Cont oh :

Cont oh user ayyi membuat table pegawai dalam database latihdb1

Buatlah database akademik dengan tabel mahasiswa, matakuliah dan kelas.

Struktur tabel m ahasiswa :

Struktur tabel M atakuliah :

Struktur tabel kel as :

Memberikan izin akse s per tabel dan per kolom
Dengan perintah grant dapat digunakan untuk memberikan izin akses per tabel dan per kol om tabel.

Cont oh user ayyi diberikan izin akses SELECT dan INSE RT untuk kol om k ota da n kdpos pada
tabel mahasi wa.
Sintaksis MySQL :

Pengaruh dari perintah grant tables, sebel umnya kita coba menampilkan tabel tabl
e_pri v. Sintaksis pertama :

Keterangan :
Host
Db
User

Table_name
Grantor
Tim estamp

: % , Dapat diakses di semua komputer terkoneksi jaringan
: Databas e Akademik yang dapat diakses
: User Ayyi
: Mahasiswa yang dapat diakses
: root@localhost, yang memberikan izin akses
: Tanggal pem berian izin 18 No vember
2009 jam 10.55.52

Sintaks kedua :

Keterangan :
Column_pri v

: Select dan Insert , izin akses kolom yang diberikan

Untuk melihat kolom mana saja yang diberikan izin akses select dan insert, dengan
perintah : Sintaksis MySQL

Keterangan :
Column_nam e : Kota dan KdPos, kolom yang diberikan izin akses
Column_pri v
: Izin akses kedua kolom tersebut adalah select dan insert
Anda coba kewenangan apa saja yang dapat dilak ukan ol eh user ayyi. Keluar dari
mysql. Dan l ogin kem bali dengan user ayyi :

Lakukan peri ntah :
Lihat database aktif

Akatifkan database akademik

Lihat tabel aktif

Lakukan peri ntah sel ect record y ang ada pada tabel mahasiswa

User ayyi tidak diizikan untuk menam pilkan data pada tabel mahasiswa
Izin akses nya adal ah select unt uk kolom kota dan kode pos
Lakukan peri ntah sel ect kota dan kodepos

List data kota dan kode pos

Bagaim ana dengan perintah del ete tabel

Perintah del ete ditolak
Bagaim ana dengan perintah UPDA TE kota

Bagimana dengan peri ntah insert

Untuk perintah update dan insert data tidak dapat dil akukan ol eh user ayyi
Bagimana user ayyi dapat mengakses tabel mahasiswa Keluar
dari MySQL dan logi n kembali menggunakan user root Dan
berik an izin akses untuk tabel mahasiswa kepada user ayyi

Perintah ini mem berikan status root kepada us er ayyi, hanya izin akses lengkap di
database akademik tabel mahasiswa ( on akademik.mahasiswa )
Coba keluar dan logi n kembali dengan user ayyi
Lakukan peri ntah updat e dan select

Perintah update dapat dilakukan
Lakukan peri ntah sel ect data keseluruhan

Bagaim ana dengan menambah data gunakan peri ntah ins ert ?

Perintan insert dapat dil akukan dan juml ah data terdi ri 6 record
Bagaim ana dengan select untuk tabel mat a kuliah dan kelas ?

Untuk mengakses tabel m atakuliah dan kelas tidak di izinkan
Memberikan izin akse s berdasarkan lokasi pengakse s
Admin atau root atau mem berik an izin akses berdasarkan lokasi atau mem batasi komputer mana
saja yang dapat mengakses MySQL server.
Cont oh pemberian izin akses :

Perlu diperhatikan format pemberi an izin, berhubungan dengan c ara logi n ke MySQL,
contoh : Jika pemberi an izin akse dengan no IP kom puter maka logi n juga harus
mencantumkan no IP. Yang lebih fleksibel menggunakan tanda ”%” dapat di akses dimana saj
a ke server MySQL.
Menghapus izin akse s
Menggunakan peri ntah REVOKE, penggunaan peri ntah revoke i ni hany a menghapus
izin akses untuk user tertentu, buk an penghapus user. Us er yang bersangk utan tetap dapat
login ke MySQL.
Bentuk umum :
REVOKE jenis_akses ON nam a_database
FROM nama_user
User ayyi dapat mengakses tabel yang ada di dat abas e
akademik

Sebagai contoh : user ayyi dihapus izin akses untuk databas e
akademik. Sintaks :

Jangan lupa diakhi r dengan perintah
flush

Kasus jika suatu root telah mem berik an izin akses hany a untuk satu tabel, seperti user

ayyi telah dahulu di berikan all pri vil eges kepada
menghapusnya disesuaikan dengan perintah grant.

tabel

mahasiswa,

maka

untuk

Untuk menghapus izin akses di tabel mahasiswa, lakukan peri ntah (izin aksesnya sama
dengan peri ntah grant)

Konsep m emberikan izin akses user – pri vileges user m erupakan hal yang sangat penting
dalam menyangkut masalah keam anan pada MySQL.
3. Daftar Alat dan Bahan
1.

Personal Komputer 1 Unit

2.

Software DBMS (MS. Access, SQL Server, MySQL, Visual Foxpro)

4. Keselamatan Kerja
1.

Sebelum melakukan langkah percobaan, pastikan kabel power terhubung ke Power Supply.

2.

Matikan komputer setelah praktikum selesai.

5. Langkah Kerja
1. Buatlah beberapa user secara hirarki
2. Berikan hak akses pada setiap user fdan lakukan uji coba hak akses tersebut

Manajemen user pada DBMS SQL SERVER 2014
1. Membuat USER

Menentukan database default untuk user yang baru di buat.

2. Pemberian (GRANT) Hak akses
Pada saat berhasil login, user baru mencoba untuk melihat isi salah satu table yang ada di
database tersebut, namun tidak bisa. Ini disebabkan user baru tersebut belum di beri GRANT
oleh admin.

Pemberian ‘grant select’ untuk user usr_chuis2,

User usr_chuis2 login chuis2 sudah berhasil melakukan select pada salah satu tabel yang ada dalam
database db_praktikum.

Chuis2 belum bisa menghapus data dari table, karena belum di beri grant delete

3. Penghapusan (REVOKE) Hak akses
Mengahapus hak akses yang telah di berikan kepada salah satu user

Setelah di lakukan perintah rovoke, maka user usr_chuis2, tidak bisa lagi melihat isi tabel

Role
Role digunakan untuk mengelompokkan beberapa priveleges atau hak akses, untuk di berikan
kepada user yang memilik hak akses yang sama.
Misalnya role ‘bos’ memiliki hak akses select,delete,insert maka user yang di berikan hak akses
sebagai bos, bisa menggunakan semua hak akses yang ada pada role ‘bos’
Create role

Memberikan Hak Akses kepada ROLE yang telah di buat.

Memberikan role ke user, berarti usr_rini sudah bisa melakukan role bos, yaitu select, insert, delete

Menghapus role yang telah di beri ke user. Berarti usr_rini kini tidak bisa melakukan role bos lagi