Sistem Basis Data




 
Pengertian basis data dan sistem basis data – Basis data adalah, basis data terdiri dari 2 (dua) kata, yaitu kata Basis dan Data. Basis bisa di artikan sebagai markas ataupun gudang, tempat berkumpul. Sedangkan data yaitu kumpulan fakta dunia nyata yang mewakili suatu objek, seperti manusia, barang, dan lain-lain yang direkam ke dalam bentuk angka, bentuk huruf, simbol, teks, bunyi, gambar atau juga  kombinasinya. Jadi pengertian basis data adalah kumpulan terorganisasi dari data – data yang saling berhubungan sedemikian rupa sehingga dapat mudah disimpan, dimanipulasi, serta dipanggil oleh penggunanya. Definisi Basis data juga dapat diartikan sebagai kumpulan data yang terdiri dari satu atau lebih tabel yang terintegrasi satu sama lain, dimana setiap user diberi wewenang untuk dapat mengakses ( seperti mengubah,menghapus dll.) data dalam tabel-tabel tersebut.

PENGERTIAN BASIS DATA
Tujuan Basis data sendiri adalah sebagai berikut ini:
  • Kecepatan serta kemudahan dalam menyimpan, memanipulasi atau juga menampilkan kembali data tersebut.
  • Efisiensinya ruang penyimpanan, karena dengan basis data, redudansi data akan bisa dihindari.
  • Keakuratan (Accuracy) data.
  • Ketersediaan (Availability) data.
  • Kelengkapan (Completeness) data, Bisa melakukan perubahan struktur dalam basis data, baik dalam penambahan objek baru (tabel) atau dengan penambahan field-field baru pada table.
  • Keamanan (Security) data, dapat menentukan pemakai yang boleh menggunakan basis data beserta objek-objek yang ada didalamnya serta menentukan jenis -jenis operasi apa saja yang boleh dilakukannya.
  • Kebersamaan Pemakai (Sharability), Pemakai basis data bisa lebih dari satu orang, tetapi tetap menjaga atau menghindari masalah baru seperti: inkonsistensi data (karana data yang sama diubah oleh banyak pemakai pada saat yang bersamaan) dan juga kondisi deadlock (karena ada banyak pemakai yang saling menunggu untuk menggunakan data tersebut.
PENGERTIAN SISTEM BASIS DATA
Sedangkan pengertian sistem basis data adalah sistem yang terdiri dari koleksi data atau kumpulan data yang saling berhubungan dan program-program untuk mengakses data tersebut. Komponen Utama Sistem Basis Dat :
  • Perangkat Keras (Hardware)
  • Sistem Operasi (Operating Sistem)
  • Basis data (Database)
  • Sistem Pengelola Basis Data (Database Management Sistem atau disingkat DBMS)
  • Yaitu pengelola basis data secara fisik tidak dilakukan oleh pemakai secara langsung, akan tetapi ditangani oleh sebuah perangkat lunak yang khusus. Perangkat Lunak inilah yang disebut DBMS (Database Management Sistem) yang akan menentukan bagaimana data diorganisasi, disimpan, diubah serta diambil kembali. Perangkat Lunak ini juga yang menerapkan mekanisme pengamanan data, pemakaian data secara bersama-sama, konsistensi data dan sebagainya.
  • Pemakai (User).
  • Aplikasi atau Perangkat Lunak yang lainnya.
  • Tujuan Utama Sistem Basis Data sendiri adalah :
  • Menunjukkan suatu lingkungan yang tepat dan efisien didalam melakukan pengambilan (retrieving) dan penyimpanan (storing) informasi basis data, serta menyediakan antarmuka yang lebih ramah kepada user dalam melihat data.
Kegunaan atau Fungsi Sistem Basis Data, mengatasi masalah-masalah pemrosesan data yang sering ditemui dengan menggunakan metode konvensional, permasalah yang diatasi diantaranya:
  • Redudansi data dan juga inkonsistensi data.
  • Kesuliatan dalam pengaksesan data.
  • Data Isolation.
  • Konkurensi pengaksesan.
  • Masalah keamanan.
  • Masalah Integritas.
Pemakai sistem basis data diantaranya:
  • Programmer Aplikasi yaitu orang atau pemakai yang berinteraksi dengan basis data melalui Data Manipulation Language (DML),
  • User Mahir (Casual User) yaitu pemakai yang berinteraksi dengan sistem tanpa menulis modul program. Mereka menyatakan query untuk mengakses data dengan bahasa query yang telah disediakan oleh suatu DBMS.
  • User Umum (End User/ Naïve User) yaitu Pemakai yang berinteraksi dengan sistem basis data melalui pemanggilan satu program aplikasi permanen (executable program) yang telah disediakan sebelumnya.
  • User Khusus (Specialized User) yaitu Pemakai yang menulis aplikasi basis data non konvensional, tetapi untuk keperluan-keperluan khusus.
Komponen Sistem Basis Data

             1.      Data
·         Disimpan secara terintegrasi (integrated)
·         Dapat dipakai bersama-sama (shared)

2.      Perangkat Keras / Hardware
·         Peralatan untuk penyimpanan basis data (secondary storage)
·         Peralatan input dan output
·         Peralatan komunikasi data

3.      Perangkat Lunak / Software
·         Perangkat Lunak Sistem Operasi (Operating System/OS)
·         Perangkat Lunak Bahasa (Language Software)
·         Perangkat Lunak Aplikasi (Application Software)

4.      User / Pengguna Database
·         Database Administrator (DBA)
·         Programmer
·         End User

Beberapa Istilah yang Digunakan dalam Basis Data
·         Enterprise
·         Entitas
·         Atribute
·         Data Value
·         Record / Tuple
·         File
·          Kunci Elemen Data
·          DBMS


Referensi :
Modul perkuliahan Sistem Basis Data Pak. Budi Laksono Putro MT



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.
Integritas data menjamin kualitas data dalam database, mencakup :
  1. menjamin keutuhan data
  2. menjamin agar perubahan terhadap basis data tidak menghasilkan inkonsistensi data
  3. menjamin agar basis data tidak mengalami kerusakan secara tidak sengaja

Dalam basis data dikenal istilah aturan integritas (integrity constraint) yang mengatur definisi dan modifikasi terhadap basis data sehingga menjamin integritas basis data tersebut.
Jenis aturan integritas :
  1. Entity integrity constraints (aturan integritas entitas)
  2. Domain constraints (aturan domain)
  3. Referential integrity constraints (aturan integritas referensial)
  4. Attribut-Based Constraints (aturan berbasis atribut) dan  Tuple-Based Constraints (aturan berbasis tupel)
  5. Assertions (pernyataan)
  6. Trigger (pemicu)

Entity Integrity Constraint (aturan integritas entitas)
à   Aturan ini diterapkan dengan cara mendeklarasikan kunci primer (primary key) untuk setiap entitas agar dijamin tidak ada baris-baris dalam tabel relasi yang memiliki nilai yang sama (duplikat baris).
Domain Constraints (aturan domain)
*          Domain merupakan kumpulan tipe data dan jangkauan nilai yang diperbolehkan pada atribut suatu relasi.
*          Definisi domain dari suatu atribut mencakup : tipe data, panjang, format, jangkauan, nilai yang memungkinkan, keunikan dan kemungkinan data null.

Tujuan definisi domain :
*          Sistem dapat mengecek keakuratan data yang dimasukkan ke database
*          Menguji queri apakah perbandingan dalam kriteria yang dilakukan sudah sesuai.

Referential Integrity Constraints (aturan integritas referential)
*          Merupakan aturan yang mengatur kebenaran referensi dari satu obyek ke obyek lain dalam database.
*          Menjaga integritas nilai suatu atribut dalam sebuah table/relasi yang mengacu atau merujuk (me-“refer”) pada nilai sebuah atribut di table/relasi lain

Manipulasi data dalam database
*          Perubahan yang dilakukan terhadap database dapat menyebabkan pelanggaran terhadap aturan integritas referensial.
*          Dalam melakukan operasi INSERT, DELETE dan UPDATE harus didefinisikan aturan yang menjamin bahwa aturan integritas referensial diterapkan. Aturan tersebut adalah :

1.       Insertion Rule
*          Aturan : Jika dilakukan penyisipan baris terhadap sebuah tabel yang merujuk, maka harus terdapat nilai yang bersesuaian dalam tabel yang dirujuk.

2.       Deletion Rule
*          Aturan : Jika diberlakukan penghapusan baris terhadap sebuah tabel yang dirujuk dan memiliki nilai yang bersesuaian dengan tabel yang merujuk maka harus ada perlakuan tertentu untuk menjamin integritas tabel database tersebut.
*          Tiga perlakuan yang mungkin diterapkan:
1.       Restrict. Tidak mengijinkan penghapusan terhadap baris dalam tabel yang dirujuk
2.       Nullify. Mengeset nilai yang bersesuaian dari tabel yang merujuk menjadi Null dan kemudian menghapus baris dalam tabel yang dirujuk
3.       Cascading deletion. Baris yang bersesuaian dalam tabel yang merujuk secara otomatis akan ikut terhapus.

3.       Update Rule
       Terdapat 2 hal yang harus diperhatikan :
*          Jika nilai yang diupdate adalah kunci tamu pada tabel yang merujuk, maka perlakukan sama seperti insertion rule
*          Jika nilai yang diupdate pada table yang dirujuk memiliki nilai yang bersesuaian dengan tabel yang dirujuk maka perlakuan adalah sama seperti pada deletion rule.
Integritas Data dapat Di kelompokan menjadi 2 bagian :
1. Integritas data yang berada dalam relasi, yaitu integritas entitas dan integritas domain.
2. Integritas yang berada di luar relasi, yaitu integritas referensial
Selain itu ada juga integritas yang ditentukan sendiri di dalam suatu perusahaan, yaitu integritas perusahaan (Enterprise integrity/ user Defined Integrity).
Secara garis besar integritas data dalam model relasional meliputi :
1.                   Integritas Entitas
Integritas entitas mendifinisikan sebuah baris sebagai sebuah entitas yang unik untuk suatu tabel. Dalam integritas entitas, tidak ada baris yang di duplikat didalam suatu tabel.
2.                   Integritas Domain
Domain adalah nilai-nilai yang dimungkinkan diasosiasikan dengan setiap atribut, Integritas domain merupakan validasi masukan dari sebuah kolom. Dengan integritas domain, tidak ada data yang melanggar jangkauan nilai di tiap kolom data.
3.                   Integritas Referensial
Integritas referensial adalah dasar relasi antar tabel yaitu antara foregin key dengan promary key. Integritas referensial memastikan bahwa seluruh nilai dari foregin key cocok dengan nilai primary key yang dihubungkanya.
4.                   Integritas Enterprise
integritas enterprise mengizinkan kita untuk menentukan spesifik business rules sendiri yang tidak sama pada kategori integritas yang lainnya.
Referensi :

TRANSAKSI DAN CONCURRENCY


Transaksi pada basis data adalah satu atomic operasi berupa lojik pekerjaan maupun lojik recovery yang bisa terdiri dari beberapa intruksi. Tujuan dari transaksi adalah menjaga database dari kehilangan data dan kerusakan,seperti system crash dan pengaksesan data yang sama secara bersamaan oleh dua aplikasi yang berbeda yang menimbulkan gangguan.

Ada empat elemen dalam transaksi yang biasa disingkat ACID, yaitu :
·                     Atomicity,  semua berhasil atau semua gagal
·                     Consistency,  transaksi mempertahankan konsistensi database
·                      Isolation,  transaksi terisolasi satu dengan yang lain
·                       Durability,  setelah commit update harus survive di database

Dan ada dua jenis transaksi yang paling penting dalam sistem basis data adalah :
·                     Commit, memberi tanda bahwa transaksi telah selesai. Update dibuat permanen (bahkan jika setelah commit terjadi kegagalan system)
·                     Rollback, memberi tanda bahwa transaksi gagal. Semua update harus di-undo
Untuk lojik recovery atau system recovery database dilakukan ketika terjadi kegagalan media, kegagalan system atau kesalahan pada transaksi. Sistem recovery menggunakan fungsi rollback dan checkpoint. Checkpoint adalah interval tertentu pada perjalanan transaksi basis data yang menyimpan keadaan basis data saat itu. Checkpoint dapat dilakukan untuk merecovery database secara backward (undo) maupun forward (redo).

Sedangkan concurrency adalah sebuah mekanisme pada system basis data yang mengijinkan banyak transaksi pada saat bersamaan untuk mengakses data yang sama tanpa adanya gangguan.
 Pada umumnya terdapat 3 masalah utama pada concurrency :
·                      Lost update problem, ketika dua user mengupdate dua buah data yang sama
·                     Uncommited dependency problem, ketika user yang satu meretrieve data dan user yang lain    merollback data tersebut
·                     Inconsistent analysis problem, ketika user yang satu meretrieve data dan user yang lain mengupdate data tersebut





LOCKING
Untuk menangani masalah tersebut, dilakukan proses locking, jika sebuah transaksi ingin record/resource tidak berubah dalam waktu tertentu maka dia meminta lock.
Ada dua jenis lock yaitu :
·      Exclusive Lock (Xlock) -> write lock
·      Shared Lock (Slock) -> read lock
Hal yang harus di hindari dalam locking adalah Dead Lock. Dead Lock adalah kondisi pada saat dua atau lebih transaksi berada pada posisi wait-state. Satu sama lain menunggu lock untuk di lepaskan sebelum dapat memulai transaksi.
Cara Kerja Deadlock:
·                     Jika transaksi A memegang Xlock pada sebuah record, maka permintaan lock (X,S) pada record   yang sama harus diabaikan.
·                      Jika transaksi A memegang Slock pada record R maka :

a)     Permintaan Xlock transaksi lain pada R ditolak
b)      Permintaan Slock transaksi lain pada R diterima

Tapi, ada satu masalah yang dapat terjadi ketika melakukan proses locking ini, yaitu deadlock. Yaitu, situasi dimana dua atau lebih transaksi dalam kondisi wait-state, satu sama lain menunggu lock dilepaskan sebelum dapat memulai. Cara penanganannya adalah :.
  1. Deteksi dan Pecahkan Deadlock. Cara deteksi deadlock adalah dengan metode wait for graph. Dan cara untuk pecahkan deadlock adalah dengan cara salah satu transaksi di rollback paksa.
  2. Dengan menggunakan Ostrich Algorithm. Yaitu dengan cara di abaikan atau di biarkan saja seperti burung unta ketika ada masalah dia menyembunyikan kepalanya di dalam tanah.
Isolation Level
Ada dua level pengisolasian untuk memecahkan masalah transaksi, yaitu:
1.       Read Commited
Transaksi hanya dapat melihat perubahan data setelah transaksi lain di commit pada data tersebut
2.       Serializable

Level isolasi paling ketat. Dilaksanakan secara serial (berurutan). Di level ini sebuah query hanya akan melihat data yang sudah di commit sebelum transaksi di mulai.
Kompromi isolation Level. Adalah masalah yang ada pada isolation level, yaitu:
1  .       Dirty Read: Dapat melihat record yang sudah di rollback transaksi lain atau yang belum dicommit.
2  .       Nonrepeatable read: Transaksi 1 baca sebuah record, record tersebut diubah transaksi lain, saat        Transaksi 1 membaca lagi nilainya sudah berubah
3  .       Phantoms: retrieve menghasilkan record baru yang sebelumnya tidak ada .

           Referensi  :


    BACK END PROGRAMMING

PL/SQL (Procedural Language/Structured Query Language) merupakan bahasa pemrograman terstruktur di dalam SQL yang tersusun dalam blok-blok logical, yang dapat menjalankan perintah-perintah untuk menyelesaikan masalah (di Oracle disebut PL/SQL).
·         Function atau lebih sering disebut Stored Function merupakan salah satu modul dari PL / SQL yang dapat mempermudah melakukan pengolahan suatu nilai dan mengembalikan nilai tertentu.
·         Cursor berfungsi untuk menangkap / mengambil banyak data yang banyaknya telah ditentukan sesuai kebutuhan.
·         Trigger merupakan suatu block PL/SQL yang akan tersimpan didalam database. Trigger akan teraktivasi secara otomatis ketika terjadi suatu kejadian/event (INSERT, DELETE, UPDATE) terhadap table, view dan database. Biasanya Trigger digunakan untuk mengisi ataupun mengubah nilai kolom dalam suatu tabel sehingga validasi nilai dari tabel tersebut akan terjaga
Manfaat trigger diantaranya:
-   Mengatur integritas dari konstrain yang kompleks yang tidak mungkin ditangani oleh sintaks-sintaks pembuatan tabel
-        Mencegah transaksi yang tidak valid
-        Meningkatkan tingkat keamanan database dengan menyediakan audit yang lebih kompleks mengenai informasi perubahan database dan user siapa yang melakukan perubahan

Stored Procedure

      Subprogram adalah PL/SQL Blok yang dipanggil dengan sekumpulan parameter. PL/SQL memiliki dua jenis subprogram yaitu: procedure dan function. Dimana secara umum procedure digunakan untuk melaksanakan aksi dan function digunakan untuk komputasi suatu nilai.

Stored procedure adalah subprogram yang disimpan di dalam database berupa SQL + Bahasa prosedural. Ada beberapa kelebihan yang dapat diperoleh dengan menggunakan stored procedure, meliputi :

o   Dijalankan di database server -> performance lebih baik, network trafik lebih rendah.
o   Tools DBA -> praktis, selalu tersedia di database server.
o   Dapat digunakan oleh banyak aplikasi
o   Standarisasi business logic.
o   SP dapat dipanggil oleh aplikasi luar
o   Dapat memanfaatkan tipe, fungsi yang disediakan DBMS
o   Powerfull, tools sangat penting bagi DB designer, DB programmer dan DBA
o   Hampir semua RDBMS mensupport.
o   Walaupun syntax berbeda, umumnya menggunakan prinsip yang sama


Referensi :
Modul perkuliahan Sistem Basis Data Pak. Budi Laksono Putro MT

  
XML
XML (extensible mark up language) merupakan representasi data yang bisa didefinisikan sesuai keinginan pengguna. Karena formatnya yang standar dan fleksibel, XML sering dipergunakan pada berbagai pertukaran informasi. Dan merupakan suatu keuntungan bagi kita bila kita bisa menyimpannya pada basis data dan memprosesnya. XML tidak dikonsentrasi untuk pemrosesan dan penampilan data tetapi terutama dimaksudkan untuk memberitahu komputer apa arti sesungguhnya dari data yang disertakan.
Kita menggunakan XML dalam membangun suatu sistem dikarenakan XML tidak tergantung pada satu platform alias platform independent juga language independent . Ditujukan untuk melakukan pertukaran data (data transfering).  XML juga sangat berguna untuk membantu search engine dalammelakukan tugasnya, karena XML bisa mengetahui dan memahami dengan pasti apa yang sesungguhnya ada di suatu halaman web.
Aplikasi XML
·         Mendeskripsikan Dokumen
·         Pertukaran Data
·         Database
Perbedaan XML HTML
Perlu di ingat bahwa:

XML bukan merupakan pengganti HTML.
XML dan HTML yang dirancang dengan tujuan yang berbeda:
XML dirancang untuk transportasi dan menyimpan data, dengan fokus pada apa data.
HTML dirancang untuk menampilkan data, dengan fokus pada bagaimana data terlihat.
HTML adalah tentang menampilkan informasi, sedangkan XML adalah membawa informasi tentang.


Keuntungan XML
-  Ekstensibilitas : dapat ditukar/digabung dengan dokumen XML lain
-  Memungkinkan pemrograman yang lebih baik maka dibuat suatu software pengolah XML
- Memisahkan data dan presentasi. Yang akan direpresentasikan dalam XML dan XSLT
- Pencarian data cepat karena XML merupakan data dalam format yang terstruktur
- Plain Text dan platform independent
- Untuk pertukaran data

Dokumen XML dapat digunakan untuk berbagai macam tujuan, seperti:
Sebagai penyimpan data (database) yang mudah dibaca oleh user karena disimpan dalam bentuk teks.
Standard transfer data, dapat digunakan untuk pengiriman data transaksi antar perusahaan, atau mentransfer data dari DBMS yang berbeda (mis: Oracle ke SQL Server).
- Sebagai acuan membuat bahasa baru, seperti WML (Wireless Markup Language) yang digunakan pada mobile device dengan protokol WAP, atau VoiceXML yang digunakan sebagai bahasa markup untuk pengenalan suara, dialog, aplikasi interaksi respon suara maupun DTMF (seperti aplikasi pengisian pulsa atau call center), dan sebagainya.
- Sebagai file konfigurasi, di Java dokumen-dokumen XML sering kita jumpai seperti file server.xml dan web.xml yang digunakan Tomcat, atau perintah-perintah query yang disimpan dalam file XML yang dipakai pada framework iBatis atau Hibernate.


Keamanan Sistem Informasi – Keamanan Basis Data




Salah satu aspek yang terpenting dalam Keamanan Sistem Informasi adalah proteksi terhadap pengaksesan dan pengrusakan data oleh pemakai yang tidak punya kewenangan.

Penyalahgunaan Basis Data

·                     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.
·                     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 Basis Data

·                     Fisikal, lokasi-lokasi dimana terdapat sistem komputer haruslah aman secara fisik terhadap serangan perusak.
·                     Manusia, wewenang pemakai harus dilakukan dengan berhati-hati untuk mengurangi kemungkinan adanya manipulasi oleh pemakai yang berwenang
·                     Sistem Operasi, Kelemahan pada SO ini memungkinkan pengaksesan data oleh pihak tak berwenang, karena hampir seluruh jaringan sistem database menggunakan akses jarak jauh.
·                     Sistem Basis Data, Pengaturan hak pemakai yang baik.


 

Pengaturan Keamanan Basis Data

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.

 

 

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 :
·                     Relasi, pengguna diperbolehkan atau tidak diperbolehkan mengakses langsung suatu relasi
·             View,  pengguna diperbolehkan atau tidak diperbolehkan mengakses data yang terapat pada view
·                     Read Authorization, pengguna diperbolehkan membaca data, tetapi tidak dapat memodifikasi.
·      Insert Authorization, pengguna diperbolehkan menambah data baru, tetapi tidak dapat memodifikasi data yang sudah ada.
·     Update Authorization, pengguna diperbolehkan memodifikasi data, tetapi tidak dapat menghapus data.
·                     Delete Authorization, pengguna diperbolehkan menghapus data.

Untuk Modifikasi data terdapat otorisasi tambahan :
·                     Index Authorization, pengguna diperbolehkan membuat dan menghapus index data.
·                     Resource Authorization, pengguna diperbolehkan membuat relasi-relasi baru.
·                    Alteration Authorization, pengguna diperbolehkan menambah/menghapus atribut suatu relasi.
·                     Drop Authorization, pengguna diperbolehkan menghapus relasi yang sudah ada.



Referensi :














Post a Comment

أحدث أقدم