Sistem Basis Data

advertisement
2015
Sistem Basis Data
Ika Menarianti. M.Kom
Mata kuliah ini membahas tentang konsep basis data, menganalisis
dan menggambar model data, melakukan normalisasi data,
melakukan uji Lossless Join Decompotition, memahami cara kerja
konsep database relasional, mentransformasikannya ke dalam SQL
dan mengimplementasikannya ke dalam bahasa pemrograman
tingkat tiga.
Pendidikan Teknologi Informasi
FPMIPATI
Universitas PGRI Semarang
-
BAB I
SISTEM BASIS DATA
1.1 Pengertian Sistem Basis Data
1.1.1
Pengertian Sistem
Sistem adalah jaringan kerja dari prosedur-prosedur / komponen
komponen yang saling berhubungan, berkumpul bersama-sama untuk melakukan
suatu kegiatan guna menyelesaikan atau mencapai tujuan tertentu.
Prosedur adalah urut-urutan proses atau operasi tulis menulis dan
biasanya melibatkan beberapa orang di dalam satu atau lebih departemen yang
diterapkan untuk menjamin penanganan yang seragam dari transaksi yang
terjadi. Urut-urutan proses yang tepat harus dapat menerangkan :
a. apa yang harus dikerjakan
b. siapa yang mengerjakan
c. kapan dilaksanakan dan diselesaikan
d. bagaimana cara melaksanakan dan menyelesaikan
Suatu sistem yang baik harus mempunyai tujuan dan sasaran yang tepat
karena hal ini akan sangat menentukan dalam mendefinisikan masukan yang di
butuhkan sistem dan juga keluaran yang dihasilkan. Tujuan Sistem merupakan
tujuan dari sistem tersebut dibuat yaitu dapat berupa tujuan organisasi,
kebutuhan organisasi, permasalahan yang ada dalam suatu organisasi maupun
urutan prosedur untuk mencapai tujuan organisasi.
Sistem memiliki batasan-batasan yang berupa peraturan-peraturan yang
ada dalam suatu organisasi (misalnya), biaya-biaya yang dikeluarkan, orangorang yang ada dalam organisasi, bahkan fasilitas sarana dan prasarana.
1.1.2
Pengertian Basis Data
Data menggambarkan suatu kejadian yang sedang terjadi, dimana data
akan diolah dan diterapkan dalam sistem menjadi input yang berguna dalam
suatu sistem. Secara rinci definisi dari data adalah sebagai berikut:
a. Data adalah penggambaran dari suatu kejadian yang kita hadapi.
b. Data bisnis adalah penggambaran dari suatu organisasi tentang sesuatu
(resources) dan kejadian (transactions) yang terjadi.
c. Data adalah kenyataan yang menggambarkan suatu kejadian-kejadian dan
kesatuan nyata. Kejadian (event) adalah sesuatu yang terjadi pada saat
tertentu. Misalnya: penjualan adalah transaksi perubahan nilai barang
menjadi nilai uant atau piutang dagang. Kesatuan nyata (fact and entity)
adalah berupa suatu obyek nyata seperti tempat, benda, dan orang yang
betul-betul ada dan terjadi.
d. Data yang diolah menjadi bentuk yang lebih berguna dan lebih berarti bagi
penerimanya.
Pengolahan data adalah waktu yang digunakan untuk menggambarkan
perubahan bentuk data menjadi informasi yang memiliki kegunaan.
Basis adalah wadah, tempat,
pangkalan atau dalam hali ini diartikan
storage( tempat penyimpanan).
Sekumpulan data baik berupa file maupun berkas, yang memiliki
hubungan relasi internal dengan entri – entrinya disebut Basis Data. Secara rinci
definisi basis data sebagai berikut:
a. Kumpulan
tabel yang saling berhubungan yang disimpan dalam media
penyimpanan elektronik
b. Kumpulan data yang terorganisir dari berbagai sumber yang secara logika
mempunyai arti implicit
c. Penyajian suatu aspek dari dunia nyata
d. Basis data perlu dirancang dan dibangun agar dapat digunakan untuk
berbagai kepentingan.
1.1.3
Pengertian Sistem Basis Data
Sistem basis data adalah suatu jaringan kerja untuk menyusun
dan
mengelola record-record data menggunakan komputer, untuk menyimpan atau
merekam serta memelihara data operasional lengkap sehingga mampu
menyediakan informasi yang optimal yang di perlukan user untuk proses
pengambilan keputusan.
Sistem basis data merupakan kumpulan tabel yag saling berhubungan
dalam sebuah basis data disebuah system komputer dan sekumpulan program
yang memungkinkan beberapa pemakai dan atau program lain untuk mengakses
dan memanipulasi tabel-tabel tersebut.
Sistem basis data adalah gabungan antara basis data dan perangkat
lunak sistem manajemen basis data termasuk didalmnya program aplikasi yang
dibuat dan bekerja sama dalam suatu sistem.
1.2 Komponen Basis Data
Ditinjau dari komponen-komponennya, Sistem Basis Data senantiasa
terdiri dari:
a) Perangkat Keras ( Hardware )
b) Perangkat Lunak ( Software )
c) Perangkat Manusia / Pemakai (Brainware)
d) Data Base
1.2.1
Perangkat Keras ( Hardware)
Perangkat keras adalah piranti yang terkait dengan basis data pada
umumnya mencakup komputer baik stand alone maupun mullti user, media
penyimpanan, serta piranti komunikasi data. Perangkat keras mencakup tiga
piranti utama, yaitu :
 Piranti Masukan, seperti : keyboard, mouse, Flashdisk, Harddisk
 Piranti pemrosesan, mencakup : ALU, I/O controller, Memory
dan Control Unit.
 Piranti keluaran, seperti :monitor, printer, CD/FD.
Lalu dimana basis data ditempatkan? Mengingat fungsinya sebagai pusat
pengendali dan pelayanan dalam jaringan, maka basis data hampir selalu di
tempatkan di server.
1.2.2
Perangkat Lunak ( Software)
Ada 3 jenis perangkat lunak dalam pengelolaan basis data:
1. Operating System ( Sistem Operasi )
Keberadaan Sistem Operasi
pada sebuah perangkat komputer dan
jaringan komputer adalah keharusan, karena Sistem Operasi memiliki layanan
low level (bahasa mesin ) untuk perangkat lunak apapun. Yang berfungsi untuk
memfungsikan sistem komputer, menegendalikan seluruh sumber daya komputer
dan melakukan operasi-operasi dasar dalam komputer yaitu operasi Input Output,
pengelolaan file, pengaturan interupsi dan sebagainya. Secara umum Sistem
operasi dibedakan menjadi :
 Untuk Stand alone ; Ms. Dos, Windows 3.1, windows 95 -2000
 Untuk jaringan : Novel Netware, Windows NT, windows 200, server linux, unix
2. Data Base Management System ( Sistem pengelola Basis data )
Sistem manajemen basis data adalah sistem perangkat lunak yang secara
umum dapat digunakan untuk melakukan pemrosesan dalam hel pendefinisian,
penyusunan dan manipulasi basis data untuk berbagai aplikasi.
Software utama dalam pengelolaan dan pengolahan data, dimana data di
kelola dan di organisir secara fisik. Contoh DBMS : Oracle, SQL Server, MySQL,
Sybase, Interbase, dll
3. Aplikasi Program Basis Data
Merupakan kelompok perangkat lunak yang berinteraksi langsung dengan
end-user. Melalui aplikasi ini, end-user akan dengan mudah (user-friendly) dan
terarah melakukan berbagai proses pengelolaan dan pengolahan terhadap basis
data.
Bahkan dapat melakukan pembatasan terhadap aktivitas user yang
menentukan apa yang boleh atau yang tidak boleh dilakukan.
Dalam apliksai basis data ini, end user biasanya hanya mendapatkan
sebagian data atau informasi yang tersimpan dalam basis data-nya, dikarenakan
kebutuhan setiap end user berbeda satu sama lain.
1.2.3
Perangkat Manusia ( Brainware )
Beberapa jenis pemakai berdasarkan cara pekerjaannya dan cara mereka
ber-interaksi dengan Sistem Basis Data :
1. Database Administrator
Merupakan
manajemen
pemakai
database
yang
yang
berinteraksi
tugasnya
langsung
dengan
meng-konfigurasi
sistem
sistem
basis
data secara keseluruhan, seperti :
a. memantau kinerja sistem
b. mendefinisikan pemakai dan otoritasnya
c. menentukan isi dan sekuritas basis data & mengalokasikan besarnya ruang
penyimpanannya
d. merencanakan back-up dan recovery
e. melakukan pengaturan peningkatan performansi
2. Pengembang Aplikasi ( Programmer )
Merupakan kelompok pemakai yang tugas utamanya adalah
a. Membuat program aplikasi yang di tujukan ke end user untuk mengakses
data base
b. Memasukkan perintah-perintah Data Manipulation Language (DML) untuk
menampilkan data base
3. Pemakai Mahir ( Casual User )
Merupakan kelompok pemakai yang berinteraksi dengan basis data
langsung dengan menggunakan aplikasi antar muka (interface). Pemanfaat yang
dilakukan dengan menuliskan perintah query (Commond Line) yang telah
ditentukan sistem manajemen basis data hingga reparasi terhadap database
yang mengalami kerusakan.
4. Pemakai Akhir ( End User )
Pemakai yang berperan dalam pemasukan data (Data Entry) dalam
rangka membentuk basis data yang lengkap dengan menggunakan aplikasi
pengguna basis data yang telah di buat oleh developer. Setelah pemasukan data
telah lengkap, pemakai ini dapat diberi tanggung jawab untuk melakukan
pekerjaan pengecekan (verifikasi), perubahan hingga pencetakan data/informasi
(pelaporan).
1.2.4
Data Base
Ada banyak pilihan dalam mengorganisasi, ada banyak pertimbangan
dalam membentuk relasi antar data, tetapi pada akhirnya yang terpenting adalah
objektif utama yang selalu harus kita ingat : kecepatan dan kemudahan
berinteraksi dengan data yang dikelola/diolah.Basis Data terdiri atas 3 hal yaitu:
1. Kumpulan data yang terorganisir
2. Relasi antar data
3. Kemudahan berinteraksi dengan dengan data yang di kelola/ di olah
Sistem Basis Data baru akan hidup, berjalan benar dan mencapai
tujuannya jika pemakai beraktifitas sesuai dengan prosedur/Aturan yang telah
ditetapkan. Pemakai tidak perlu tahu bagaimana sebetulnya data perkiraan dan
jurnal di simpan secara fisik atau bagaimana proses posting secara detail dan
akurat melakukan perhitungan dan pengolahan data.
Gambar 1.1 Hirarki Perangkat Lunak terhadap Data base
1.3 Abstraksi Data
Tujuan dari DBMS: untuk menyediakan antar muka (interface) dalam
melihat data yang lebih ramah kepada pemakai, sehingga data yang terlihat oleh
pemakai akhir sebenarnya berbeda dengan yang tersimpan secara fisik.
Gambar 1.2 Level Abstraksi DatA
Tingkat / level Abstraksi Data :
1. Tingkat Penampakan ( View Level )
Merupakan level tertinggi dari abstraksi data yang hanya menunjukkan
sebagian dari basis data. Data yang dikenal pemakai bisa berbeda-beda. Banyak
pemakai dalam system basis data tidak akan terlibat (concern) dengan semua
data/informasi yang tersimpan.
2. Tingkat Konseptual ( Conceptual Level)
Menggambarkan data apa yang sebenarnya (secara fungsional) disimpan
dalam basis data dan hubungannya dengan data lain. Pemakai yang berperan
pada level ini bertanggung jawab pada aturan konversi dari data dlam format
kode menjadi deskripsi ketika ditampilkan dan sebaliknya dari data deskripsi
menjadi kode ketika disimpan.
3. Tingkat Fisik ( Physical Level )
Level yang menunjukkan bagaimana sesungguhnya suatu data di simpan.
Secara fisik, Basis data dapat disimpan dalam organisasi Rasional, Hirarkis, dan
Tabel
sebagai
komponen
utama
dari
basis
data
yang
direpresentasikan sebagai gabungan struktur dan datanya sendiri.
kemudian
1.4 Database Language
Data Base Management System (DBMS) merupakan perantara bagi
pemakai dengan basis data dalam disk. Cara berinteraksi antara pemakai
dengan basis data diatur dalam bahasa khusus yang ditetapkan oleh pihak
pembuat DBMS yang disebut bahasa basis data yang terdiri atas sejumlag
perintah (command) yang dapat dituliskan/diberikan untuk kemudian diproses.
1.4.1
Data Definition Language ( DDL )
Struktur basis data yang menggambarkan desain basis data secara
keseluruhan, dimana kita dapat membuat tabel baru, membuat indeks,
mengubah tabel, menentukan
struktur penyimpanan tabel. Hasil dari kompilasi
tabel yang disimpan dalam file khusus yang di sebut Kamus Data (Data
Dictionary). Kamus Data merupakan suatu metadata yang mendiskripsikan data
yang sesungguhnya.
Bahasa query yang digunakan adalah create (membuat baik database
maupun tabel), alter ( perubahan data baik penambahan kolom, mengganti nama
field, memodifikasi kolom, dll ) dan drop ( menghapus database atau tabel)
1.4.2
Data Manipulation Language ( DML )
Berisi kumpulan perintah yang berguna untuk melakukan manipulasi dan
pengambilan data pada suatu basis data. Manipulasi data berupa:
1. Penyisipan/Penamabahan Data baru ke suatu basis data
2. Penghapusan data dari basis data
3. Pengubahan dari basis data
DML merupakan bahasa yang bertujuan memudahkan pemakai untuk
mengakses data (untuk kemudian menampilkannya atau memanipulasinya)
sebagaimana direpresentasikan oleh model data. Ada 2 jenis procedural yaitu:
1. Prosedural yang mensyaratkan agar pemakai menentukan data apa yang
diinginkan serta bagaimana cara mendapatkannya.
2. Nonprosedural yang membuat pemakai dapat menentukan data apa yang
diinginkan tanpa menyebutkan bagaimana cara mendapatkannya.
1.4.3
Data Control Language ( DCL )
Merupakan struktur basis data yang digunakan untuk memberikan hak
akses untuk pemakai atau mencabut hak akses dari pemakai dalam pengisian
data, mengupdate data, menampilkan data atau bahkan tidak mem-perbolehkan
melihat data.
Bahasa query yang digunakan adalah grant ( memberikan hak akses
kepada user baik dalam pengisian data, menampilkan data, merubah atau
memperbaharui isi data atau bahkan hak akses untuk semuanya) dan revoke (
membatasi atau mencabut hak akses dari user untuk pengisian data,
menampilkan data, merubah atau memperbaharui isi data atau bahkan hak akses
untuk semuanya)
1.5 Data Base Management system ( DBMS )
Database Management System terbagi atas modul-modul yang masingmasing memiliki tanggung jawab dalam membentuk struktur system basis data
secara keseluruhan.
Sebuah DBMS umumnya memiliki sejumlah modul
fundamental sebagai berikut:
1. DML Compiler : menterjemahkan ekspresi DML dalam bahasa query ke
perintah-perintah low-level yang dapat di mengerti query evaluation
engine.
2. DML Precompiler : mengkonversi perintah DML yang ditambahkan dalam
sebuah program aplikasi ke pemanggilan prosedur normal
3. DDl Intreperter : mengkonversi perintah DDL ke dalam sekumpulan tabel
metadata yang disimpan ddalam kamus data.
4. Query Evaluation Engine: mengeksekusi perintah low-level yag di hasilkan
DMLCompiler
5. File Manager : mengelola alokasi ruang dalam disk dan struktur data yang
dipakai untuk merepresentasikan informasi yang tersimpan dalam disk.
6. Buffer Manager: bertanggung jawab dalam pengambilan data dari disk ke
memori utama
Manfaat Pembedaan
 Memungkinkan pembuatan dan penggunaan perangkat-perangkat
abstrak untuk menyederhanakan proses perancangan software
 Menyediakan sarana untuk mengontrol akses kepada basis data
 Guna mendapatkan independensi data, kemampuan untuk mengubah
pengorganisasian basis data tanpa mengubah software aplikasi
1.6 Problem- problem dalam basis data konvensional
1. Redudansi dan Inkonsistensi
Redudansi data berkaitan dengan adanya/banyaknya duplikasi data di
sejumlah file/tabel. Redudansi akan menjadi berbahaya, ketika ada upaya m
anipulasi data ( pengubahan data dan penghapusan data), karena akan mudah
menimbulkan inkonsistensi data. Redudansi yang dimaksud disini tidak hanya
pada redudansi yang ada pada basis data yang belum memenuhi aturan-aturan
normalisasi, tapi juga ada reduddansi yang menjadi keniscayaan karena
penggunaan basis data relasional.
Redudansi yang tidak memenuhi aturan normalisasi dapat di ilustrasikan
pada sebuah tabel dengan 3 field yaitu A, B, dan C dimana A merupakan key.
Jika field non-key C memiliki ketergantungan fungsional pada field non-key B,
sementara B memiliki ketergantungan fungsional pada A. maka akan dijumpai
redudansi dimana nilai-nilai C yang sama akan selalu hadir untuk record – record
dengan nilai B yang sama. Jika terjadi manipulasi data pada C hanya pada
sebuah record, maka kondisi inkonsistensi bisa terjadi karena akan ditemui nilainilai C yang tidak sama/konsiste untuk record-record dengan nilai B yang sama di
dalam tabel.
2. Kesulitan dalam mengakses data
Kesulitan dalam pengaksesan data akan muncul jika ada permintaan
pengaksesan data yang tidak umum, diluar yang telah disediakan program
aplikasi, atau jika tabel-tabel yang ingin diakses berasal dari database yang
berbeda
3. Isolasi data
Karena data ditempatkan dalam berbagai file yang seringkali berada
dalam format berbeda, maka akan muncul kesulitan untuk menulis program
aplikasi baru yang bersifat umum untuk mengambil data tertentu. Isolasi data
sering terjadi jika kita bekerja terhadap basis data yang dikelola oleh DBMS yang
berbeda.
4. Multi user
Dalam
upaya
meningkatkan
performa
sistem,
banyak
sistem
memperbolehkan banyak pemakai melakukan akses data. Pengaksesan data
oleh banyak pemakai dalam bentuk operasi pengubahan ( Updating ) disamping
berpengaruh
terhadap
performansi
sistem
juga
dapat
mengakibatkan
inkonsistensi data. Oleh karena itu diperlukan pemberian hak akses, agar tidak
terjadi banyak pemakai yang melakukan pengubahan data.
5. Security ( Keamanan Data )
Tidak semua orang boleh bersentuhan dengan sebuah sistem basis data.
Untuk itu diterapkan mekanisme password. Keamanan data disini diberikan
dalam bentuk hak akses pada penggunaan basis data dengan menggunkan
Control Language pada DBMS. Sehingga tidak semua pemakai diperbolehkan
berinteraksi dengan basis data dalam melakukan pengaksesan ke semua jenis
data
6. Integritas Data
Nilai-nilai data dalam basis data seharusny memenuhi berbagai batasan
(constraint) konsistensi sesuai dengan aturan nyata yang berlaku dimana basis
data diimplementasikan. Misalnya saja saldo minimal dari rekening tabungan
nasabah adalah Rp.25.000,00 maka harus dipenuhi kondisi tidak ada satupun
record dalam tabel simpanan yang saldonya lebih kecil dari 25.000. Aturan nyata
semacam ini akan mudah dilanggar, karena aturan tersebut bersifat situasional
dan jarang terakomodasi dalam constraint yang dapat kita definisikan pada suatu
DBMS
Download