Anda di halaman 1dari 10

BAB I PENDAHULUAN

LATAR BELAKANG Informasi yang disimpan dalam basis data bisa berupa apa saja yang membuat keakuratan informasi dalam basis data itu perlu dipertanyakan. Untuk itulah integritas data dibutuhkan untuk menjaga keakuratan dan kebenaran data. Integritas data adalah sebuah batasan atau syarat yang diperuntukkan dalam basis data yang berfungsi dalam pembatasan data yang dapat disimpan dalam basis data itu. Batasan ini menjaga kerusakan terhadap database yang terjadi dengan memastikan bahwa perubahan tidak menyebabkan inkosisten data. Integritas di sini mengacu pada konsistensi, akurasi dak keakuratan data yang disipan dalam basis data.

BAB II INTEGRITAS DATA & KEAMANAN BASIS DATA


A. INTEGRITAS DATA Pengertian integritas data secara luas mengacu pada kepercayaan dari sumber daya suatu sistem. Integritas data sangat penting karena dapat memastikan keakuratan, konsistensi, aksesibilitasi, dan kualitas tinggi dari sebuah data, sehingga sangat penting untuk mengikuti aturan pengintegritasan suatu data. Data yang mempunyai integritas identik di pertahankan selama operasi apapun (seperti bisnis transfer, penyimpanan, atau pengambilan). Secara sederhana dalam istilah bisnis, integritas data adalah jaminan bahwa data konsisten, bersertifikat dan dapat dirujukan. Contoh : Dari mekanisme integritas data adalah hubungan orang tua dan anak dengan record terkait. Jika dalam catatan orangtua memiliki satu atau lebih dari catatan anak terkait semua proses integritas referensial akan ditangani oleh database itu sendiri, yang secara otomatis menjamin keakuratan dan integritas data sehingga tidak ada catatan anak bisa ada tanpa orang tua (atau disebut juga yatim piatu) dan bahwa tidak ada orangtua kehilangan catatan anak mereka. Ini juga menjamin bahwa tidak ada catatan induk dapat dihapus sementara orangtua memiliki record setiap anak. Semua ini ditangani pada tingkat database dan tidak memerlukan coding cek integritas ke dalam setiap aplikasi. Secara garis besar integritas data dalam model relasional meliputi : 1. Integritas Entitas Integritas Entitas mendefinisikan sebuah baris sebagai sebuah entitas yang unik untuk suatu tabel. Entity integritas memaksa integritas dari column atau primary key dari suatu tabel (melalui index, unique, constraints, primary key). Primary key tidak boleh null. 2. Integritas Domain Integritas Domain merupakan validasi dari masukan untuk sebuah kolom. Anda dapat memaksa domain integritas dengan membatasi tipe (melalui data types), format (melalui check constraints dan rules), atau range nilai-nilai yang mungkin (melalui Foreign Key Constraints, Check Constraints, Default Definitions dan rules). 3. Integritas Referensial Integritas Refrential memastikan bahwa seluruh nilai dari foreign key cocok dengan nilai primary key yang dihubungkan. 4. Integritas Enterprise

Integritas Enterprise atau Userdefined integritas mengizinkan Anda untuk menentukan spesific business rules sendiri yang tidak sama pada kategori integrity yang lain. Tipe Integritas Data Bagian ini menggambarkan atauran yang dapat diterapkan pada kolom tabel yang menekankan perbedaan tipe data pada integritas data. 1. Null Rule Aturan null adalah definisi aturan pada single column yang membolehkan atau tidak membolehkan inserts atau updates untuk pengisian rows kosong (the absence of a value) pada kolom ini. 2. Unique Column Values Aturan nilai unique didefinisan pada sebuah column (or set of columns) yang membolehkan insert or update hanya pada row jika itu berisi sebuah nilai unique dalam sebuah kolom (or set of columns). 3. Primary Key Values Aturan nilai primary key didefinisikan pada sebuah key (a column or set of columns) tertentu bahwa setiap each row dalam table dapat mengidentifikasi keunikan dengan nilai kunci tersebut. 4. Referential Integrity Rules Aturan referential integrity adalah definsi aturan pada sebuah kunci key (a column or set of columns) dalam sebuah table yang menjamin bahwa data dalam kunci cocok dengan nilai dalam sebuah relasi table (the referenced value). Aturan - Aturan Referential Integrity : Referential integrity mengacu pada kaitan antar row/record dari 2 tabel yang berhubungan melalui Foreign Key yang bersangkutan. Pada insert, record harus dimasukkan di tabel utama dahulu, kemudian baru di tabel kedua. Pada delete, record harus dihapus di tabel kedua dahulu, kemudian baru di tabel utama. Field yang dihubungkan dari tabel utama haruslah berupa Primary Key. Kedua field yang saling behubungkan harus memiliki Tipe data dan lebar data yang sama. Tidak dibenarkan penghapusan record pada tabel utama yang telah dihubungkan dengan tabel yang direlasikan.

Macam - macam action dalam Referential Integrity:

NO ACTION atau RESTRICT : update atau delete tidak dilakukan. Ini merupakan pilihan default. CASCADE : nilai kolom di tabel kedua disesuaikan dengan nilai kolom di tabel utama SET NULL : nilai kolom di tabel kedua dijadikan NULL
SET DEFAULT : nilai kolom di tabel kedua dijadikan nilai DEFAULT (nilai DEFAULT harus ditentukan pada waktu pembuatan tabel).

Membuat Constraint Constraint merupakan suatu aturan yang membatasi jenis data yang diijinkan untuk dimasukkan ke dalam tabel. Constraint dapat dibuat baik pada saat pembuatan tabel atau setelah tabel dibuat. Ketika constraint dibuat setelah pembuatan tabel, maka constraint tersebut hanya mengecek data yang ada (yang telah dimasukkan dalam tabel). Jika ada beberapa pelanggaran maka constraint akan ditolak. Tipe-Tipe Constraint Microsoft SQL Server menyediakan beberapa tipe Constraint, yaitu : - PRIMARY KEY Constraint, untuk menspesifikasikan kolom dalam tabel. Tidak boleh kosong, dan harus unik, untuk menghubungkan satu tabel dengan tabel lain. - FOREIGN KEY Constraint, digunakan untuk menspesifikasikan kolom foreign key pada suatu tabel. Foreign key digunakan untuk menghubungkan dua tabel. Kolom foreign key adalah kolom atau kombinasi beberapa kolom dalam suatu tabel yang selalu merujuk pada kolom primary keypada suatu tabel. - UNIQUE Constraint, digunakan untuk menjamin bahwa data pada suatu kolom atau beberapa kolom tidak diijinkan sama. - CHECK Constraint, digunakan untuk membatasi suatu nilai pada kolom dengan nilai tertentu yang diijinkan masuk. - DEFAULT Constraint, merupakan atribut opsional yang digunakan untuk memberikan suatu nilai tertentu pada suatu kolom jika kolom tersebut tidak dimasukkan suatu data. - Not Null, digunakan untuk menjamin tidak ada nilai null ( kosong) yang muncul pada suatu kolom tertentu sehingga bila tidak mengisikan nilai pada kolom tersebut maka akan muncul error. TRIGGER, PROCEDURE, FUNCTION Trigger Trigger adalah blok PL/SQL yang disimpan dalam database dan akan diaktivasi ketika kita melakukan statement-statement SQL (DELETE, UPDATE, dan INSERT) pada sebuah tabel. Aktivasi trigger didasarkan pada event yang terjadi di dalam tabel tersebut sehingga trigger dapat membantu dalam menjaga integritas dan konsistensi data. Implementasi trigger yang sering ditemui dalam dunia nyata adalah untuk mengeset dan mengubah nilai

kolom dalam suatu tabel sehingga validasi nilai dari tabel tersebut akan terjaga. Adanya trigger dalam database akan meringankan kita dalam pembuatan aplikasi karena di dalam aplikasi yang kita buat, kita tidak perlu lagi untuk melakukan validasi data. Anonymous Block Block PL/SQL tak bernama (anonymous) menyimpannya dalam Oracle Precompiler. Anonymous block tidak dibuat (CREATE) dan tak disimpan pada database, biasanya dijalankan dari dalam aplikasi, pada run-time aplikasi akan mengirimkan anonymous PL/SQL block ini kepada database oracle, dimana anonymous block tersebut di compile dan dieksekusi. SUBPROGRAM PL/SQL Block yang dipanggil dengan sekumpulan parameter. PL/SQL memiliki dua jenis subprogram yaitu: procedure dan function.

B. KEAMANAN DATA Keamanan basis data merupakan suatu proteksi terhadap pengrusakan data dan pemakaian data oleh pemakai yang tidak punya kewenangan. Untuk menjaga keamanan Basis Data, dapat dilakukan beberapa cara berikut ini : - Penentuan perangkat lunak Data Base Server yang handal. - Pemberian otoritas kepada user mana saja yang berhak mengakses, serta memanipulasi data- data yang ada. Tujuan Keamanan Basis data : - Confidentiality Seperti bagaimana memproteksi data bersifat pribadi yang sensitif seperti: nama, tempat tanggal lahir, agama, hobby, penyakit yang pernah diderita, status perkawinan; data pelanggan; dan transaksi pada ecommerce. Juga khususnya melakukan proteksi terhadap serangan sniffer. - Integrity Tindakan bagaimana agar informasi tidak berubah tanpa ijin seperti: Tampered (data baru menimpa data lama) Altered (perubahan terhadap nilai data yang eksis, yakni data ter-edit) Modified (data yang eksis dapat disisipkan, ditambah, dihapus oleh data baru) Khususnya melakukan proteksi terhadap serangan: spoof, virus, trojan horse. - Availability Artinya, informasi harus dapat tersedia ketika dibutuhkan, dengan menghindariserver dibuat hang, down, crash. Tindakan ini bertujuan untuk proteksi terhadap serangan: denial of service (DoS)attack. - Authentication (otentikasi)

Tindakan otentifikasi dilakukan untuk meyakinkan keaslian data, sumber data yang diakses, user yang mengakses data, serta server yang digunakan, dengan melakukan cara seperti: penggunaan digital signature, dan biometrics. Non-repudiation Non-repudiation maksudnya menghindari akses-user agar tidak dapat menyangkal bahwa telah melakukan transaksi; dengan cara setiap akhir transaksi pada form dilengkapi dengan penggunaan digital signature. Hal ini dilakukan untuk proteksi terhadap serangan: deception. Access control Dengan adanya access control, maka ada sebuah mekanisme yang digunakan untuk mengatur user dan akses yang dilakukan oleh user (siapa boleh melakukan apa). Beberapa caranya seperti: Dengan menggunakan password. Membuat kelas / klasifikasi privillege- user. Ini bertujuan untuk melakukan proteksi terhadap serangan: intruder.

Ancaman keamanan terhadap Basis data - Interruption, yaitu penghentian sebuah proses yang sedang berjalan. - Interception, yaitu menyela sebuah proses yang sedang berjalan. - Modification, yaitu mengubah data tanpa ijin dari pihak otoritas. - Fabrication, yaitu serangan yang bersifat destruktif berupa perusakan secara mendasar pada sistem utama. Penyalahgunaan Database : 1. Tidak disengaja, jenisnya : - Kerusakan selama proses transaksi - Anomali yang disebabkan oleh akses database yang konkuren - Anomali yang disebabkan oleh pendistribuasian data pada beberapa komputer - Logika error yang mengancam kemampuan transaksi untuk mempertahankan konsistensi database 2. Disengaja, jenisnya : - Pengambilan data / pembacaan data oleh pihak yang tidak berwenang - Pengubahan data oleh pihak yang tidak berwenang - Penghapusan data oleh pihak yang tidak berwenang Tingkatan Pada Keamanan Database : 1. Fisikal Lokasi-lokasi dimana terdapat sistem komputer haruslah aman secara fisik terhadap serangan perusak. 2. Manusia Wewenang pemakai harus dilakukan dengan berhati-hati untuk mengurangi kemungkinan adanya manipulasi oleh pemakai yang berwenang.

3.

4.

Sistem Operasi Kelemahan pada SO ini memungkinkan pengaksesan data oleh pihak tak berwenang, karena hampir seluruh jaringan sistem database menggunakan akses jarak jauh. Sistem Database Pengaturan hak pemakai yang baik.

Pengaturan Keamanan Basis Data : 1. Otorisasi Pemberian Wewenang atau hak istimewa (priviledge) untuk mengakses sistem atau obyek database Kendali otorisasi (=kontrol akses) dapat dibangun pada perangkat lunak dengan 2 fungsi : Mengendalikan sistem atau obyek yang dapat diakses Mengendalikan bagaimana pengguna menggunakannya Sistem administrasi yang bertanggungjawab untuk memberikan hak akses dengan membuat account pengguna. 2. Tabel View Merupakan metode pembatasan bagi pengguna untuk mendapatkan model database yang sesuai dengan kebutuhan perorangan. Metode ini dapat menyembunyikan data yang tidak digunakan atau tidak perlu dilihat oleh pengguna. Contoh pada Database relasional, untuk pengamanan dilakukan beberapa level : 1. Relasi pengguna diperbolehkan atau tidak diperbolehkan mengakses langsung suatu relasi. 2. View pengguna diperbolehkan atau tidak diperbolehkan mengakses data yang terapat pada view. 3. Read Authorization pengguna diperbolehkan membaca data, tetapi tidak dapat memodifikasi. 4. Insert Authorization pengguna diperbolehkan menambah data baru, tetapi tidak dapat memodifikasi data yang sudah ada. 5. Update Authorization pengguna diperbolehkan memodifikasi data, tetapi tidak dapat menghapus data. 6. Delete Authorization pengguna diperbolehkan menghapus data. Untuk Modifikasi data terdapat otorisasi tambahan : 1. Index Authorization pengguna diperbolehkan membuat dan menghapus index data. 2. Resource Authorization pengguna diperbolehkan membuat relasi-relasi baru. 3. Alteration Authorization pengguna diperbolehkan menambah/ menghapus atribut suatu relasi. 4. Drop Authorization pengguna diperbolehkan menghapus relasi yang sudah ada. 7

Contoh perintah menggunakan SQL : GRANT : memberikan wewenang kepada pemakai Syntax : GRANT <priviledge list> ON <nama relasi/view> TO <pemakai> Contoh : GRANT SELECT ON S TO BUDI GRANT SELECT,UPDATE (STATUS,KOTA) ON S TO ALI,BUDI REVOKE : mencabut wewenang yang dimiliki oleh pemakai Syntax : REVOKE <priviledge list> ON <nama relasi/view> FROM <pemakai> Contoh : REVOKE SELECT ON S FROM BUDI REVOKE SELECT,UPDATE (STATUS,KOTA) ON S FROM ALI,BUDI Priviledge list : READ, INSERT, DROP, DELETE, INDEX, ALTERATION, RESOURCE

3. Backup data dan recovery Backup adalah proses secara periodik untuk membuat duplikat dari database dan melakukan logging file (atau program) ke media penyimpanan eksternal. Recovery merupakan upaya untuk mengembalikan basis data ke keadaaan yang dianggap benar setelah terjadinya suatu kegagalan. Terdapat 3 jenis pemulihan, antara lain : - Pemulihan terhadap kegagalan transaksi Kesatuan prosedur alam program yang dapat mengubah/ memperbarui data pada sejumlah tabel. - Pemulihan terhadap kegagalan media Pemulihan karena kegagalan media dengan cara mengambil atau memuat kembali salinan basis data (backup) - Pemulihan terhadap kegagalan sistem Karena gangguan sistem, hang, listrik terputus alirannya. Fasilitas pemulihan pada DBMS : 1. Mekanisme backup secara periodik. 2. Fasilitas logging dengan membuat track pada tempatnya saat transaksi berlangsung dan pada saat database berubah. 3. Fasilitas checkpoint, melakukan update database yang terbaru. 4. Manager pemulihan, memperbolehkan sistem untuk menyimpan ulang database menjadi lebih konsisten setelah terjadinya kesalahan.

Teknik Pemulihan : - Defered upate / perubahan yang ditunda Perubahan pada DB tidak akan berlangsung sampai transaksi ada pada poin disetujui (COMMIT). Jika terjadi kegagalan maka tidak akan terjadi perubahan, tetapi diperlukan operasi redo untuk mencegah akibat dari kegagalan tersebut. - Immediate Update / perubahan langsung Perubahan pada DB akan segera tanpa harus menunggu sebuah transaksi tersebut disetujui. Jika terjadi kegagalan diperlukan operasi UNDO untuk melihat apakah ada transaksi yang telah disetujui sebelum terjadi kegagalan. - Shadow Paging Menggunakan page bayangan imana pada prosesnya terdiri dari 2 tabel yang sama, yang satu menjadi tabel transaksi dan yang lain digunakan sebagai cadangan. Ketika transaksi mulai berlangsung kedua tabel ini sama dan selama berlangsung tabel transaksi yang menyimpan semua perubahan ke database, tabel bayangan akan digunakan jika terjadi kesalahan. Keuntungannya adalah tidak membutuhkan REDO atau UNDO, kelemahannya membuat terjadinya fragmentasi. 4. Kesatuan data dan Enkripsi - Enkripsi : keamanan data - Integritas : metode pemeriksaan dan validasi data (metode integrity constrain), yaitu berisi aturan-aturan atau batasan-batasan untuk tujuan terlaksananya integritas data. - Konkuren : mekanisme untuk menjamin bahwa transaksi yang konkuren pada database multi user tidak saling menganggu operasinya masing-masing. Adanya penjadwalan proses yang akurat (time stamping).

BAB III PENUTUP


KESIMPULAN Integritas data secara luas mengacu pada kepercayaan dari sumber daya suatu sistem. Integritas data sangat penting karena dapat memastikan keakuratan, konsistensi, aksesibilitasi, dan kualitas tinggi dari sebuah data, sehingga sangat penting untuk mengikuti aturan pengintegritasan suatu data. Integritas data dalam model relasional meliputi : Entity Integritas Domain Integritas Refrential Integritas User Defined Integritas

1. 2. 3. 4.

Keamanan basis data merupakan suatu proteksi terhadap pengrusakan data dan pemakaian data oleh pemakai yang tidak punya kewenangan.

10

Anda mungkin juga menyukai