240 likes | 676 Views
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.
E N D
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.
Berbagaikemungkinan yang diantisipasiolehfasilitasproteksi data, adalah : • GangguanListrik • Sumberlistrik yang matimendadakmenyebabkaninformasi yang masihberadadalam RAM (memorikomputer) menjadihilang. Akibatnya, akanada data yang hilang • Kerusakan Disk • Data yang tedapatpada disk hilang • KesalahanPerangkatLunak • Hal inimengakibatkanhasil yang tidakbenar, karenapengubahan basis data tidakmelaluiprosedursebagaimanamestinya. Akibatnya basis data dalamkeadaantidakkonsisten.
Berbagaikemungkinan yang diantisipasiolehfasilitasproteksi 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
PemulihanTransaksi • Transaksiadalahsuatukesatuanprosedurdidalam program yang mungkinterjadimemperbaharui data padasejumlahtabel. • Sebagaicontoh, sebuahtransaksiadalahsaatandamengambiluangmelalui ATM. • Andamemasukannilaiuang yang akanandaambil • Salsoandadipotongsebesar yang inginandaambildantabel yang menyimpansaldodiperbaharui • Data pengambilanuangdicatatsebagaitransaksipengambilan (disimpanpadatabeltransaksi) • Mesinmengeluarkanuang.
PemulihanTransaksi (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.
GambaranPemulihanTransaksi • Mulai,menyatakankeadaanawal • DisetujuiSebagian,menyatakankeadaansetelahsuatupernyataanberhasildilaksanakan • Gagal, menyatakankeadaansetelahsutupernyataangagalmelaksanakantugas. • Batal, menyatakankeadaansetelahtransaksidibatalkan. Setelahdibatalkan, keadaandipulihkankembalimenjadisepertikeadaansaatawaltransaksi • Disetujui, menyatakankeadaansetelahtransaksiberhasildijalankan • Berakhir, menyatakankeadaantransaksiberakhir. Transaksiberakhirterjadisetelahtransaksidisetujuiataudibatalkan.
ContohPseudokode • AWAL TRANSAKSI • Potongsaldosesuaidenganpengambilan yang dikehendaki • JIKA adasesuatukesalahan MAKA MENUJU ke BATAL • Catatsebagaitransaksipengambilan • JIKA adasesuatukesalahan MAKA MENUJU ke BATAL • Keluarkanuang • JIKA adasesuatukesalahan MAKA MENUJU ke BATAL • Setujuitransaksi • MENUJU ke AKHIR • BATAL : • BATALKAN transaksi • MENUJU ke AKHIR • AKHIR : • SELESAI
Disetujui sebagian Disetujui Mulai Berakhir Batal Gagal
SET TRANSACTION. SQL mendukungpernyataan • COMMIT untuk menyetujui perubahan data secara permanen dan sekaligus membawa ke keadaan akhir • ROLLBACK untyuk membatalkan pengubahan data dan sekaligus membawa ke keadaan akhir.
PemulihanMesin • Padapembahasandidepan, pemulihandidasarkanolehkegagalantransaksi. Dalampraktiknya, kegagalanbisaterjaditerhadapsemuatransaksi yang sedangberlangsung, yaituapabilaterjadigangguanpadasistem (misalnyasumberlistriktiba-tibamati). • Kegagalansistemmenyebabkan data yang beradadalam RAM hilang. Akibatnya, adatransaksi yang tidakselesai. Transaksisepertiinitentusajaharusdibatalkanpadasaatsistemdiaktifkankembali (prosesnyabiasadisebutUNDO). Namundemikiansistemjugaharusbisamengetahuitransaksi-transaksi yang telahberakhir (disetujui) dantransaksi-transaksiiniharusdijamindituliskanpada 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 • Padajaringankomputermemungkinkansuatu data dapatdipakaisecarabersama-samaolehsejumlahorang. Hal serupajugaterjadipadaberbagaisistemkomputer yang tidaktergolongsebagaijaringankomputer, tetapiberkedudukansebagaisistem multiuser (sebuahkomputerdengansejumlah dumb terminal). Data dapatdiaksesdarimanasaja. Tentuhalinimenguntungkan. Namundemikiandisisi lain kemudahansepertiitujugamembukapeluangbahwa data yang sensitifbisadiaksesolehsiapasaja. Untukmengantisipasikeadaanini, DBMS menyediakankontrolpengamanan.
Pengamanandenganberbagai level • Fisik, pengamanandilakukandenganmenempatkansistemkomputerpadaruang yang secarafisiktidakdapatdiaksesolehsembarangorang • Manusia, kewenanganpenggunaharusperhatikandenganbaik, agar orang yang tidakberhaktidakdapatmengakses data • SistemOperasi, mengingatseseorangdapatmengakses data darijauh (jauhdaripusat data), keamanandalam level sistemoperasijugaharusdiperhatikan. Misalnya, perludiatur agar seseorangtidakdapatseeneknyasendiridalammenghapus disk • Sistem Basis Data, terdapatpengaturan-pengaturan yang memungkinkanseseorangmisalnyahanyadapatmembaca data tertentu.
Hakygdisediakansistem • ALTER, memungkinkanpenggunamengubahtabelsuatu basis data (misalnyamenambahkankolom) • DELETE, memungkinkanpenggunamenghapusbarismilikobjek-objek basis data • EXECUTE, memungkinkanpenggunamenjalankansustuprosedurtersimpanataupaketdalam basis data • INDEX, memungkinkanpenggunamenciptakanindekataumemodifikasiindekspadatabel basis data • INSERT, memungkinkanpengguanmenambahkanbarisbarupadatabel • PEFERENCES, memungkinkanpenggunamenciptakantabel yang menrefensiketabel lain. • SELECT, memungkinkanpenggunamelihat data • UPDATE, memungkinkanpenggunamengubah data • ALL, memberikanpenggunaseluruhhakdiatas
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