Download - Materi 11
![Page 1: Materi 11](https://reader036.vdokumen.com/reader036/viewer/2022062312/55642325d8b42a2a0a8b5744/html5/thumbnails/1.jpg)
1
BASIS DATAAHMAD KURNIAWAN
![Page 2: Materi 11](https://reader036.vdokumen.com/reader036/viewer/2022062312/55642325d8b42a2a0a8b5744/html5/thumbnails/2.jpg)
Sebuah fasilitas untuk melindungi data dari berbagai risiko sehingga dapat diantisipasi dari kemungkinan sbb:
- Gangguan listrik - Kerusakan harddisk - Kesalahan perangkat lunak (tdk
prosedur) - Akses oleh orang yang tidak berhak - Akibat dari multiuser
![Page 3: Materi 11](https://reader036.vdokumen.com/reader036/viewer/2022062312/55642325d8b42a2a0a8b5744/html5/thumbnails/3.jpg)
Recovery (Pemulihan) Security (keamanan) Integrity (Integritas) Concurrency (Konkurensi)
3
![Page 4: Materi 11](https://reader036.vdokumen.com/reader036/viewer/2022062312/55642325d8b42a2a0a8b5744/html5/thumbnails/4.jpg)
Upaya untuk mengembalikan keadaan basisdata pada posisi semula yang dianggap benar sebelum terjadinya kegagalan.
Macam kegagalan: 1. Kegagalan Transaksi 2. Kegagalan Sistem 3. Kegagalan Media
4
![Page 5: Materi 11](https://reader036.vdokumen.com/reader036/viewer/2022062312/55642325d8b42a2a0a8b5744/html5/thumbnails/5.jpg)
Transaksi Serangkain (paket) prosedur proses yang
memperbaharui data pada sejumlah tabel di dalam basisdata.
5
![Page 6: Materi 11](https://reader036.vdokumen.com/reader036/viewer/2022062312/55642325d8b42a2a0a8b5744/html5/thumbnails/6.jpg)
Contoh pada ATM 1. Memasukkan Nilai Uang yang akan di
tarik 2. Pemotongan saldo pada Tabel 3. Penarikan dicatat pada Tabel Tranaksi 4. ATM mengeluarkan uang
Misalnya kegagalan terjadi pada saat langkah ke
4 (empat), oleh karena suatu hal ATM tidakmengeluarkan uang
6
![Page 7: Materi 11](https://reader036.vdokumen.com/reader036/viewer/2022062312/55642325d8b42a2a0a8b5744/html5/thumbnails/7.jpg)
Aplikasi yang baik harus dapat mengantisipasiseperti kejadian kegagalan transaksi padalangkah ke 4
Hal ini yang disebut ”Pemulihan transaksi”
7
![Page 8: Materi 11](https://reader036.vdokumen.com/reader036/viewer/2022062312/55642325d8b42a2a0a8b5744/html5/thumbnails/8.jpg)
Mendefinisikan keadaan sbb:
Mulai (Pernyataan keadaan awal transaksi)
Disetujui sebagian (Pernyataan suatu langkah transaksi berhasil)
Gagal (Pernyataan suatu langkah transaksi gagal dilaksanakan)
Batal (Pernyataan suatu langkah transaksi batal dilaksanakan)
Disetujui (Pernyataan suatu langkah transaksi berhasil dijalankan)
Berakhir (Pernyataan keadaan transaksi telah berakhir)
8
![Page 9: Materi 11](https://reader036.vdokumen.com/reader036/viewer/2022062312/55642325d8b42a2a0a8b5744/html5/thumbnails/9.jpg)
9
Mulai
Potong saldo
Berhasil
Selesai
Batalkan proses
Catat transaksi penarikan
Berhasil
Keluarkan uang
Berhasil
Setujui Transaksi
Y
T
T
T
Y
Y
![Page 10: Materi 11](https://reader036.vdokumen.com/reader036/viewer/2022062312/55642325d8b42a2a0a8b5744/html5/thumbnails/10.jpg)
1. Defered upate / perubahan yang ditunda
2. Immediate Upadate / perubahan langsung
3. Shadow Paging
10
![Page 11: Materi 11](https://reader036.vdokumen.com/reader036/viewer/2022062312/55642325d8b42a2a0a8b5744/html5/thumbnails/11.jpg)
Perubahan pada DB tidak akan berlangsungsampai transaksi ada pada poin disetujui(COMMIT). Jika terjadi kegagalan maka tidakakan terjadi perubahan, tetapi diperlukanoperasi redo untuk mencegah akibat darikegagalan tersebut.
11
![Page 12: Materi 11](https://reader036.vdokumen.com/reader036/viewer/2022062312/55642325d8b42a2a0a8b5744/html5/thumbnails/12.jpg)
Perubahan pada DB akan segera tanpa harusmenunggu sebuah transaksi tersebut disetujui.Jika terjadi kegagalan diperlukan operasi UNDOuntuk melihat apakah ada transaksi yang telahdisetujui sebelum terjadi kegagalan.
12
![Page 13: Materi 11](https://reader036.vdokumen.com/reader036/viewer/2022062312/55642325d8b42a2a0a8b5744/html5/thumbnails/13.jpg)
Menggunakan page bayangan imana paa prosesnya terdiridari 2 tabel yang sama, yang satu menjadi tabel transaksidan yang lain digunakan sebagai cadangan.
Ketika transaksi mulai berlangsung kedua tabel ini samadan selama berlangsung tabel transaksi yang menyimpansemua perubahan ke database, tabel bayangan akandigunakan jika terjadi kesalahan.
Keuntungannya adalah tidak membutuhkan REDO atauUNDO, kelemahannya membuat terjadinya fragmentasi.
13
![Page 14: Materi 11](https://reader036.vdokumen.com/reader036/viewer/2022062312/55642325d8b42a2a0a8b5744/html5/thumbnails/14.jpg)
Pada sebuah sistem bisa saja terjadi kegagalan, jika banyak transaksi sedang berlangsung tiba-tiba terjadi ganguan pada sistem sehingga menyebabkan semua data dalam RAM hilang.
Transaksi2 yang tidak selesai harus dibatalan jika sistem diaktifkan kembali (proses UNDO)
Sistem memiliki transaksi mana yang sudah Berakhir disetujui dan yang belum disetujui, jejak langkah tersebut disimpan pada sebuah LOG.
14
![Page 15: Materi 11](https://reader036.vdokumen.com/reader036/viewer/2022062312/55642325d8b42a2a0a8b5744/html5/thumbnails/15.jpg)
Basis data tidak rusak Recovery yang lebih disukai: beralih ke basis data
duplikat Alternatif 1: rollback Alternatif 2: restart dari checkpoint
Kerusakan basis data Recovery yang lebih disukai: beralih ke basis data
duplikat Alternatif 1: rollforward Alternatif 2: memproses transaksi kembali
15
![Page 16: Materi 11](https://reader036.vdokumen.com/reader036/viewer/2022062312/55642325d8b42a2a0a8b5744/html5/thumbnails/16.jpg)
16
![Page 17: Materi 11](https://reader036.vdokumen.com/reader036/viewer/2022062312/55642325d8b42a2a0a8b5744/html5/thumbnails/17.jpg)
17
![Page 18: Materi 11](https://reader036.vdokumen.com/reader036/viewer/2022062312/55642325d8b42a2a0a8b5744/html5/thumbnails/18.jpg)
Pada kegagalan media penanganannya adalah dengan memuat kembali data yang dianggap rusak, dengan cara merestore basisdata hasil backup terakhir.
18
![Page 19: Materi 11](https://reader036.vdokumen.com/reader036/viewer/2022062312/55642325d8b42a2a0a8b5744/html5/thumbnails/19.jpg)
Data yang ada pada harddisk yang tergores di dalambasisdata pasti rusak dan tidak dapat dibaca.Cara mempebaikinya sbb:1. Deteksi data yang masih baik, dengan cara
membaca data dari awal sampai berhenti pada posisi yg rusak tsb. dan catat index number datanya. Kemudian di export ke basis data lain, untuk mengumpulkan yang baik saja.
2. Baca kelanjutan data mulai dari index setelah yang rusak, sampai berhenti pada posisi yg rusak berikutnya dan lakuan expot kembali untuk mengumpulkan yang baik saja
3. Lakukan hingga data selesai semua diexport, terakhir lakukanlah mengimpor data ke databasenya.
19