1.
Perbedaan Basis Data dan Sistem Basis Data
v Pengertian 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.
v
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.
v
Pengertian System 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.
v Komponen Utama Sistem Basis Data :
·
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.
Referensi materi :
http://www.pengertianku.net/2014/06/pengertian-basis-data-dan-sistem-basis.html
2. Integritas
Data
Integritas basis data atau
database integrity adalah suatu masalah utama di dalam database yang berusaha
agar menjaga data tetap konsisten atau valid, karena suatu data seharusnya
mengikuti sejumlah karakteristik dasar sesuai ketentuan yang telah ditentukan.
Penerapan aturan-aturan ini akan dapat menghindarkan basis data dari
upaya-upaya atau kesalahan yang biasanya tidak disengaja, khususnya dalam
melakukan pemanipulasian data, yang dapat membuat basis data menjadi tidak
konsisten atau integritasnya terganggu.
Jenis-jenis integritas data:
1. CREATE DOMAIN à tipe baru
•
Contoh:
CREATE
DOMAIN T_GAJI AS INTEGER CHECK
(
VALUE > 0 AND VALUE < 50000000);
CREATE
DOMAIN KODE_POS AS TEXT CHECK
(
VALUE ~ '^\\d{5}$');
2. NOT NULL à contoh: NAMA tidak boleh NULL
create table dosen
( nip char(9) not null,
kode_dosen char(5) not null,
nama varchar(20) not null,
jum_anak smallint,
nama_pasangan varchar(20),
tgl_masuk date,
tgl_pensiun date,
3. UNIQUE à contoh: KODE_DOSEN
4. PRIMARY KEY à contoh: NIP, NIM
constraint pk1 primary key (nip),
constraint un1 unique (kode_dosen),
constraint c1 check (jum_anak between 0 and 15),
constraint c2 check (tgl_masuk < tgl_pensiun)
)
5. CHECK à contoh: 0 <jumlah anak < 4
constraint pk1 primary key (nip),
constraint un1 unique (kode_dosen),
constraint c1 check (jum_anak between 0 and 15),
constraint c2 check (tgl_masuk < tgl_pensiun)
)
6. REFERENTIAL INTEGRITY à integritas pada relasi antar tabel
Contoh :
CONSTRAINT fk_mhs_dosenwali
FOREIGN KEY (NIPWALI)
REFERENCES DOSEN (NIP)
Contoh Referential Integrity (DDL):
Cascade
create table NILAI
( nim char(6) not null,
kode_mk char(5) not null,
constraint fk1 foreign key (nim)
references
mahasiswa(nim)
on
delete cascade,on update cascade
constraint fk2 foreign key (kode_mk) references matakuliah(kode_mk)
on
delete set null
)
Referential Integrity: Rule
•
Selain
cascade, beberapa aturan lain:
–
Restric
à halangi terjadinya perubahan
–
Set
to NULL à jika terjadi perubahan/penghapusan
field yang merefer diset NULL
–
Set
to Default à diisi nilai default
–
No
Action
Referensi : PPT Perkuliahan Sistem Basis Data
Diktat Sistem Basis Data Yudi Wibisono
3. Transaksi
dan Qonruency
a.
Pengelolaan Transaksi
Tujuan dari Transaksi
adalah Melindungi database
dari kehilangan data dan kerusakan.
Contoh masalah :
–
Sistem
crash di tengah eksekusi program yang membuat database dalam state yang tidak
diketahui
–
Dua
program yang mengakses data yang sama dijalankan bersamaan sehingga saling
menggangu.
Dua Operasi Penting pada Transaksi :
·
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.
4 Elemen yang ada pada Transaksi :
1.
Atomicity:
semua berhasil atau semua gagal
2.
Consistency:
transaksi mempertahankan konsistensi database
3.
Isolation:
transaksi terisolasi satu dengan yang lain
4.
Durability:
setelah commit update harus survive di database
b.
Concurency
Cocurrency adalah ketika
DBMS mengijinkan banyak transaksi pada saat bersamaan untuk mengakses data yang
sama. Dibutuhkan Concurrency Control Mechanism (CCM) agar transaksi tidak
saling “mengganggu”.
Terdapat 3 masalah dalam
concurrency, yaitu:
1.
Lost update problem
2.
Uncommited Depedency Problem
3.
Incosistent Analysis Problem
Cara penyelesaian masalah
cocurrency adalah dengan cara :
1.
Harus adanya aturan (Harus adanya role
accesbility, tidak di perbolehkan adanya Role super admin)
2.
Commit harus bisa masuk level fisik. Ketika data
tidak commit maka bisa mempengaruhi sistem.
Locking
Locking terjadi jika suatu
transaksi ingin record atau resource tidak berubah dalam waktu tertentu.
Jenis Locking terdiri dari
2, yaitu:
1.
Exclusive Lock yaitu locking yang hanya bisa di
gunakan untuk mengupdate dan membaca transaksi
2.
Shared Lock yaitu locking yang hanya bisa di
gunakan untuk membaca transaksi.
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.
Jalan keluar untuk
Deadlock adalah dengan cara:
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
2 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 : Perkuliahan Sistem Basis Data
Diktat Sistem Basis Data Yudi Wibisono
4.
Back end Programing
Stored Procedure
Procedure atau Function di dalam database,
stored procedure à SQL + Bahasa Prosedural dan banyak disupport oleh
RDBMS (ORA, SQL Server, MySQL versi 5 ke atas)
Kelebihan menggunakan stored procedure :
dijalankan di database server sehingga performance lebih baik, network trafik
lebih rendah, tools DBA sehingga praktis, selalu tersedia di database server,
dapat digunakan oleh banyak aplikasi , dapat memanfaatkan tipe, fungsi yang
disediakan DBMS
Stored
Procedure di oracle
PL/SQL à procedural language /
SQL , mirip Pascal, case insensitive, strong typed, semua variabel harus
dideklarasikan dan komentar
Syntax stored procedure
Struktur Program, variabel , IF-Then
,loop, parameter procedure, mengambil nilai select dancursor.
Trigger
Bentuk khusus dari stored procedure. Stored procedure
yang dipanggil secara khusus pada event tertentu: before/after INSERT,
before/after DELETE. Before/after UPDATE.
Manfaat trigger
Membuat integrity constraint yang
kompleks, mencatat aktivitas suatu table (logging) dan sinkronisasi.
Referensi : Perkuliahan Sistem Basis Data
Diktat Sistem Basis Data Yudi Wibisono
5.
XML
XML (Extensible Markup
Language) adalah bahasa markup untuk keperluan umum yang disarankan oleh W3C
untuk membuat dokumen markup keperluan pertukaran data antar sistem yang
beraneka ragam. XML merupakan kelanjutan dari HTML (HyperText Markup Language)
yang merupakan bahasa standar untuk melacak Internet.
XML didesain untuk mempu
menyimpan data secara ringkas dan mudah diatur. Kata kunci utama XML adalah
data (jamak dari datum) yang jika diolah bisa memberikan informasi.
XML menyediakan suatu cara
terstandarisasi namun bisa dimodifikasi untuk menggambarkan isi dari
dokumen.[4] Dengan sendirinya, XML dapat digunakan untuk menggambarkan
sembarang view database, tetapi dengan suatu cara yang standar.
Tipe-tipe XML
·
XML, merupakan standar format dari struktur
berkas (file).
·
XSL, merupakan standar untuk memodifikasi data
yang diimpor atau diekspor.
·
XSD, merupakan standar yang mendefinisikan
struktur database dalam XML.
Keunggulan XML
·
Pintar (Intelligence). XML dapat menangani berbagai
tingkat (level) kompleksitas.
·
Dapat beradaptasi. Dapat mengadaptasi untuk
membuat bahasa sendiri. Seperti Microsoft membuaat bahasa MSXML atau Macromedia
mengembangkan MXML.
·
Mudah pemeliharaannya.
·
Sederhana. XML lebih sederhana.
·
Mudah dipindah-pindahkan (Portability). XML
mempunyai kemudahan perpindahan (portabilitas) yang lebih bagus.
Seperti halnya HTML, XML
juga menggunakan elemen yang ditandai dengan tag pembuka (diawali dengan ‘<’
dan diakhiri dengan ‘>’), tag penutup(diawali dengan ‘</ ‘diakhiri
‘>’) dan atribut elemen(parameter yang dinyatakan dalam tag pembuka misal
<form name=”isidata”>). Hanya bedanya, HTML medefinisikan dari awal tag
dan atribut yang dipakai didalamnya, sedangkan pada XML kita bisa menggunakan
tag dan atribut sesuai kehendak kita. Untuk lebih jelasnya lihat contah
dibawah:
<pesan>
<dari>MIS
Manager</dari>
<buat>HRD
Manager</buat>
<buat>Bagian
rekrut</buat>
<buat>Computer
Suport team</buat>
<subyek>Permohonan
Tenaga kerja baru</subyek>
<isi>Mohon
diberikan tenaga kerja baru untuk mengisi lowongan di
Departemen
MIS</isi>
</pesan>
Kenapa memakai XML
XML untuk saat ini bukan merupakan pengganti HTML. Masing-masing
dikembangkan untuk tujuan yang berbeda. Kalau HTML digunakan untuk menampilkan
informasi dan berfokus pada bagaimana
informasi terlihat, XML mendeskripsikan susunan informasi dan berfokus
pada informasi itu sendiri. XML terutama dibutuhkan untuk menyusun dan
menyajikan informasi dengan format yang tidak
mengandung format standard layaknya heading, paragraph, table dan lain
sebagainya. Sebagai contoh apa bila kita ingin menyimpan dan menyajikan
informasi notasi musik pada lagu “Indonesia raya”, kita bisa menyimpannya
dengan xml seperti contoh dibawah ini.
<lagu judul=”Indonesia raya” nadadasar=”G” Birama=”4/4”>
<bar nomor=”1”>
<nada not=”B” ketukan=”1/2”/>
<nada not=”C” ketukan=”1/2”/>
<nada not=”D” ketukan=”1”/>
<nada not=”B” ketukan=”2”/>
…
</bar>
<bar nomor=”2”>
…
</bar>
</lagu>
Kemudian dengan bantuan software lain misalnya MIDI generator kita
bisa mendengarkan musiknya atau kita juga bisa membuat software sendiri yang
menampilkan informasi ini dalam bentuk not balok.
Sama dengan HTML, File XML berbentuk teks sehingga bila diperlukan
kita bisa membacanya tanpa memerlukan bantuan software khusus. Hal ini
memudahkan pengembang aplikasi yang menggunakan XML untuk mendebug programnya.
XML lebih fleksible dibanding HTML dalam hal kemampuannya menyimpan informasi
dan data. Pada XML kita bisa menyimpan data baik dalam atribut maupun sebagai
isi elemen yang diletakkan diantara tag pembuka dan tag penutup.
Kelebihan lain yang dimiliki XML adalah bahwa informasi bisa di
pertukarkan dari satu system ke system lain yang berbeda platform. Misalnya
dari Windows ke Unix, atau dari PC ke Machintosh
bahkan dari internet ke handphone dengan teknologi WAP.
Referensi : http://adibowo.com/apa-itu-xml/
Perkuliahan Sistem Basis Data
Diktat Sistem Basis Data Yudi Wibisono
0 komentar:
Posting Komentar