SP346-062130-669-27 103KB Dec 21 2011 05:47:38 PM

advertisement
PROTEKSI DATA
BASIS DATA
Proteksi Data

DBMS umumnya memiliki fasilitas proteksi data,
yaitu fasilitas yang dimaksudkan untuk melindungi
data dari berbagai resiko yang mungkin terjadi,
dan membawa dampak terhadap data dalam
basis data.
Berbagai kemungkinan yang diantisipasi
oleh fasilitas proteksi data, adalah :

Gangguan Listrik


Kerusakan Disk


Sumber listrik yang mati mendadak menyebabkan informasi
yang masih berada dalam RAM (memori komputer) menjadi
hilang. Akibatnya, akan ada data yang hilang
Data yang tedapat pada disk hilang
Kesalahan Perangkat Lunak

Hal ini mengakibatkan hasil yang tidak benar, karena
pengubahan basis data tidak melalui prosedur
sebagaimana mestinya. Akibatnya basis data dalam
keadaan tidak konsisten.
Berbagai kemungkinan yang diantisipasi
oleh fasilitas proteksi data, adalah :

Pengaksesan oleh orang yang tak berhak
 Data
yang bersifat sentsitif seharusnya hanya boleh
diketahui oleh pengguna yang berhak. Pengaksesan
oleh orang yang tak berhak harus dicegah sehingga
kemungkinan adanya sabotase terhadap basis data
dapat dihindari.

Kemungkinan terjadinya dua orang atau lebih
menggubah data base yang sama
 Hal
seprti ini bisa terjadi pada sistem yang multiuser,
dan sebagai akibatnya dapat menimbulkan
ketidakkonsistenan.

Dalam rangka melindungi data terhadap
kemungkinan seperti itu, DBMS menyediakan
sejumlah kontrol yang disebut :
 Pemulihan
(recovery)
 Pengamanan (Security)
 Integritas (integrity)
 Konkurensi (concurrency)
PEMULIHAN

Pemulihan adlah upaya untuk mengembalikan basis
data ke keadaan yang dianggap benar setelah
suatu kegagalan terjadi. Ada beberapa macam
pemulihan yang perlu ditangani :
 Pemulihan
terhadap kegagalan transaksi
 Pemulihan terhadap kegagalan sistem
 Pemulihan terhadap kegagalan media
Pemulihan Transaksi


Transaksi adalah suatu kesatuan prosedur didalam
program yang mungkin terjadi memperbaharui data
pada sejumlah tabel.
Sebagai contoh, sebuah transaksi adalah saat anda
mengambil uang melalui ATM.
Anda memasukan nilai uang yang akan anda ambil
 Salso anda dipotong sebesar yang ingin anda ambil dan
tabel yang menyimpan saldo diperbaharui
 Data pengambilan uang dicatat sebagai transaksi
pengambilan (disimpan pada tabel transaksi)
 Mesin mengeluarkan uang.

Pemulihan Transaksi (2)




Langkah pertama hingga keempat diperlakukan sebagai sebuah transaksi.
Sebuah transaksi dikatakan telah disetujui (committed) kalau seluruh
rangkaian proses dalam transaksi tersebut berhasil dilaksanakan. Dalam
prakteknya, bisa saja sesuatu proses di dalam sebuah transaksi gagal
dilaksanakan. Misalnya, langkah ketiga berhasil dilaksanakan, tetapi
karena sesuatu hal, mesin tidak mengeluarkan uang dan pada layar muncul
pesan “ Transaksi tidak dapat diproses”.
Sistem yang baik harus dapat mengatisipasi keadaan diatas, dengan
mengembalikan ke keadaan semula (sebelum transaksi dimulai).
Langkah untuk mengembalikan data ke keadaan semula biasanya disebut
pemulihan transaksi.
Gambaran Pemulihan Transaksi







Mulai, menyatakan keadaan awal
Disetujui Sebagian, menyatakan keadaan setelah suatu
pernyataan berhasil dilaksanakan
Gagal, menyatakan keadaan setelah sutu pernyataan gagal
melaksanakan tugas.
Batal, menyatakan keadaan setelah transaksi dibatalkan.
Setelah dibatalkan, keadaan dipulihkan kembali menjadi
seperti keadaan saat awal transaksi
Disetujui, menyatakan keadaan setelah transaksi berhasil
dijalankan
Berakhir, menyatakan keadaan transaksi berakhir. Transaksi
berakhir terjadi setelah transaksi disetujui atau dibatalkan.
Contoh Pseudokode














AWAL TRANSAKSI
Potong saldo sesuai dengan pengambilan yang dikehendaki
JIKA ada sesuatu kesalahan MAKA MENUJU ke BATAL
Catat sebagai transaksi pengambilan
JIKA ada sesuatu kesalahan MAKA MENUJU ke BATAL
Keluarkan uang
JIKA ada sesuatu kesalahan MAKA MENUJU ke BATAL
Setujui transaksi
MENUJU ke AKHIR
BATAL :
BATALKAN transaksi
MENUJU ke AKHIR
AKHIR :
SELESAI
Disetujui
sebagian
Disetujui
Mulai
Berakhir
Gagal
Batal
SET TRANSACTION. SQL mendukung pernyataan



COMMIT untuk menyetujui perubahan data secara
permanen dan sekaligus membawa ke keadaan
akhir
ROLLBACK untyuk membatalkan pengubahan data
dan sekaligus membawa ke keadaan akhir.
Pemulihan Mesin


Pada pembahasan didepan, pemulihan didasarkan oleh
kegagalan transaksi. Dalam praktiknya, kegagalan bisa
terjadi terhadap semua transaksi yang sedang berlangsung,
yaitu apabila terjadi gangguan pada sistem (misalnya sumber
listrik tiba-tiba mati).
Kegagalan sistem menyebabkan data yang berada dalam
RAM hilang. Akibatnya, ada transaksi yang tidak selesai.
Transaksi seperti ini tentu saja harus dibatalkan pada saat
sistem diaktifkan kembali (prosesnya biasa disebut UNDO).
Namun demikian sistem juga harus bisa mengetahui transaksitransaksi yang telah berakhir (disetujui) dan transaksi-transaksi
ini harus dijamin dituliskan pada basis data (via
Pemulihan Media


Pemulihan karena kegagalan media (misalnya disk
rusak) berbeda dengan pemulihan kegagalan
transaksi ataupun kegagalan sistem.
Penanganannya adalah dengan memuat kembali
(restore) salinan basis data (backup). Itulah
sebabnya mengapa pada pengoperasian sistem
harus ada penanganan backup, tergantung dari
kebutuhan (misalnya per akhir hari atau bahkan
dua kali sehari)
PENGAMANAN

Pada jaringan komputer memungkinkan suatu data dapat
dipakai secara bersama-sama oleh sejumlah orang. Hal
serupa juga terjadi pada berbagai sistem komputer yang
tidak tergolong sebagai jaringan komputer, tetapi
berkedudukan sebagai sistem multiuser (sebuah komputer
dengan sejumlah dumb terminal). Data dapat diakses dari
mana saja. Tentu hal ini menguntungkan. Namun demikian di
sisi lain kemudahan seperti itu juga membuka peluang bahwa
data yang sensitif bisa diakses oleh siapa saja. Untuk
mengantisipasi keadaan ini, DBMS menyediakan kontrol
pengamanan.
Pengamanan dengan berbagai level




Fisik, pengamanan dilakukan dengan menempatkan sistem komputer
pada ruang yang secara fisik tidak dapat diakses oleh sembarang
orang
Manusia, kewenangan pengguna harus perhatikan dengan baik,
agar orang yang tidak berhak tidak dapat mengakses data
Sistem Operasi, mengingat seseorang dapat mengakses data dari
jauh (jauh dari pusat data), keamanan dalam level sistem operasi
juga harus diperhatikan. Misalnya, perlu diatur agar seseorang
tidak dapat seeneknya sendiri dalam menghapus disk
Sistem Basis Data, terdapat pengaturan-pengaturan yang
memungkinkan seseorang misalnya hanya dapat membaca data
tertentu.
Hak yg disediakan sistem






ALTER, memungkinkan pengguna mengubah tabel suatu basis data (misalnya
menambahkan kolom)
DELETE, memungkinkan pengguna menghapus baris milik objek-objek basis data
EXECUTE, memungkinkan pengguna menjalankan sustu prosedur tersimpan atau
paket dalam basis data
INDEX, memungkinkan pengguna menciptakan indek atau memodifikasi indeks
pada tabel basis data
INSERT, memungkinkan pengguan menambahkan baris baru pada tabel
PEFERENCES, memungkinkan pengguna menciptakan tabel yang menrefensi ke
tabel lain.

SELECT, memungkinkan pengguna melihat data

UPDATE, memungkinkan pengguna mengubah data

ALL, memberikan pengguna seluruh hak diatas
ENKRIPSI DATA


Berbagai DBMS melakukan proteksi data terhadap
pengguna yang tidak berhak dengan cara
menambahkan enkripsi data. Dalam hal ini data
tidak disimpan sebagaimana mestinya, melainkan
dikodekan kedalam bentuk yang tidak dapat
dibaca oleh orang lain yang tidak berhak.
Misalnya :
AMIR menjadi MNJS
Download