0% menganggap dokumen ini bermanfaat (0 suara)
357 tayangan11 halaman

Lingkungan Basis Data

Ringkasan dokumen tersebut adalah: Dokumen tersebut membahas tentang konkurensi pada basis data, yang merupakan kondisi dimana beberapa proses berjalan secara bersamaan. Dokumen tersebut juga membahas mekanisme pengontrol konkurensi seperti locking dan timestamping untuk mengatasi masalah yang muncul akibat konkurensi. Selain itu, dibahas pula mengenai transaksi, crash recovery, dan masalah keamanan pada basis

Diunggah oleh

olifer 19channel
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
357 tayangan11 halaman

Lingkungan Basis Data

Ringkasan dokumen tersebut adalah: Dokumen tersebut membahas tentang konkurensi pada basis data, yang merupakan kondisi dimana beberapa proses berjalan secara bersamaan. Dokumen tersebut juga membahas mekanisme pengontrol konkurensi seperti locking dan timestamping untuk mengatasi masalah yang muncul akibat konkurensi. Selain itu, dibahas pula mengenai transaksi, crash recovery, dan masalah keamanan pada basis

Diunggah oleh

olifer 19channel
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 11

LINGKUNGAN BASIS DATA

Konkurensi (CONCURRENCY)

Konkurensi adalah kondisi kejadian dimana banyak proses berjalan di waktu yang bersamaa.
Pada proses konkuren yang berinteraksi mempunyai beberapa masalah yang harus
diselesaikan. Dengan begitu konkurensi akan berkaitan dengan bagaimana membuat struktur
dan cara kerja, agar permasalahan dapat teratasi. 

KONSEP CONCURRENCY CONTROL


 Tujuan utama dalam pengembangan database adalah membuat banyak pengguna bisa
mengakses data secara bersamaan.
 Pengaksesan data ini tidak bermasalah jika semua pengguna hanya membaca data dan
mereka tidak mengganggu satu sama lain.
 Tetapi ketika banyak pengguna mengakses database yang sama secara bersamaan dan
salah satu melakukan perubahan terhadap data, maka akan dapat menimbulkan adanya
data yang tidak konsisten (inconsistency data).
 Inconsistency data dapat diatasi dengan suatu mekanisme yang mengatur jalannya
transaksi pengaksesan data yang sama tersebut, yamg dikenal dengan istilah
Concurrency Control.
 Concurrency control adalah proses pengaturan operasi–operasi dalam banyak transaksi
yang berjalan secara simultan pada database tanpa mengganggu operasi pada transaksi
lainnya sehingga dapat menghasilkan data yang konsisten ( Connolly, 2005, p577 ).
Ada 3 masalah yang disebabkan oleh Concurrency :

1. Masalah kehilangan modifikasi (Lost Update Problem )

Masalah ini timbul jika dua transaksi mengakses item database yang sama yang

mengakibatkan nilai dari database tersebut menjadi tidak benar.

Data transaksi pada rekening bersama (Ika dan Susi)


Nilai saldo menjadi tidak benar disebabkan transaksi Susi membaca nilai saldo sebelum

transaksi Ika mengubah nilai tersebut dalam database, sehingga nilai yang sudah di update

yang dihasilkancdari transaksi Ika menjadi hilang.

2. Masalah Modifikasi Sementara (uncommited Update Problem)

Masalah ini timbul jika transaksi membaca suatu record yang sudah dimodifikasi oleh

transaksi lain tetapi belum terselesaikan (uncommited), terdapat kemungkinan kalau transaksi

tersebut dibatalkan (rollback).

Contoh uncommited Update Problem

Nilai saldo menjadi tidak benar disebabkan terjadi RollBack pada T7 yang membatalkan

transaksi sebelumnya (T6), sehingga saldo seharusnya tetap 2.000.000


3. Masalah Analisa yang tidak konsisten (Problem of inconsistency Analysis) Masalah ini

timbul jika sebuah transaksi membaca suatu nilai tetapi transaksi yang kedua mengupdate

beberapa nilai tersebut selama eksekusi transaksi pertama.

Transaksi A menjumlahkan nilai 1, nilai 2 dan nilai 3 Transaksi B  nilai 1 + 10, nilai 3 –10

Locking

LOCKING adalah salah satu mekanisme pengontrol concurrency.

KONSEP DASAR :

Ketika sebuah transaksi memerlukan jaminan kalau record yang diinginkan tidak akan

berubah secara mendadak, maka diperlukan kunci untuk record tersebut FUNGSI Locking

berfungsi untuk menjaga record tersebut agar tidak dimodifikasi oleh transaksi lain.

Jenis- Jenis Lock :

1. Share (S)

Kunci ini memungkinkan pengguna dan para pengguna konkuren yang lain dapat membaca

record tetapi tidak mengubahnya.


2. Exclusive (X)

Kunci ini memungkinkan pengguna untuk membaca dan mengubah record. Sedangkan

pengguna konkuren lain tidak diperbolehkan membaca ataupun mengubah record tersebut.
MYSQL dan Locking
MySQL merupakan software database berbasis client-server. Hal ini berarti bahwa beberapa
client dapat melakukan koneksi ke server MySQL secara bersamaan. Masing-masing client
dapat melakukan select, insert, update, maupun delete data di server MySQL. Hal ini tentunya
dapat menjadi masalah jika terjadi bentrok antar-client.
Sebagai contoh dalam proses transaksi pemesanan barang. Jika terdapat 2 (dua) pelanggan
melakukan transaksi pada waktu yang sama, misalnya melakukan pemesanan barang.
Keduanya akan menambahkan data di tabel yang sama dan mungkin saja data yang
dimasukkan tertukar atau tidak valid. Hal ini tidak akan terjadi jika pada saat satu pelanggan
melakukan transaksi, pelanggan yang lain harus menunggu sampai proses transaksi selesai.
Untuk mengatur proses query yang terjadi dalam suatu sistem yang memiliki user banyak
(multi-user-system), kita dapat memanfaatkan dua hal di MySQL.
Pertama kita dapat mengunci tabel (table-locking). Cara ini dapat dilakukan jika tipe tabel
yang digunakan adalah MyISAM.
Kedua, dapat menggunakan perintah BEGIN, COMMIT dan ROLLBACK. Cara ini dapat
dilakukan jika tipe tabel adalah tabel transaksi, yaitu InnoDB.
Terdapat 4 (empat) prinsip dasar transaksi yang biasa disingkat sebagai ACID, yaitu:
Atomicity. Atom merupakan komponen terkecil dari materi, atau sesuatu yang tidak dapat
dibagi-bagi lagi. Prinsip ini berlaku pada proses transaksi. Semua proses (perintah) yang ada
di dalam satu paket transaksi harus selesai semua atau tidak selesai sama sekali. Dengan kata
lain, dalam satu transaksi tidak boleh ada proses (perintah) yang gagal dieksekusi.
Consistency. Bahwa kegagalan satu proses dalam transaksi tidak akan mempengaruhi
transaksi lainnya.

Isolation. Secara sederhana, bahwa data yang sedang digunakan dalam satu transaksi, tidak
dapat digunakan oleh transaksi lainnya sebelum seluruh proses transaksi yang pertama selesai.
Durability. Jika sebuah transaksi selesai dieksekusi, hasilnya tetap tercatat dengan baik.
Mengunci Tabel
Mengunci tabel (table-locking) dapat dilakukan untuk membatasi akses terhadap suatu table
jika ada user yang sedang aktif mengakses tabel. Suatu tabel yang sedang terkunci (locked),
tidak dapat diakses dengan bebas oleh user lain. Untuk mengunci tabel di MySQL dapat
menggunakan kata kunci LOCK.
Bentuk umum perintah LOCK :
LOCK TABLE table1 locktype, table2 locktype, ...;
Dimana tipe lock (locktype) yang dapat dipilih antara lain:
READ. Semua user MySQL dapat membaca (mengakses) tabel, namun tabel tersebut tidak
dapat diubah oleh siapapun, termasuk user yang mengeksekusi perintah LOCK. Dengan kata
lain, tabel bersifat read-only.
READ LOCAL. Sama seperti READ, tetapi perintah INSERT dapat dilakukan selama tidak
merubah record (data) yang ada.
WRITE. User yang aktif diperbolehkan untuk membaca dan mengubah tabel (read-and-
write). User yang lain tidak dapat mengubah isi tabel, hanya dapat membaca tabel (read-
only).
LOW PRIORITY WRITE. Seperti halnya WRITE, hanya saja user lain dapat melakukan
READ LOCK.
Untuk membuka tabel yang terkunci, gunakan perintah UNLOCK TABLES;
Contoh table-locking:
> LOCK TABLES trans READ, customer READ LOCAL;
> SELECT sum(value) FROM trans WHERE customer_id= some_id;
> UPDATE customer SET total_value=total WHERE customer_id=some_id;
> UNLOCK TABLES;
BEGIN, COMMIT dan ROLLBACK
BEGIN atau START TRANSACTION digunakan untuk memulai transaksi, COMMIT untuk
mengakhiri transaksi dan menyimpan semua perubahan, sedangkan ROLLBACK digunakan
untuk menghentikan proses transaksi dan mengabaikan semua perubahan yang telah
dilakukan.

Pada tipe tabel InnoDB, tidak berlaku transaksi didalam transaksi (nested transaction), artinya
jika perintah BEGIN dieksekusi sebelum transaksi selesai dilakukan (perintah COMMIT),
maka secara otomatis, perintah COMMIT akan dieksekusi terlebih dahulu.
Perintah transaksi diatur oleh client. Jika pada saat proses transaksi berlangsung, koneksi
client dengan server terputus, maka secara otomatis, MySQL akan membatalkan semua
perubahan yang sudah terjadi (seperti halnya mengeksekusi perintah ROLLBACK).
Bentuk umum perintah transaksi :
BEGIN; SELECT | INSERT | UPDATE | DELETE; COMMIT;
Contoh :
> SET AUTOCOMMIT=0;
> BEGIN;
> INSERT INTO pesan VALUES(NULL,'P0001',now());
> SET @id := LAST_INSERT_ID();
> INSERT INTO detil_pesan VALUES (@id,'B0001','2','2500');
> COMMIT;

Timestamping

TIMESTAMPING Adalah salah satu alternatif mekanisme kontrol konkurensi yang dapat

menghilangkan masalah dead lock.

Dua masalah yang timbul pada Timestamping :

1. Suatu transaksi memerintahkan untuk membaca sebuah item yang sudah di

update oleh transaksi yang belakangan.

2. Suatu transaksi memerintahkan untuk menulis sebuah item yan nilainya sudah

dibaca atau ditulis oleh transaksi yang belakangan


Crass dan Recovery

PENGERTIAN :

Crash adalah suatu failure atau kegagalan dari suatu sistem PENYEBAB DARI

KEGAGALAN ADALAH :

1. Disk Crash yaitu informasi yang ada di disk akan hilang

2. Power failure yaitu informasi yang disimpan pada memori utama dan register akan hilang

3. Software Error yaitu output yang dihasilkan tidak betul dan sistem databasenya sendiri

akan memasuki suatu kondisi tidak konsisten

Berdasarkan Jenis storage

1. Volatile storage, biasanya informasi yang terdapat pada volatile akan hilang, jika terjadi

kerusakan sistem (system crash) contoh: RAM

2. Non Volatile Storage, biasanya informasi yang terdapat pada non volatile strorage tidak

akan hilang jika terjadi kerusakan sistem contoh: ROM

3. Stable Storage, informasi yang terdapat dalam stable storage tidak pernah hilang. contoh:

Harddisk RAID

Jenis-jenis kegagalan

1. Logical Error, program tidak dapat lagi dilaksanakan disebabkan oleh kesalahan input,

data tidak ditemukan, over flow

2. System Error, sistem berada pada keadaan yang tidak diinginkan, seperti terjadi

deadlock, sebagai akibat program tidak dapat dilanjutkan namun setelah beberapa

selang waktu program dapat dijalankan kembali.


3. System Crash,kegagalan fungsi perangkat keras, menyebabkan hilangnya data pada

volatile storage, tetapi data pada non volatile storage masih tetap ada.

4. Disk Failure, hilangnya data dari sebuah blok disk disebabkan oleh kerusakan head

atau kesalahan pada waktu pengoperasian transfer data

Security

SECURITY adalah suatu proteksi data terhadap perusakan data dan pemakaian oleh pemakai

yang tidak mempunyai ijin.

BEBERAPA MASALAH SECURITY SECARA UMUM :

1. Di dalam suatu perusahaan siapa yang diijinkan untuk mengakses suatu sistem

2. Bila sistem tersebut menggunakan password, bagaimana kerahasian dari password

tersebut dan berapa lama password tersebut harus diganti

3. Di dalam pengontrolan hardware, apakah ada proteksi untuk penyimpanan data (data

storage)

DUA KATAGORI PENYALAHGUNAAN DATABASE :

1. Katagori yang tidak disengaja Contoh: Anomali yang disebabkan oleh pendistribusian

data pada beberapa komputer

2. Katagori yang disengaja Contoh: Insert, Delete & Update oleh pihak yang tidak

berwenang

BEBERAPA TINGKATAN MASALAH SECURITY :

1. Phisical, berkaitan dengan pengamanan lokasi fisik database

2. Man, berkaitan dengan wewenang user


3. Sistem operasi, berkaitan dengan kemanan sistem operasi yang digunakan dalam

jaringan

4. Sistem database, sistem dapat mengatur hak akses user

Pemberian wewenang dan view

KONSEP VIEW adalah cara yang diberikan pada seorang pemakai untuk mendapatkan model

database yang sesuai dengan kebutuhan perorangan.

Database relational membuat pengamanan pada level :

1. Relasi, seorang pemakai diperbolehkan atau tidak mengakses langsung suatu relasi

2. View, seorang pemakai diperbolehkan atau tidak mengakses data yang terdapat pada

view

3. Read Authorization, data dapat dibaca tapi tidak boleh dimodifikasi

4. Insert Authorozation, pemakai boleh menambah data baru, tetapi tidak dapat

memodifikasi data yang sudah ada

5. Update Authorization, pemakai boleh memodifikasi tetapi tidak dapat menghapus data

6. Delete Authorization, pemakai boleh menghapus data

7. Index Authorization, pemakai boleh membuat atau menghapus index

8. Resource Authorization, mengizinkan pembuatan relasi – relasi baru

9. Alternation Authorization, mengizinkan penambahan atau penghapusan atribute dalam

satu relasi

10. Drop Authorization, pemakai boleh menghapus relasi yang ada


DAFTAR PUSTAKA

Fathansyah. (2012). Basis Data. Informatika.

Hariyanto, B. (2004). Sistem Manajemen Basis Data (Pemodelan, Perancangan dan


Terapannya). Informatika.

Hidayatullah, P., & Kawistara, J. K. (2015). Pemograman Web. Informatika. Indrajani.

(2009). Sistem Basis Data Dalam Paket Five In One. PT Elex Media
Komputindo.

Ladjamudin, A. B. Bin. (2004). Konsep Sistem Basis Data dan Implementasinya.


Graha Ilmu.

Ladjamudin, A. B. Bin. (2005). Analisis dan Desain Sistem Informasi. Graha Ilmu. Pahlevi, S.

M. (2013). Tujuh Langkah Praktis Pembangunan Basis Data. 2013. PT


Elex Media Komputindo.

Sukamto, R. A., & Shalahuddin, M. (2018). Rekayasa Perangkat Lunak Terstruktur Dan
Berorientasi Objek. Informatika.

Anda mungkin juga menyukai