Terminologi
Dan Konsep Basis Data
Basis
data terdiri dari 2 kata, yaitu basis & data. Basis
dapat diartikan sebagai markas / gudang, tempat berkumpul. Sedangkan
data
adalah fakta yang mewakili suatu objek seperti manusia, barang, hewan
peristiwa, keadaan dan sebagainya, yang direkam dalam bentuk angka,
huruf simbol, teks gambar, bunyi atau kombinasinya.
Basis
data sendiri dapat di definisikan dalam sejumlah sudut pandang
seperti :
- himpunan kelompok data / arsip yang saling berhubungan yang diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat & mudah.
- Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan/ penumpukan (redundansi), untuk memenuhi berbagai kebutuhan.
- Kumpulan file/ tabel /arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis.
Basis
data dan lemari arsip sesungguhnya memiliki prinsip kerja dan tujuan
yang sama. Prinsip utamanya adalah pengaturan
data/arsip. Dan tujuan utamanya adalah kemudahan
dan kecepatan
dalam pengambilan kembali data/ arsip. Perbedaannya hanya terletak
pada media penyimpanan yang digunakan . jika lemari arsip menggunakan
lemari sebagai media penyimpanannya, maka basisdata mnenggunakan
media penyimpanan elektronis seperti disk (disket, harddisk).
Yang
perlu diingat adalah bahwa tidak semua bentuk penyimpanan data secara
elektronis bisa disebut basis data. Yang sangat ditonjolkan dalam
basisdata adalah pengaturan/pemilaha/pengelompokkan/pengorganisasian
data yang akan kita simpan sesuai fungsi/jenisnya. Pemilahan/
pengelompokan ini dapat berbentuk sejumlah file/ tabel terpisah atau
dalam bentuk pendefinisian kolom-kolom/field-field data dalam setiap
file/tabel.
Tujuan
dibangunnya basis data adalah sebagai berikut :
- Kecepatan & kemudahan (speed)
Dgn
memanfaatkan basis data, memungkinkan kita untuk dapat menyimpan data
atau melakukan perubahan/ manipulasi terhadap data atau menampilkan
kembali data tersebut secara lebih cepat & mudah.
- Efisiensi ruang penyimpanan (space)
Karena
keterkaitan yang erat antara kelompok data dalam sebuah
basisdata,maka redundansi (pengulangan) pasti akan selalu ada,
sehingga akan memperbesar ruang penyimpanan. Dengan basisdata,
efisiensi ruang penyimpanan dapat dilakukan dengan menerapkan
sejumlah pengkodean, atau dengan membuat relasi-relasi antar kelompok
data yang saling berhubungan.
- Keakuratan (accuracy)
Pengkodean
atau pembentukan relasi antar data bersama dengan penerapan
aturan/batasan (constraint),
dmain data, keunikan data, dsb, yang secara ketat dapat diterapkan
dalam sebuah basis data, sangat berguna untuk menekan ketidak
akuratan penyimpanan data.
- Ketersediaan (availability)
Dengan
pemanfaatan jaringan komputer, maka data yang berada di suatu
lokasi/cabang dapat juga diakses (tersedia/available) bagi
lokasi/cabang lain.
- Kelengkapan (completeness)
Kelengkapan
data yang disimpan dalam sebuah database bersifat relatif, bisa jadi
saat ini dianggap sudah lengkap, tetapi belum tentu pada suatu saat
dianggap lengkap. Untuk mengakomodasi kelengkapan data, seperti
- Keamanan (security)
aspek
keamanan dapat diterapkan dengan ketat, dengan begitu kita dapat
menentukan pemakai basis data serta obyek-obyek didalamnya ,serta
jenis-jenis operasi apa saja yang boleh dilakukannya.
- Kebersamaan pemakaian (sharability)
Basis
data yang dikelola dengan aplikasi multi user dapat memenuhi
kebutuhan ini.
Alasan
mengapa mempelajari basisdata :
- perpindahan dari komputasi ke informasi
- himpunan elemen data semakin banyak dan beragam
- perpustakaan digital. Video interaktif
- kebutuhan untuk memperluas DBMS
- DBMS mencakup bidang ilmu lain
- System operasi, bahasa pemrograman, teori komputasi, AI, logika, multimedia.
Operasi
dasar pembuatan Basis data :
- Pembuatan Basis Data (Create Database)
Yang
identik dengan pembuatan lemari arsip yang baru.
- Penghapusan Basis Data (Drop Database)
Yang
identik dengan perusakan lemari arsip (sekaligus beserta isinya, jika
ada)
- Pembuatan File/Table baru ke suatu basis data (Create Table)
Yang
identik dengan penambahan map arsip baru ke sebuah lemari arsip yang
telah ada.
- Penghapusan File/Table dari suatu basis data (Drop Table)
Yang
identik dengan perusakan map arsip lama yang ada di sebuah lemari
arsip.
- Penambahan data baru ke suatu file/table di sebuah basis data (insert)
Identik
dengan penambahan lembaran arsip baru kesebuah map arsip.
- Pengambilan data dari sebuah file/table (Retrieve/Search)
Identik
dengan pencarian lembaran arsip dari sebuah map arsip.
- Pengubahan data dari sebuah file/table (Update)
Identik
dengan perbaikan isi lembaran arsip yang ada di sebuah map arsip.
- Penghapusan data dari sebuah file/table (Delete)
Identik
dengan penghapusan sebuah lembaran arsip yang ada di sebuah map
arsip.
Hirarki
Data
Berdasarkan
tingkat kompleksitas nilai data, tingkatan data dapat disusun kedalam
sebuah hirarki, mulai dari yang paling sederhana hingga yang paling
komplek.
- basis data, merupakan sekumpulan dari bermacam-macam tipe record yang memiliki hubungan antar record.
- berkas/file, merupakan sekumpulan rekaman data yang berkaitan denngan suatu objek.
- record , merupakan sekumpulan field/atribut/data item yang saling berhubungan terhadap obyek tertentu
- fixed length record, semua field dalam record memiliki ukuran yang tetap.
- Variabel length record, field-field dalam record dapat memiliki ukuran berbeda (metode penandaan yang digunakan adalah : end of record marker, indikator panjang, dan tabel posisi record)
- field/atribut/data item, merupakan unit terkecil yang disebut data,yang tidak dapat dipecah lagi menjadi unit lain yang bermakna.
- fixed length field, memiliki ukuran yang tetap.
- variabel length field, field-field dalam record dapat memiliki ukuran berbeda.
- byte, adalah bagian terkecil yang dialamatkan dalam memori.
byte
mrupakan
sekumpulan bit yang secara konvensional terdiri atas kombinasi
delapan bit yang menyatakan sebuah karakter dalam memori (I byte= I
karakter)
- bit, adalah sistem binner yang terdiri atas dua macam nilai, yaitu 0 dan 1. sistem binner merupakan dasar yang dapat digunakan untuk komunikasi antara manusia dan mesin, yang merupakan serangkaian komponen elektronik dan hanya dapat membedakan 2 macam keadaan, yaitu ada tegangan dan tidak ada tegangan yang masuk ke rangkaian tersebut.DBMS (database management system)
Database
Management System (DBMS) merupakan paket program (Software)
yang dibuat agar memudahkan dan mengefisienkan pemasukan, pengeditan,
penghapusan dan pengambilan informasi terhadap database.
Software
yang tergolong kedalam DBMS antara lain, Microsoft SQL, MySQL,
Oracle, MS. Access, dan lain-lain
Komponen
utama DBMS :
- perangkat keras
berupa
komputer dan bagian-bagian didalamnya, seperti prosesor, memori &
harddisk. Komponen inilah yang melakukan pemrosesan dan juga untuk
menyimpan basis data.
- basisdata
sebuah
DBMS dapat memiliki beberapa basisdata, setiap basisdata dapat berisi
sejumlah obyek basisdata (file,tabel,indeks dsb). Disamping berisi
data,setiap basisdata juga menyimpan definisi struktur (baik untuk
basisdata maupun obyek-obyeknya secara detail).
- perangkat lunak
perangkat
lunak ini terdiri dari sistem operasi dan perangkat lunak/program
pengelola basisdata. Perangkat lunak inilah yang akan menentukan
bagaimana data diorganisasi,disimpan, diubah dan diambil kembali. Ia
juga menerapkan mekanisme pengamanan data, pemakaian data secara
bersama, pemaksaan keakuratan/konsistensi data, dsb.
Contoh
perangkat lunak DBMS : MS access, SQL Server, Oracle dsb.
- pengguna/user
pengguna
dapat digolongkan menjadi 3 :
- pengguna akhir / end user.
Dapat
dibagi menjadi 2 :
- pengguna aplikasi : adalah orang yang mengoperasikan program aplikasi yang dibuat oleh pemrogram aplikasi.
- pengguna interaktif : adalah orang yg dpt memberikan perintah-perintah pada antar muka basisdata, misalnya SELECT, INSERT dsb.
- pemrogram aplikasi
adalah
orang yang membuat program aplikasi yang menggunakan basisdata.
- administrator database / DBS (database administrator)
adalah
orang yang bertanggungjawab terhadap pengelolaan basisdata.
Tugas
DBA :
- mendefinisikan basisdata
- menetukan isi basisdata
- menentukan sekuritas basisdataPemanfaaatan Ilmu Basis Data
Bidang
Fungsional :
- Kepegawaian
- Pergudangan (inventory)
- Akuntansi
- Reservasi
- Layanan Pelanggan
Bentuk
Perusahan :
- Perbankan
- Rumah Sakit
- Produsen Barang
- Sekolah
- Telekomunikasi
Abstraksi
Data
Salah
satu tujuan dari DBMS adalah untuk menyediakan fasilitas/antarmuka
(interface)
kepada user.untuk itu system tersebut akan menyembunyikan detail
tentang bagaimana data disimpan dan dipelihara, sehingga data yang
terlihatoleh user sebenarnya berbeda dengan yang tersimpan secara
fisik.
Abstraksi
data merupakan tingkatan-tingkatan pengguna dalam memandang bagaimana
sebenarnya data diolah dalam sebuah sistem database sehingga
menyerupai kondisi yang sebenarnya dihadapi oleh pengguna
sehari-hari.. Sebuah DBMS seringkali menyembunyikan detail tentang
bagaimana sebuah data disimpan dan dipelihara (diolah) dalam sebuah
sistem database, dengan tujuan untuk memudahkan pengguna dalam
menggunakan DBMS tersebut. Karena itu seringkali data yang terlihat
oleh pemakai sebelumnya berbeda dengan yang tersimpan secara fisik.
Terdapat
3 level abstraksi :
- Level Fisik (Physical Level)
Lapis
fisik merupakan lapis terendah, lapis ini menjelaskan bagaimana (how)
data sesungguhnya disimpan. Pada lapis inilah struktur data
dijabarkan secara rinci.
- Level Logik / Konseptual (Conceptual Level)
Lapis
konseptual lebih tinggi dari lapis fisik. Lapis ini menjabarkan data
apa (what) saja yang sesungguhnya disimpan pada basisdata, dan juga
menjabarkan hubungan-hubungan antardata secara keseluruhan. Seorang
pengguna dalam level ini dapat mengetahui bahwa data mahasiswa
disimpan pada tabel mahasiswa, tabel krs, tabel transkrip dan lain
sebagainya. Level ini biasa dipakai oleh DBA.
- Level Penampakan/pandangan (View Level)
Lapis
pandangan merupakan lapis tertinggi pada abstraksi data. Pada lapis
ini pengguna hanya mengenal struktur data yang sederhana, yang
berorientasi pada kebutuhan pengguna. Data yang dikenal oleh
masing-masing pengguna bisa berbeda-beda dan barangkali hanya
mencakup sebagian dari basis data. Misalnya: Bagian keuangan hanya
membutuhkan data keuangan, jadi yang digambarkan hanya pandangan
terhadap data keuangan saja, begitu juga dengan bagian akuntansi,
hanya membutuhkan data akuntansi saja. Jadi tidak semua pengguna
database membutuhkan seluruh informasi yang terdapat dalam database
tersebut.
Sebagai
gambaran , misalnya terdapat struktur data bertipe record
seperti berikut :
Pegawai = RECORD
Nama
: STRING;
Alamat
: STRING;
Bagian :
STRING;
Gaji
: LongInt;
End:
Pada
contoh ini record
pegawai berisi 4 buah field
(nama,
alamat, bagian, gaji ). Setiap field memiliki nama, dan setiap nama
memiliki tipe data.
Pada
level fisik, pegawai dapat dijabarkan sebagai blok data yang terletak
pada lokasi berurutan (satuan byte). Pada lapis konseptual
masing-masing record dijabarkan dengan definisi tipe data . pada
lapis view, user tertentu hana boleh mengakses data tertentu,
contohnya, seorang yang menangani penggajian berhak mengetahui gaji
seseorang bahkan mengubahnya, tetapi orang yang bekerja di bagian
lain tentu tidak boleh melihatnya.
Model
Basis Data
Model
database adalah suatu konsep yang terintegrasi dalam menggambarkan
hubungan (relationships)
antar data dan batasan-batasan (constraint)
data dalam suatu sistem database. Model data yang paling umum,
berdasarkan pada bagaimana hubungan antar record dalam database
(Record
Based Data Models),
terdapat tiga jenis,
yaitu
:
a.
Model Database Hirarki (Hierarchical
Database Model)
Model
hirarkis biasa disebut model pohon, karena menyerupai pohon yang
dibalik. Model ini menggunakan pola hubungan orangtua-anak
b.
Model Database Jaringan (Network
Database Model)
c.
Model Database Relasi (Relational
Database Model)
Model
Relasional merupakan model yang paling sederhana sehingga mudah
digunakan dan dipahami oleh pengguna. Model ini menggunakan
sekumpulan tabel berdimensi dua ( yang disebut relasi atau tabel ),
dengan masing-masing relasi tersusun atas tupel atau baris dan
atribut. DBMS yang bermodelkan relasional biasa disebut RDBMS
(Relational
Data Base Management System).
Model database ini dikemukakan pertamakali oleh EF codd, seorang
pakar basisdata. Model ini sering disebut juga dengan database
relasi.
Model
database hirarki dan jaringan merupakan
model database yang tidak banyak lagi dipakai saat ini, karena adanya
berbagai kelemahan dan hanya cocok untuk struktur hirarki dan
jaringan saja. Artinya tidak mengakomodir untuk berbagai macam jenis
persoalan dalam suatu sistem database.
Model
database relasi merupakan model database yang paling banyak digunakan
saat ini, karena paling sederhana dan mudah digunakan serta yang
paling penting adalah kemampuannya dalam mengakomodasi berbagai
kebutuhan pengelolaan database. Sebuah database dalam model ini
disusun dalam bentuk tabel dua dimensi yang terdiri dari baris
(record)
dan kolom (field),
pertemuan antara baris dengan kolom disebut item
data (data
value),
table-tabel yang ada di hubungkan (relationship)
sedemikian rupa menggunakan field-field
kunci (Key
field)
sehingga
dapat meminimalkan duplikasi data.
Tingkatan
Data Dalam Database Relasi
Dalam
suatu sistem database relasi, data yang tersimpan dalam DBMS
mempunyai tingkatan-tingkatan, sebagai berikut :
•
Karakter
(Characters)
Merupakan
bagian terkecil dalam database, dapat berupa karakter numerik (angka
0 s.d 9), huruf ( A - Z, a - z) ataupun karakter-karakter khusus,
seperti *, &. %, # dan lain-lain.
•
Field atau Attribute
Merupakan
bagian dari record yang menunjukkan suatu item data yang sejenis,
Misalnya : field nama, file NIM dan lain sebagainya. Setiap field
harus mempunyai nama dan tipe data tertentu. Isi dari field di sebut
Data Value. Dalam table database, field ini disebut juga kolom.
Record
atau
Tupple
Tuple/Record
adalah kumpulan
data value dari attributee yang berkaitan sehingga dapat menjelaskan
sebuah entity secara lengkap. Misal : Record entity mahasiswa adalah
kumpulan data value dari field nobp, nama, jurusan dan alamat
per-barisnya. Dalam tabel database, Record disebut juga baris.
•
Table/Entity
Entity
merupakan sesuatu
yang dapat diidentifikasi dari suatu sistem database, bisa berupa
objek, orang, tempat, kejadian atau konsep yang informasinya akan
disimpan di database. Misal. Pada sistem database akademik, yang
menjadi entity adalah, mahasiswa, dosen, matakuliah dan lain-lain.
Dalam aplikasi nantinya, penggunaan istilah Entity sering di samakan
dengan istilah Tabel. (Entity = table). Disebut tabel, karena dalam
merepresentasikan datanya di atur dalam bentuk baris dan kolom. Baris
mewakili 1 record dan kolom mewakili 1 field. Dalam sistem database
tradisional, entity/table ini disebut juga dengan file.
•
Database
Kumpulan
dari tabel-tabel yang saling berelasi, disusun secara logis, sehingga
menghasilkan informasi yang bernilai guna dalam proses pengambilan
keputusan.
Ada
beberapa sifat yang melekat pada suatu tabel :
•
Tidak boleh ada record
yang sama (kembar)
•
Urutan record tidak
terlalu penting, karena data dalam record dapat diurut sesuai dengan
kebutuhan.
•
Setiap field harus
mepunyai nama yang unik (tidak boleh ada yang sama).
•
Setiap field mesti
mempunyai tipe data dan karakteristik tertentu
Contoh
produk DBMS terkenal yang menggunakan model relasional antara lain
adalah :
1.
DB2 (IBM)
2. Rdb/VMS (Digital Equipment Corporation)
3. Oracle (Oracle Corporation)
4. Informix (Informix Corporation)
5. Ingres (ASK Group Inc)
6. Sybase (Sybase Inc)
2. Rdb/VMS (Digital Equipment Corporation)
3. Oracle (Oracle Corporation)
4. Informix (Informix Corporation)
5. Ingres (ASK Group Inc)
6. Sybase (Sybase Inc)
Di
lingkungan PC, produk-produk berbasis relasional yang cukup terkenal
antara lain adalah :
1.
Keluarga R:Base (Microrim Corp) antara lain berupa R:Base 5000
2. Keluarga dBase (Ashton-Tate, sekarang bagian dari Borland International), antara lain dbase III Plus, dBase IV, serta Visual dBase
3. Microsoft SQL ( Microsoft Corporation)
4. Visual FoxPro (Microsoft Corporation)
2. Keluarga dBase (Ashton-Tate, sekarang bagian dari Borland International), antara lain dbase III Plus, dBase IV, serta Visual dBase
3. Microsoft SQL ( Microsoft Corporation)
4. Visual FoxPro (Microsoft Corporation)
MACAM-MACAM
PERINTAH DATA BASE
1.
Bahasa Definisi Data (Data
Definition Language/
DDL)
DDL adalah
perintah-perintah yang biasa digunakan oleh administrator basis data
(DBA) utnuk mendefinisikan skema ke DBMS. Skema adalah deskripsi
lengkap tentang struktur medan, rekaman, dan hubungan data pada basis
data
Index merupakan suatu mekanisme yang lazim digunakan pada basis data, yang memungkinkan pengambilan data dapat dilakukan dengan cepat.
Index merupakan suatu mekanisme yang lazim digunakan pada basis data, yang memungkinkan pengambilan data dapat dilakukan dengan cepat.
DDL Digunakan untuk
mespesifikasikan struktur/skema basis data yang
menggambarkan/mewakili desain basis data secara keseluruhan.
Hasil kompilasi perintah
DDL adalah kamus data (File yang berisi metadata (data yang
mendeskripsikan data sesungguhnya).
Struktur penyimpan dan
metode akses yang digunakan oleh sistem basis data disebut dengan
data storage and definition language.
2.
Bahasa Manipulasi Data (Data
Manipulation laguage/
DML)
DML adalah
perintah-perintah yang digunakan untuk mengubah, manipulasi dan
mengambil data pada basis data. Tindakan seperti menghapus, mengubah,
dan mengambil data menjadi bagian dari DML.
DML pada dasarnya dibagi
menjadi dua :
- Prosedural,
yang menuntut pengguna menentukan data apa saja yang diperlukan dan
bagaimana cara mendapatkannya.
- Nonprosedural,
yang menuntut pengguna menentukan data apa saja yang diperlukan,
tetapi tidak perlu menyebutkan cara mendapatkannya.
3.
DQL ( Data
Query Language)
Query sesungguhnya
berarti pertanyaan atau permintaan. Istilah ini tetap dipertahankan
dalam bentuk asli, karena telah populer di kalangan pengguna DBMS di
Indonesia
bahwa mahasiswa tersebut
sedang mengambil/mempelajari mata kuliah tersebut di sebuah perguruan
tinggi yang ditinjau.
Kumpulan semua relasi diantara entitas-entitas yang terdapat pada himpunan entitas-himpuan entitas tersebut membentuk himpunan relasi (relationship sets).
Sebagaimana
istilah himpunan entitas yang banyak sekali disingkat menjadi
entitas, istilah himpunan relasi jarang sekali digunakan dan lebih
sering disingkat dengan istilah relasi saja.
Kardinalitas/derajat Relasi
Kardinalitas Relasi menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lain. Kardinalitas relasi merujuk kepada hubungan maksimum yang terjadi dari himpunan entitas yang satu ke himpunan entitas yang lain dan begitu juga sebaliknya.
Kardinalitas di antara dua himpunan entitas (misalnya A dan B) dapat berupa :
a. Satu ke satu (One to One),
setiap
entitas pada himpunan entitas A berhubungan dengan paling banyak
dengan satu entitas pada himpunan entitas begitu juga sebaliknya
setiap entitas pada himpunan entitas B berhubungan dengan paling
banyak dengan satu entitas pada himpunan entitas A.
b. Satu ke Banyak (one to many),
setiap
entitas pada himpunan entitas A dapat berhubungan dengan banyak
entitas pada himpunan entitas B,
tetapi tidak sebaliknya, dimana setiap entitas pada himpunan entitas B berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas A.
tetapi tidak sebaliknya, dimana setiap entitas pada himpunan entitas B berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas A.
c.
Banyak ke Satu (Many
to One),
setiap
entitas pada himpunan entitas A berhubungan dengan paling banyak
dengan satu entitas pada himpunan entitas B, tetapi tidak sebaliknya,
dimana setiap entitas pada himpunan entitas A berhubungan dengan
paling banyak satu entitas pada himpunan entitas B.
d. Banyak ke Banyak (Many to Many)
setiap
entitas pada himpunan entitas A dapat berhubungan dengan banyak
entitas pada himpunan entitas B,
demikian juga sebaliknya, di mana setiap entitas pada himpunan entitas B dapat berhubungan dengan banyak entitas pada himpunan entitas A.
demikian juga sebaliknya, di mana setiap entitas pada himpunan entitas B dapat berhubungan dengan banyak entitas pada himpunan entitas A.