Senin, 23 November 2015

UAS SIMBADA

UAS SISTEM BASIS DATA

1.Sistem Basis Data

Pengertian :
Basis Data  adalah suatu kumpulan data terhubung yang disimpan secara bersama-sama pada suatu media, yang diorganisasikan berdasarkan sebuah skema atau struktur tertentu, dan dengan software untuk melakukan manipulasi untuk kegunaan tertentu
Sistem Basis Data merupakan sekumpulan basis data dengan para pemakai yang menggunakan basis data secara bersama-sama, personil yang merancang dan mengelola basis data, teknik-teknik untuk merancang dan mengelola basis data, serta sistem komputer yang mendukungnya.

Komponen sistem basis data

Komponen-komponen utama penyusun sistem basis data adalah :


  • Perangkat keras
  • Sistem operasi
  • Basis data
  • Sistem pengelola basis data (DBMS)
  • User 

Abstraksi data
·         Sistem basis data biasanya menyembunyikan detil tentang bagaimana data disimpan dan diperlihara. Oleh karena itu, seringkali data yang terlihat oleh pemakai sebenarnya berbeda dengan yang tersimpan secara fisik


·         Abstraksi data merupakan level dalam bagaimana melihat data dalam sebuah sistem basis data





Penjelasan :


  • Conceptual view merupakan pandangan yang berkaitan dengan permasalahan data-data apa saja yang diperlukan untuk disimpan dalam basis data dan penjelasan mengenai hubungan antar data yang satu dengan lainnya. Conceptual view dapat disetarakan dengan schema, dilakukan database administrator
  • Physical view merupakan bentuk implementasi dari conceptual view, yaitu pandangan tentang bagaimana data disimpan dalam media penyimpan data
  • User view dapat disejajarkan dengan sub-schema
Penyusunan Sistem Basis Data
·      
        Sistem basis data merupakan lingkup terbesar dalam organisasi data. Sistem basis data mencakup semua bentuk komponen data yang ada dalam suatu sistem. Sedangkan basis data merupakan komponen utama yang menyusun sistem basis data



Tipe Data
Tipe file yang digunakan dalam sistem basis data :
      a.      File Induk (master file)
        Ada 2 file induk :
- File induk acuan (reference master file)
·         Recordnya relatif statis, jarang berubah nilainya
·         Contoh : file daftar gaji, matakuliah
- File induk dinamik (dynamic master file)
·         Nilai dari recordnya sering berubah atau diupdate
·         sebagai hasil suatu transaksi
·         Contoh : file stok barang
       b.      File Transaksi
·         Disebut juga file input. Digunakan untuk merekam data hasil transaksi
·         Contoh file penjualan barang
       c.       File Laporan (report file)
·         Disebut juga file output. Berisi informasi sementara yang akan ditampilkan sebagai laporan
      d.      File Sejarah (history file)
·         Disebut juga file arsip (archieval file). 
·         Merupakan file yang berisi data masatapi masih disimpan sebagai arsip
      e.      File Pelindung (backup file)
·         Merupakan salinan dari file-file yang masih aktf di dalam basis data pada saat tertentu
·         Digunakan sebagai cadangan apabila mengalami kerusakan atau hilang

Bahasa Basis Data

·      Bahasa basis data merupakan perantara bagi pemakai dengan basis data dalam berinteraksi, yang telah ditetapkan oleh pembuat DBMS
·      Dapat dibedakan menjadi 2, yaitu :
-  Data Definition Language (DDL)
     Dengan bahasa ini kita dapat membuat tabel baru, membuat  indeks, mengubah tabel, menentukan struktur tabel, dll.
Hasil dari kompilasi perintah DDL menjadi Kamus Data, yaitu data yang menjelaskan data sesungguhnya
Contoh : Create, Modify report, Modify

-  Data Manipulation Language (DML)
Berguna untuk melakukan manipulasi dan pengambilan data pada suatu bsis data, yang berupa insert, update, delete, dll.
Ada 2 jenis, dan,yaitu prosedural (ditentukan data yang diinginkan
dan cara  mendapatkannya) dan non-prosedural (tanpa menyebutkan cara mendapatkannya)
Contoh : dbase 3+, foxbase, SQL, QBE

Pengguna Basis Data
Secara umum dapat dikelompokan menjadi 2, yaitu
-  Database Administator
Orang yang memiliki kewenangan untuk melakukan pengawasan baik data maupun program
Fungsi DBA adalah :
o   Mendefinisikan pola struktur basis data
o   Mendefinisikan struktur penyimpanan dan metode akses
o   Memodifikasi pola dan organisasi fisik
o   Memberikan kewenangan pada user untuk mengakses data
o    Menspesifikasikan keharusan integritas data

-  Database User
Ada 4 pemakai basis data, yaitu :
o   Programmer aplikasi
Merupakan pembuat program aplikasi
o   Casual user
Pemakai yang sudah mahir, berinteraksi dengan sistem tanpa menulis program, tapi menggunakan query
o   End user
Pemakai yang belum mahir, tinggal menjalankanaplikasi yang sudah dibuat oleh programmer aplikasi
o   Specialized user
Pemakai khusus yang menuliskan aplikasi database tidak dalam kerangka pemrosesan data, namun untuk keperluan khusus seperti CAD, AI, ES, dll


2. Integritas Data

    Akurasi dan Kebenaran data

  •       Informasi yang disimpan pada basis data hanya akan bagus jika DBMS turut membantu mencegah adanya informasi yang salah yang masuk ke basis data.
  •      Batasan Integritas Data adalah syarat yang dispesifiksikan pada basis data untuk membatasi data yang dapat disimpan di dalam basis data.
  •      Jika basis data memenuhi semua batasan integritas yang dispesifikasikan pada skema basis datanya, maka basis data tersebut sudah bisa
  •       Data akan tetap terjaga, tetap akurat, konsisten, dan handal.

Jenis Integritas Data
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
2.      Integritas Domain
3.      Integritas Referensial
4.      Integritas Enterprise

     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 table. Integritas entitas memaksa integritas dari column atau primary key dari suatu table mealui index, unique, constrains, primary key, dimana primary key tidak boleh null.

Contoh :
create table Pembelian
(ID Pembelian smallint,
ID model smallint,
DeskripsiModel varchar (40),
Primary Key (IDPembelian));

     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.
Jenis domain yang harus dimiliki oleh setiap atribut :


  •         Karakter bebas
  •         Alphanumerik
  •         Alphabet
  •         Numerik
Pemeliharaan integritas domain :
          1.      Pendifinisian skema
          2.      Pemanfaatan properti field
          3.      Penerapan proses validasi pada pemasukan data

Contoh :
Create table biografi
(idpenulis smallint unsigned not null,
tahunLahir year not null,
kotalahir varchar (40) not null default
‘Kosong’);

create domain nilai numeric(3,2)
constraint value-test check (value >=0.00)

     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.

Contoh :
create table account
(account-number char (10),
branch-name char (15),
balance integer,
primary key (account-number),
foreign key (branch-name) reference branch)

create table depositor
(costumer-name char (20),
account-number char (10),
primary key (costumer-name, account-number)
foreign key (account-number) reference account
foreign key (costumer-name) reference costumer)
on delete cascade on update cascade

      Integritas Enterprise

Integritas enterprise mengizinkan kita untuk menentukan spesifik business rules sendiri yang tidak sama pada kategori integritas yang lainnya.


3.Transaksi dan Concurency

Transaksi berarti suatu aksi atau perbuatan yang dilakukan oleh program bertujuan untuk mengakses atau mengubah data yang terdapat di database. Transaksi ini hanya mengenal dua hasil yaitu berhasil keseluruhan atau gagal keseluruhan. Tujuan dari Transaksi ini adalah untuk melindungi dari kehilangan data atau kerusakan data.

Transaksi mempunyai 4 elemen, diantaranya adalah :
Atomicity -> Ini berarti bahwa transaksi haruslah berhasil secara keseluruhan, atau gagal sama sekali.
Consistency -> Menjaga konsistensi data di database
Isolation -> Transaksi yang dilakukan secara bersamaan haruslah bisa dimulai dan bisa berakhir.
Durability -> Setelah transaksi berakhir, data yang berubah tidak boleh kembali ke data awal walaupun sistem mati.

Sebuah transaksi dapat menghasilkan dua kemungkinan:
     -  jika dilaksanakan lengkap seluruhnya, transaksi tersebut telah di commit dan basis data mencapai keadaan konsisten baru.
     -  Jika transaksi tidak sukses, maka transaksi dibatalkan dan basis data dikembalikan ke keadaan konsisten sebelumnya (rollback).

Transaksi yang sudah di commit tidak dapat dibatalkan lagi.  Jika ada kesalahan, maka harus dilakukan transaksi lain yang membalik dampak transaksi sebelumnya.
Status-status yang dapat dicapai oleh sebuah transaksi sejak mulai dilaksanakan hingga selesai atau batal adalah:

1.Aktif (Active) yang merupakan status awal (initial state) sebuah transaksi yang menunjukkan transaksi tersebut masih dieksekusi.
2.Berhasil Sebagian (Partially Committed), yaitu keadaan yang dicapai transaksi tepat pada saat operasi terakhir dalam transaksi selesai dikerjakan.
3.Gagal (Failed), yang merupakan keadaan dimana sebuah transaksi terhenti pengeksekusiannya sebelum tuntas sama sekali.
4.Batal (Aborted), yaitu keadaan dimana sebuah transaksi dianggap tidak/belum dikerjakan yang tentu dengan terlebih dahulu diawali dengan mengembalikan semua data yang telah diubah ke nilai-nilai semula. (yang menjadi tanggung jawab DBMS).
5. Berhasil Sempurna (Committed), keadaan dimana transaksi telah dinyatakan berhasil dikerjakan seluruhnya dan basis data telah merefleksikan perubahan-perubahan yang memang diinginkan transaksi.

Concurrency adalah DBMS menginzinkan banyak transaksi dalam waktu yang bersamaan untuk mengakses suatu data yang sama. Concurrency ini dibutuhkan agara data tidak saling menggangu.  3 masalah concurrency, antara lain :


  •         Lost Update
  •         Uncommitted dependency problem
  •         Incosistent analysis problem
  •         Looking Protocol
Looking adalah Jika sebuah transaksi ingin record/resource tidak berubah dalam waktu tertentu maka dia meminta lock.  Ada dua macam lock, anatra lain :



  • EXCLUSIVE LOCK (X-LOCK) -> transaksi tersebut dapat melakukan perubahan dan pembacaan terhadap data tersebut. Jika transaksi A memegang Xlock pada sebuah record, maka permintaan lock (X,S) pada record yang sama harus diabaikan. Transaksi yang ingin mengupdate harus mempunyai X-Lock.
  • SHARED LOCK (S-LOCK) -> transaksi tersebut hanya bisa melakukan pembacaan. Jika transaksi A memegang Slock pada record R maka: Permintaan Xlock transaksi lain pada R ditolak sedangkan Permintaan Slock transaksi lain pada R diterima.
X-Lock dan S-Lock dipegang sampai transaksi selesain(Commit dan Rollback).

Deadlook
     Deadlok adalah Situasi dimana dua atau lebih transaksi dalam kondisi wait-state, satu sama lain menunggu lock dilepaskan sebelum dapat memulai. Salah satu pecahkan deadlokk adalah salah satu harus dipaksa rollback.

Level Isolasi Transaksi
Isolasi Transaksi merupakan tingkatan pengaruh antar transaksi yang dipengaruhi karena kinerja RDMS. Didalam transaksi terdapat 3 hal yang harus dicegah, antara lain adalah :
Dirty Read -> Transaksi membaca data dari hasil transaksi lainnya yang gagal. Kedua transaksi tersebut berjalan bersamaan.
Nonrepeatable Read -> Transaksi membaca ulang data yang telah di baca sebelumnya karena data tersebut telah dimodifikasi oleh transaksi lainnya.
Phantom Read -> Transaksi membaca sebuah data yang telah hilang akibat dari transaksi yang lainnya.

Untuk mencegah terjadinya 3 hal yang diatas, maka pada Oracle terdapat 2 level isolasi yang dapat diimplementasika, antara lain :



  • Read Commit -> Transaksi hanya dapat melihat perubahan data setelah transaksi lain telah commit  pada data tersebut.
  • Serializable -> evel isolasi yang menyediakan isolasi transaksi yang paling ketat. Level ini mengemulasikan  eksekusi transaksi secara serial, menjadikan transaksi dieksekusi satu setelah yang lainnya,seperti secara  serial, bukan secara bersamaan (pararel).

4.Back-end Programming

Back-End programming adalah program yang berjalan pada database secara otomatis ketika terjadi suatu pemicu tertentu. Contohnya dalam sistem basis data itu seperti PL/SQL. PL/SQL itu dirancang khusus untuk pengolahan mulus dari perintah SQL. Ini memberikan sintaks khusus untuk tujuan ini dan mendukung persis datatypes sama seperti SQL. Server-side PL / SQL disimpan dan disusun dalam Oracle Database dan berjalan dalam executable Oracle. Secara otomatis mewarisi ketahanan, keamanan, dan portabilitas Oracle Database.

Kelebihan PL/SQL
Blok PL/SQL juga mempunyai kelebihan tersendiri. Beberapa kelebihannya, antara lain adalah :


  •        Integritas ketat dengan SQL
  •         Performa yang lebih baik
  •        Produktifitas yang lebih tinggi
  •        Portabilitas penuh
  •        Keamanan ketat
  •        Akses ke paket-paket yang telah di tentukan
  •       Dapat mendukung pemograman berorientasi objek dan mendukung pengembangan     halaman dan aplikasi web dan server pages (PSPs).

Struktur PL/SQL
Blok PL/SQL mempunyai struktur yang dibagi menjadi 3 bagian. Berikut ini strukturnya, antara lain :


  •        Declaration Section (DECLARE)
  •        Execution Section (BEGIN, END)
  •        Exception Section (EXCEPTION)
  •       Komponen Utama PL/SQL
        PL/SQL mempunyai komponen utama. Ada 3 komponen utama dalam blok PL/SQL, antara lain adalah :



  •        Annonymous Blok ->Anonymous block ini tidak dibuat (CREATE) dan tak disimpan pada database, biasanya dijalankan dari dalam aplikasi.
  •      Strored Subprogram -> PL/SQL Block ini yang dipanggil dengan sekumpulan parameter. PL/SQL memiliki dua jenis subprogram yaitu: procedure dan function. Secara umum  procedure  digunakan untuk melaksanakan aksi dan function digunakan untuk komputasi suatu nilai.
  •      Trigger -> blok PL/SQL yang disimpan dalam database dan akan diaktivasi ketika kita melakukan statement-statement SQL (DELETE, UPDATE, dan INSERT) pada sebuah tabel. Trigger itu mempunyai event, nah event itu telah yang menandakan bahwa trigger harus dijalankan.
CURSOR

Cursor itu sama seperti select pada SQL. Cursor mempunyai 3 macam, yaitu antara lain :
  •        Cursor yang bertipe data refcursor dan dapat digunakan untuk semua query
  •        Cursor yang memiliki query
  •        Cursor yang memilik query dan sekaligus berparameter.

5.XML (EXtensible Markup Languange)

XML (EXtensible Markup Language) adalah Markup language yang digunakan untuk dokumen yang mengandung informasi terstruktur ditujukan untuk pertukaran data via web. Salah satu alasan kita menggunakan XML adalah karena XML berdiri sendiri tidak tergantung pada platfrom karena  XML mempunyai bahasa sendiri. XML diaplikasikan sebagai pertukaraan data, mendeskripsikan data dan database.
XML itu tidak sama dengan HTML, walaupun sama-sama markup language namun XML dan HTML mempunyai kegunaan yang berbeda. HTML digunakan hanya untuk menampilkan tampilan saja yang aturannya sudah ditentukan, sedangkan XML digunakan untuk pertukaran data via web dan anturannya ditentukan sendiri.

Keuntungan dan Kerugian
XML mempunyai keuntungan dan kerugiannya. Dibawah ini adalah keuntungannya, antara lain:


  •        Self Documenting, maksudnya dengan melihat tagnya, kita dapat diketahui isi dokumen
  •        Dapat dibaca software dan manusia
  •        Fleksible
  •        Dapat dikembangkan tanpa mlanggar format lama
  •        Dapat mempresentasikan data yang komplek
  •        Indpendent terhadap bahasa pemograman dan OS
     Salah satu kerugiannya adalah terjadinya pengulangan tag yang mengakibatkan tidak efisien dan ukurannya membengkak.

Aturan
     XML tidak dikerjakan sesuka hati tanpa sebuah aturan, XML juga mempunyai aturan. Aturan-aturan XML adalah sebagai berikut :


  •        Setiap tagnya harus ada penutupnya
  •        Penamaan tagnya itu case sensitive, tidak diawali dengan angka, tidak mengenal spasi dan hindari ‘-’ dan ‘.’
  •        Urutan hirarkinya harus benar
  •        Setiap XML harus mengandung root (akar)
  •        Setiap atribut harus dalam tanda petik

KEAMANAN DATA

Dalam basis data suatu kemanan data adalah hal yang paling penting. Keamanan basi 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 :
     1.      Penentuan perangkat lunak Data Base Server yang handal.
      2.      Pemberian otoritas kepada user mana saja yang berhak mengakses, serta memanipulasi data- data yang ada.
     
Adapun tujuan dari adanya keamanan data ini, antara lain adalah Confidentiality,  Integrity dan Availability. Selain tujuannya terdapat pula ancaman keamanan terhadap basis data ini, antara lain adalah Interuption ,  Interception , Modification dan Fabrication. Terdapat 4 tingkatan terhadap keamanan data, diantaranya adalah (1). Fisikal, Manusia, (2). Sistem (3). Operasi dan (4). Sistem Database.
    
Dalam keamanan data mempunyai pengaturan yang harus dipahami. Ada 4 cara pengaturan keamanan basis data, antara lain :
     1.      Otorisasi -> Pemberian wewenang atau hak istimewa (privilege) untuk mengakses sistem atau obyek database kepada pengguna yang bertanggung jawab
     2.      Tabel view -> metode pembatasan bagi pengguna untuk mendapatkan model database yang sesuai dengan kebutuhan perorangan. Pada metode ini dapat menyembunyikan data yang tidak digunakan atau tidak perlu dilihat oleh pengguna.
     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. Sedangkan Recovery merupakan upaya untuk mengembalikan basis data ke keadaaan yang dianggap benar setelah terjadinya suatu kegagalan.
     4.      Kesatuan data dan enkripsi -> Enkripsi adalah keamanan data. Dan Integritas adalah suatu metode pemeriksaan dan validasi data, yaitu berisi aturan-aturan atau batasan-batasan untuk tujuan terlaksananya integritas data. Sedangkan Konkuren  adalah mekanisme untuk menjamin bahwa transaksi yang konkuren pada database multi user tidak saling menganggu operasinya masing-masing.














Referensi :

      ·         Perkuliahan Sistem Basis Data Budi Laksono Putro budi.staf.upi.edu
















Tidak ada komentar:

Posting Komentar