BASIS DATA (DATABASE)
PENGERTIAN
Istilah "basis data" berawal dari ilmu
komputer. Meskipun kemudian artinya semakin luas, memasukkan hal-hal di luar
bidang elektronika, artikel ini mengenai basis data komputer. Catatan yang
mirip dengan basis data sebenarnya sudah ada sebelum revolusi industri yaitu
dalam bentuk buku besar, kuitansi dan kumpulan data yang berhubungan dengan bisnis.
Konsep dasar dari basis data adalah kumpulan dari
catatan-catatan, atau potongan dari pengetahuan. Sebuah basis data memiliki
penjelasan terstruktur dari jenis fakta yang tersimpan di dalamnya: penjelasan
ini disebut skema. Skema menggambarkan obyek yang diwakili
suatu basis data, dan hubungan di antara obyek tersebut. Ada banyak cara untuk
mengorganisasi skema, atau memodelkan struktur basis data: ini dikenal sebagai model basis data
atau model data. Model yang umum digunakan sekarang adalah model relasional,
yang menurut istilah layman mewakili semua informasi dalam bentuk tabel-tabel
yang saling berhubungan dimana setiap tabel terdiri dari baris dan kolom
(definisi yang sebenarnya menggunakan terminologi matematika). Dalam model ini,
hubungan antar tabel diwakili denga menggunakan nilai yang sama antar tabel.
Model yang lain seperti model hierarkis dan
model
jaringan menggunakan cara
yang lebih eksplisit untuk mewakili hubungan antar tabel.
Istilah basis data mengacu pada koleksi
dari data-data yang saling berhubungan, dan perangkat lunaknya seharusnya
mengacu sebagai sistem manajemen basis data (database management
system/DBMS). Jika konteksnya sudah jelas, banyak administrator dan
programer menggunakan istilah basis data untuk kedua arti tersebut.
Basis data atau database
Kumpulan dari
item data yang saling berhubungan satu dengan yang lainnya yang diorganisasikan
berdasarkan sebuah skema atau struktur tertentu, tersimpan di hardware komputer
dan dengan software untuk melakukan manipulasi untuk kegunaan tertentu Ada juga
yang mendefinisikan basis data adalah kumpulan informasi yang disimpan di dalam
komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program
komputer untuk memperoleh informasi dari basis data tersebut
Alasan Perlunya
Database
ü Basis data merupakan salah satu komponen
penting dalam system informasi, karena merupakan dasar dalam menyediakan
informasi.
ü Basis data menentukan kualitas informasi :
akurat, tepat pada waktunya dan relevan. Informasi dapat dikatakan bernilai
bila manfaatnya lebih efektif dibandingkan dengan biaya mendapatkannya.
ü
Basis data mengurangi duplikasi data (data
redudancy).
ü Dengan mengaplikasikan basis data hubungan
data dapat ditingkatkan.
ü Basis data dapat mengurangi pemborosan
tempat simpanan luar.
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, pemilahan, 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)
Dengan
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
o
perpustakaan digital. Video interaktif
o
kebutuhan untuk memperluas DBMS
-
DBMS mencakup bidang ilmu lain
o
System operasi, bahasa pemrograman, teori
komputasi, AI, logika, multimedia.
Operasi dasar pembuatan Basis data :
n
Pembuatan Basis Data (Create Database)
Yang identik dengan pembuatan lemari arsip
yang baru.
n
Penghapusan Basis Data (Drop Database)
Yang identik dengan perusakan lemari arsip
(sekaligus beserta isinya, jika ada)
n
Pembuatan File/Table baru ke suatu basis data (Create Table)
Yang identik dengan penambahan map arsip
baru ke sebuah lemari arsip yang telah ada.
n
Penghapusan File/Table dari suatu basis data (Drop Table)
Yang identik dengan perusakan map arsip
lama yang ada di sebuah lemari arsip.
n
Penambahan data baru ke suatu file/table di
sebuah basis data (insert)
Identik dengan penambahan lembaran arsip
baru kesebuah map arsip.
n
Pengambilan data dari sebuah file/table (Retrieve/Search)
Identik dengan pencarian lembaran arsip
dari sebuah map arsip.
n
Pengubahan data dari sebuah file/table (Update)
Identik dengan perbaikan isi lembaran
arsip yang ada di sebuah map arsip.
n
Penghapusan data dari sebuah file/table (Delete)
Identik dengan penghapusan sebuah lembaran
arsip yang ada di sebuah map arsip.
A. Hirarki Data
Berdasarkan tingkat kompleksitas nilai data, tingkatan data dapat disusun
kedalam sebuah hirarki, mulai dari yang paling sederhana hingga yang paling
komplek.
a.
basis data, merupakan sekumpulan dari
bermacam-macam tipe record yang memiliki hubungan antar record.
b. berkas/file, merupakan sekumpulan rekaman data yang berkaitan denngan suatu objek.
c. 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)
d. field/atribut/data
item, merupakan unit terkecil yang disebut data,yang tidak dapat dipecah
lagi menjadi unit lain yang bermakna.
e. byte,
adalah bagian terkecil
yang dialamatkan dalam memori.
-
fixed
length field, memiliki ukuran yang tetap.
-
variabel
length field, field-field dalam record dapat memiliki ukuran berbeda.
- byte mrupakan sekumpulan bit yang secara
konvensional terdiri atas kombinasi delapan bit yang menyatakan sebuah
karakter dalam memori (I byte= I karakter)
g.
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.
B. Konsep 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 basisdata
C. Pemanfaaatan Ilmu Basis Data
Bidang Fungsional :
§
Kepegawaian
§
Pergudangan (inventory)
§
Akuntansi
§
Reservasi
§
Layanan Pelanggan
Bentuk Perusahan :
§
Perbankan
§
Rumah Sakit
§
Produsen Barang
§
Sekolah
§
Telekomunikasi
D. 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 :
1. 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.
2. 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.
3. 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.
E. 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
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.
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
F. Model Entity-Relationship (ER)
Model
Entity-Relationship adalah model data konseptual tingkat tinggi untuk
perancangan basis data. Model data
konseptual adalah himpunan konsep yang mendeskripsikan struktur basis data,
transaksi pengambilan dan pembaruan basis data.
Model ER adalah data konseptual tak
tergantung DBMS dan platform perangkat keras tertentu. Model ER dikemukakan
oleh Chen [1976]. Sejak itu, telah memperoleh banyak perhatian dan perluasan.
Model ER adalah persepsi terhadap dunia
nyata sebagai terdiri objek-objek dasar yang disebut entitas dan keterhubungan
(relationship) antar entitas-entitas
itu.
Konsep paling dasar di model ER adalah entitas,
relationship dan atribut.
Komponen-komponen utama model ER adalah:
a.Entitas (entity),
Entitas memodelkan objek-objek yang berada diperusahaan/lingkungan.
b.Relationship. Relationship memodelkan koneksi/hubungan di antara
entitas-entitas.
c.Atribut-atribut (properi-properti), memodelkan properti-properti dari entitas
dan relationship.
d.Konstrain-konstrain (batasan-batasan) integritas, konstrain-konstrain
ketentuan validitas.
Entitas (Entity) dan Himpunan
Entitas (Entitas Sets)
Entitas merupakan individu yang mewakili
sesuatu yang nyata (eksistensinya) dan dapat dibedakan dari sesuatu yang lain.
Sebuah kursi yang kita duduki, seseorang yang menjadi pegawai di sebuah
perusahaan dan sebuah mobil yang melintas di depan kita adalah entitas.
Sekelompok entitas yang sejenis dan
berada dalam lingkup yang sama membentuk sebuah himpunan entitas (entity sets).
Sederhananya, entitas
menunjuk pada individu suatu objek, sedang himpunan entitas menunjuk pada
rumpun (family) dari individu
tersebut.
Seorang pasien, misalnya akan dimasukkan
dalam himpunan entitas pasien. Sedang seorang dokter akan ditempatkan dalam
himpunan entitas dokter.
Dalam berbagai pembahasan/literature, penyebutan himpunan entitas (yang kurang
praktis) ini seringkali digantikan dengan sebutan entitas saja.
Karena itu sering ditemui, penggunaan istilah entitas (entity) di sebuah
literature sebenarnya menunjuk pada himpunan entitas.
Kunci Entitas
Sebagaimana model relasional, adalah
penting dan berguna untuk memasukkan kunci yang diasosiasikan dengan himpunan
entitas. Kunci pada himpunan entitas S, adalah himpunan atribut A. Sehingga
tidak ada dua entitas di S yang mempunyai nilai sama untuk tiap atribut di A
dan tidak ada subset di A yang dapat menjadi kunci di S, dengan demikian kunci
mempunyai property minimal.
Atribut (Atributes/Properties)
Setiap entitas pasti memiliki atribut yang
mendeskripsikan karakteristik (property) dari entitas tersebut. Penentuan /
pemilihan atribut-atribut yang relevan bagi sebuah entitas merupakan hal
penting lainnya dalam pembentukan model ER. Contoh : nim, nama, alamat, kode.
Relasi (Relationship) dan
Himpunan Relasi (Relationship Sets)
Relasi menunjukkan adanya hubungan di
antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda.
Misalnya, entitas seorang mahasiwa dengan
nim = ‘980001’ dan
nama_mhs = ‘Ali Akbar’ (yang ada di
himpunan entitas Mahasiswa)
mempunyai relasi dengan
entitas sebuah mata kuliah dengan
kode_kul=’IF-110’ dan
nama_kul=’Struktur Data’.
Relasi diantara kedua entitas tadi
mengandung arti 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.
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.
Diagram Entity-Relationship (ER)
Penggambaran Model ER secara sistematis
dilakukan melalui diagram ER. Notasi-notasi simbolik di dalam Diagram ER yang
dapat digunakan adalah:
1. Persegi panjang, menyatakan Himpunan
Entitas.
2.
Lingkaran/Elips, menyatakan atribut (Atribut yang
berfungsi sebagai key digaris bawahi).
3. Belah ketupat, menyatakan Himpunan Relasi.
4.
Garis, sebagai penghubung antara Himpunan Relasi dengan
Himpunan Entitas dan Himpunan Entitas dengan atributnya.
5.
Kardinalitas Relasi dapat dinyatakan dengan banyaknya
garis cabang atau dengan pemakaian angka (1 dan 1 untuk relasi one to one, 1
dan N untuk relasi one to many atau N dan N untuk relasi many to many).
Tahap Pembuatan Diagram ER
Diagram ER selalu dibuat secara
bertahap. Paling tidak ada dua kelompok penahapan yang biasa ditempuh di
dalam pembuatan diagram ER, yaitu :
a. Tahap pembuatan Diagram ER awal (preliminary design). Yaitu :
-
Mengidentifikasi
dan menetapkan seluruh entity yang terlibat dalam sistem database tersebut.
-
Menentukan attribute-attribute atau field dari
masing-masing entity beserta kunci (key)-nya.
-
Menentukan
attribute dari suatu entitas sangat menentukan baik atau tidaknya sistem
database yang dirancang, karena attribute ini sangat menentukan nantinya dalam
proses relasi. Attribute merupakan ciri khas yang melekat pada suatu entity,
misalnya attribute pada mahasiswa dapat berupa nobp, nama, tempat lahir,
tanggal lahir, alamat, nama orang tua, pekerjaan orang tua dan lain-lain. Dari
sekian banyak kemungkinan attribute yang ada pada entity mahasiswa, kita dapat
menggunakan hanya yang perlu saja. Setelah menentukan attributenya selanjutnya
adalah menentukan field kunci. Field kunci adalah penanda attribute tersebut
sehingga bisa digunakan untuk relasi nantinya dan field kunci ini harus
bersifat unik. Misalnya pada entity mahasiswa, attribute nobp bisa dijadikan
field kunci, karena bersifat unik dan tidak ada mahasiswa yang mempunyai nobp
sama.
-
Mengidentifkasi
dan menetapkan seluruh himpunan relasi diantara himpunan-himpunan entity yang
ada beserta kunci tamu (foreign key)- nya. Setelah menentukan entity dan
attribute beserta field kuncinya, maka selanjutnya adalah menentukan entity
yang terbentuk akibat adanya relasi antar entity. Misalnya antara entity
mahasiswa dengan entity dosen, terjadi suatu hubungan proses mengajar, maka
proses mengajar ini merupakan entity baru. Entity mengajar ini harus kita
tentukan juga attribute yang melekat padanya beserta kunci tamu (foreign key).
Kunci tamu adalah field kunci utama pada tabel lain, dan field tersebut
digunakan juga pada tabel yang satu lagi. Misalnya nobp adalah field kunci dari
entity mahasiswa, pada entity mengajar terdapat juga attribute NoBP, maka
keberadaan attribute nobp pada entity
mengajar disebut sebagai kunci tamu. Proses menentukan hubungan antar entity
juga sangat menentukan kualitas system database yang dirancang.
-
Menentukan
derajat relasi untuk setiap himpunan relasi. Setelah semua entity dan attribute
yang dibutuhkan terbentuk, maka selanjutnya adalah menentukan derajat relasi
antar entity tersebut, apakah satu kesatu, satu ke banyak atau sebaliknya, atau
banyak ke banyak. Berhati-hatilah dalam menentukan derajat relasi ini, karena
nantinya akan berhubungan dengan proses query terhadap data
-
Melengkapi himpunan entitas dan himpunan relasi
dengan atribut-atribut deskriptif (non key).
Jenis-Jenis Kunci (Key)
• Candidat Key
Sebuah attribute atau lebih
yang secara unit mengidentifikasi sebuat record, disebut candidate key.
Attribute ini mempunyai nilai yang unik pada hampir setiap recordnya. Fungsi
dari candidate key ini adalah sebagai calon primary key.
Contoh candidate-key :
ID_Cus
|
Name
|
NoOfPay
|
Amount
|
112233
|
Tim
|
890
|
9000
|
112231
|
Kate
|
891
|
8000
|
112241
|
Tyson
|
895
|
10000
|
• Primary Key
Salah satu atrribut dari
candidat key dapat dipilih menjadi primary key dengan 3 kriteria sbb :
-
Key tersebut lebih natural untuk dijadikan acuan
-
Key tersebut lebih sederhana
-
Key tersebut cukup uniqe
• Foreign Key
Jika sebuah primary key
terhubungan ke table/entity lain, maka keberadaan primary key pada entity
tersebut di sebut sebagai foreign key. Misal : Primary Key KodeDosen dari
entity Dosen digunakan juga pada field entity KRS, maka keberadaan field
KodeDosen pada entity KRS disebut sebagai foreign key.
• Alternate
Key
Setiap atribut dari candidate
key yang tidak terpilih sebagai primary key akan dinamakan alternate key. Pada
contoh sebelumnya bila untuk primary key dipilih ID_Cus maka alternate key nya
adalah No.of Pay
.
KODE
|
MK
|
SKS
|
KD-Dosen
|
TEL 100
|
Fisika
|
3
|
D-101
|
TEL 200
|
Isyarat
|
2
|
D-109
|
TEL 210
|
T.Kendali
|
2
|
D-101
|
KD-Dosen
|
Nama_Dosen
|
D-100
|
Badu,S.T
|
D-101
|
Ir.Thomas
|
D-109
|
Harry,S.T,M.T
|
b. Tahap optimasi Diagram ER (final design).
G. Normalisasi
Proses normalisasi
adalah proses untuk memperoleh properti-properti skema relasi yang bagus
menjadi bentuk normal lebih tinggi sehingga syarat-syarat dibawah ini
terpenuhi:
a.
Mengoptimalisasi redudansi (pengulangan data yang tidak
perlu). Redudansi tidak bisa dihilangkan sama sekali karena berguna untuk
integritas referensial, tetapi redudansi bisa dioptimalisasi. Untuk jumlah data
yang tidak terlalu banyak mungkin tidak terlalu berpengaruh dalam hal
penggunaan harddisk. Tapi bayangkan jika ada ribuan, bahkan jutaan redudansi,
mungkin akan sangat berpengaruh pada penggunaan ruang.
b. Menghilangkan anomali. Anomali pada dasarnya
adalah ketidak-konsistenan (inkonsistensi). Misalkan ada pergantian nama dari
Bank Perkasa menjadi Bank Perkasa Utama sebanyak 4 record. Jika pergantian nama
hanya dilakukan pada salah satu record saja, maka terjadi ketidak-konsistenan
yaitu satu nomor bank berrelasi dengan 2 nama bank yang berbeda.
Dekomposisi tabel dapat mengurangi
redudansi yang ada dan menghilangkan anomali.
Perancangan melalui proses normalisasi
mempunyai keuntungan-keuntungan sebagai berikut :
a. Meminimalkan ukuran penyimpanan yang diperlukan
untuk penyimpanan data.
- Meminimalkan
resiko inkonsistensi data pada basis data.
- Meminimalkan
kemungkinan anomaly pembaruan.
- Memaksimalkan
stabilitas struktur data.
SQL (Structured Query Language)
SQL adalah bahasa yang digunakan untuk berkomunikasi
dengan database. Menurut ANSI (American National Standards
Institute), bahasa ini merupakan standar untuk relational database
management systems (RDBMS):
Pernyataan-pernyataan SQL digunakan untuk melakukan
beberapa tugas seperti : update data pada database atau
menampilkan data dari database. Hampir semua software database mengimplementasikan
bahasa SQL sebagai komponen utama dari produknya, salah satunya MySQL.
MySQL
Untuk melakukan administrasi dalam basis data MySQL,
dapat menggunakan modul yang sudah termasuk yaitu command-line (perintah:
mysql dan mysqladmin). Juga dapat di-download dari situs MySQL yaitu
sebuah modul berbasis grafik (GUI): MySQL Administrator dan MySQL
Query Browser. Selain itu terdapat juga sebuah perangkat lunak gratis untuk
administrasi basis data MySQL berbasis web yang sangat populer yaitu phpMyAdmin.
Untuk perangkat lunak untuk administrasi basis data MySQL yang dijual secara
komersial antara lain: MySQL front, Navicat dan EMS SQL
Manager for MySQL
Perintah dasar MySQL
Bahasa SQL memiliki struktur yang mudah dipahami karena
perintah – perintahnya pada dasarnya dibuat dari bahasa Inggris. Sehingga kita dapat melakukan perintah – perintah
SQL ke dalam database MySQL, yaitu
ü Memasukkan atau menambah record baru ke
dalam database.
ü Mengeksekusi query database
ü Mengambil data dari database
ü Mengubah record pada database
ü Menghapus record pada database
Perintah SQL dapat
diketik dengan huruf besar atau kecil (non case sensitive). Setelah
selesai mengetik perintah di MySQL harus diakhiri dengan tanda titik koma
sebagai penanda akhir dari perintah MySQL. Perintah SQL dapat diketik dengan
huruf besar atau kecil (non case sensitive). Setelah selesai mengetik
perintah di MySQL harus diakhiri dengan tanda titik koma sebagai penanda akhir
dari perintah MySQL.
DBMS (Database Management System)
Menurut Date, Sistem Basis Data adalah system
terkomputerisasi yang tujuan utamanya adalah memelihara informasidan membuat
informasi tersebut tersedia saat dibutuhkan.
Manajemen Sistem Basis Data (Database Management
System ± DBMS) adalah perangkat lunak yang didesain untuk membantu dalam hal
pemeliharaan dan utilitas kumpulan data dalam jumlah besar. DBMS dapat menjadi
alternative penggunaan secara khusus untuk aplikasi, semisal penyimpana n data
dalam fiel dan menulis kode aplikasi yang spesifik untuk pengaturannya.
DAFTAR PUSTAKA
6.
http://opensource.telkomspeedy.com/wiki/index.php/Mini_Howto_iptables_untuk_Firewall