Basis Data
Basis data atau database, berasal dari kata basis dan data, adapun pengertian dari kedua pengertian tersebut adalah
sebagai berikut :
Basis : dapat diartikan sebagai markas atau gudang, tempat bersarang atau berkumpul.
Data : representasi fakta dunia nyata yang mewakili suatu objek seperti manusia (pegawai, siswa, pembeli, pelanggan), barang, hewan peristiwa, konsep, keadaan, dan sebagainya yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi, atau kombinasinya.
Dari kedua pengertian tersebut, maka dapat ditarik kesimpulan bahwa pengertian dari Basis Data adalah Kumpulan file / table yang saling berelasi (berhubungan) yang disimpan dalam media penyimpanan eletronik. Dapat dikatakan pengertian lain dari basis data adalah koleksi terpadu dari data yang saling berkaitan yang dirancang untuk memenuhi kebutuhan informasi suatu enterprise (dunia usaha). Dari pengertian tersebut dapat diambil kesimpulan pada masing – masing table / file didalam database berfungsi untuk menampung / menyimpan data – data, dimana masing – masing data yang ada pada table / file tersebut saling berhubungan dengan satu sama lainnya. Tujuan dari dibentuknya basis data pada suatu perusahaan pada dasarnya adalah kemudahan dan kecepatan dalam pengambilan kembali data.
Sedangkan kalau kita bicara basis data, maka seluruh data – data disimpan dalam basis data pada masing – masing table / file sesuai dengan fungsinya, sehingga kita dengan mudah dapat melakukan penelusuran data yang diinginkan hal ini akan mengakibatkan pada kecepatan atas informasi yang disajikan. Didalam suatu media penyimpanan (hard disk misalnya), kita dapat menempatkan lebih dari 1 (satu) basis data dan tidak semua bentuk penyimpanan data secara elektronik dikatakan basis data, karena kita bisa menyimpan dokumen berisi data dalam file teks (dengan program pengolahan kata), spread sheet, dan lainnya.
Yang ditonjolkan dalam basis data adalah pengaturan / pemilahan / pengelompokan/ pengorganisasian data yang akan disimpan sesuai dengan fungsi / jenisnya. Hal tersebut bisa berbentuk sejumlah file / table terpisah atau dalam bentuk pendefinisian kolom / field data dalam setiap file / table tersebut.
Hirarki Data
Hirarki data dalam dikelompokkan menjadi 3 (tiga) buah yaitu file, record dan elemen data
* Elemen Data / Field / Atribut adalah satuan data terkecil yang tidak dapat dipecah lagi menjadi unit lain yang bermakna. Pada data Mahasiswa, field / atribut datanyadapat berupa : nim, nama_m, tpt_lhr_m, tgl_lhr_m, alm_m dan dan atribut lainnya yang menyangkut mahasiswa tersebut. Istilah lain elemen data adalah medan / field, kolom, item, dan atribut. Istilah yang umum dipakai adalah field, atribut atau kolom.
* Rekaman / Record / Baris adalah gabungan sejumlah elemen data yang saling terkait. Contohnya adalah nim, nama_m, tpt_lhr_m, tgl_lhr_m, alm_m an atribut lainnya dari seorang Mahasiswa dapat dihimpun dalam sebuah record /baris.
* Berkas / File / Table adalah kumpulan record sejenis yang mempunyai panjang atribut/ field sama, namun berbeda isi datanya.
Dalam basis data relasional, berkas mewakili komponen yang disebut Table atau Relasi. Sedangkan pengertian Data value (nilai atau isi data) adalah data aktual atau informasi yang disimpan pada setiap field / atribut. Field nama_m menunjukkan tempat dimana informasi nama mahasiswa disimpan, sedangkan isi datanya adalah Mulyani, Ahmad Sofyan dan lain sebagainya.
Pada tabel mahasiswa misalkan jumlah mahasiswanya adalah 2000 untuk berbagai jurusan, maka jumlah recordnya adalah 2000 juga dan kita dapat melakukan manipulasi data pada tabel tersebut yaitu insert, update dan delete.
Sistem Basis Data
Sistem basis data dapat diartikan sebagai kumpulan file / table yang saling berhubungan (dalam sebuah basis data di sebuah sistem komputer), dan sekumpulan program (DBMS / Database Management System) yang memungkinkan beberapa user (pemakai), dan / atau program lain untuk mengakses dan memanipulasi file (table) tersebut. Komponen – komponen utama dari sebuah sistem basis data adalah sebagai berikut :
1). Perangkat keras (hardware)
2). Sistem operasi (operating system)
3). Basis data (database)
4). Sistem (aplikasi/perangkat lunak) pengelola basis data (DBMS)
5). Pemakai (user)
6). Aplikasi (perangkat lunak) lain (bersifat optional)
penyimpanan elektronik (hardisk), sedangkan database adalah terdiri dari beberapa file / table yang saling berelasi (berhubungan). Basis data tersebut dikelola oleh DBMS (database management system) dan database tersebut dapat dimanfaatkan oleh beberapa user (pemakai) yang dapat melakukan manipulasi pada database. Tidak semua user dapat melakukan manipulasi data didalam database, hal ini diatur sesuai dengan hak aksesnya
Perangkat Keras
Perangkat keras yang biasanya terdapat dalam sistem basis data adalah sebagai berikut:
1). Komputer (satu untuk yang stand-alone atau lebih dari satu untuk sistem jaringan).
2). Memori sekunder yang on-line (harddisk).
3). Memori sekunder yang off-line (tape) untuk keperluan backup data.
4). Media / perangkat komunikasi (untuk sistem jaringan).
Sistem Operasi
Merupakan program yang mengaktifkan / memfungsikan sistem komputer, mengendalikan seluruh sumber daya dalam komputer dan melakukan operasi – operasi dasar dalam komputer (operasi input/output), pengelolaan file, dan lain sebagainya.Program pengelola basis data (DBMS) akan aktif (running) jika sistem operasi yang dikehendakinya (sesuai) telah aktif. Contoh daripada sistem operasi pada sistem komputer adalah MS-DOS, MS Windows (3.11,95,98 dan lainnya) untuk yang stand alone dan MS Windows (2000 Server, UNIX, LINUX, Novel_Netware dan lain sebagainya) utuk yang jaringan.
Basis Data
Sebuah sistem basis data dapat memiliki beberapa basis data. Setiap basis data dapat memiliki sejumlah objek basis data (seperti file/table, store procedure, indeks, dan lainya). Disamping berisi / menyimpan data, setiap basis data juga mengandung / menyimpan definisi struktur (baik untuk basis data maupun objek- objeknya secara detail).
Sistem pengelola basis data (DBMS)
Pengelolaan basis data secara fisik tidak ditangani langsung oleh user (pemakai), tetapi ditangani oleh sebuah perangkat lunak (sistem) yang khusus / spesifik. Perangkat inilah disebut DBMS, yang akan menentukan bagaimana data diorganisasi, disimpan, diubah, dan diambil kembali. Perangkat tersebut juga menerapkan mekanisme pengamanan data (security), pemakaian data secara bersama (sharing data), pemaksaan keakuratan / konsistensi data, dan sebagainya. Perangakat lunak yang termasuk DBMS adalah MS-Access, Foxpro, Dbase-IV, Foxbase, Clipper, dan lainnya untuk kelas sederhana, dan Oracle, Informix, Sybase, MS-SQL Server, dan lainnya untuk kelas kompleks / berat.
Pemakai (Users)
Ada beberapa jenis / tipe pemakai pada sistem basis data, berdasarkan cara mereka berinteraksi pada basis data, diantaranya adalah:
1). Programmer Aplikasi
Adalah pemakai yang berinteraksi dengan basis data melalui DML (data manipulation language), yang disertakan dalam program yang ditulis dalam bahasa pemrograman induk (seperti pascal, cobol, clipper, foxpro, dan lainnya).
2). User Mahir (casual user)
Adalah pemakai yang berinteraksi dengan sistem tanpa menulis modul program. Mereka menyatakan query (untuk akses data), dengan bahasa query yang telah disediakan oleh suatu DBMS.
3). User Umum (End User)
Adalah pemakai yang berinteraksi dengan sistem basis data melalui pemanggilan satu program aplikasi permanen, yang telah ditulis / disediakan sebelumnya.
4). User Khusus (Specialized User)
Adalah pemakai yang menulis aplikasi basis data non konvensional untuk keperluan khusus, seperti untuk aplikasi AI, Sistem Pakar, Pengolahan Citra, dan lainnyal, yang bisa saja mengakses basis data dengan / tanpa DBMS. Untuk sebuah sistem basis data yang stand-alone, maka pada suatu saat hanya ada satu pemakai, sedangkan untuk jaringan pada suatu saat ada banyak pemakai yang dapat berhubungan (menggunakan) basis data yang sama. Pilihan untuk stand-alone atau jaringan (multiuser) tergantung pada (ditentukan oleh) kebutuhan pemakai, perangkat keras yang tersedia, sistem operasi yang digunakan, serta DBMS yang dipilih.
Aplikasi (perangkat lunak) lain
Aplikasi lain ini bersifat optional, ada tidaknya tergantung pada kebutuhan kita. DBMS yang kita gunakan lebih berperandalam pengorganisasian data dalam basis data, sementara bagi pemakai basis data (khususnya yang menjadi end user) dapat disediakan program khusus untuk melakukan pengisian, pengubahan dan pengambilan data.
Sistem Manajemen Basis Data (DBMS)
DBMS adalah koleksi terpadu dari program-program (sistem perangkat lunak) yang digunakan untuk mendefinisikan, menciptakan, mengakses dan merawat database (basis data). Tujuannya adalah menyediakan lingkungan yang mudah dan aman untuk penggunaan dan perawatan database. Contoh daripada DBMS adalah Ms-Access, MS Sql Server dan Oracle.
Model Database
Model Database
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)
b. Model Database Jaringan (Network Database Model)
c. Model Database Relasi (Relational Database Model)
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. Yang paling banyak dipakai saat ini adalah model database relasi, karena mampu mengakomodir berbagai permasalahan dalam system database. Berikut keterangan tentang model database ini.
Model Database Relasi (Relational Database Model)
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), tabeltabel yang ada di hubungkan (relationship) sedemikian rupa menggunakan field-field kunci (Key field) sehingga dapat meminimalkan duplikasi data.
Model database relasi ini dikemukakan
pertama kali oleh E.F. Codd, salah seorang pakar dalam bidang database. Sering juga model ini disebut Database relasi.
Tingkatan Data Dalam Database Relasi
Dalam suatu sistem database relasi, data yang tersimpan dalam DBMS mempunyai tingkatan-tingkatan, sebagai berikut :
a. 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.
b. 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.
c. 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 tertentuJenis Hubungan Antar Tabel
Jenis hubungan antar tabel dalam model database relasi, juga di definisikan dengan hubungan :
– Satu ke satu (One to One)
– Satu ke Banyak (One to Many)
– Banyak ke satu (Many to One)
– Banyak ke Banyak (Many to Many)
Untuk lebih jelasnya penggunaan hubungan ini, sering digunakan Diagram Entity Relationship (Diagram E-R) yang merupakan bagian dari Model Data Entity RelationshipModel Data Entity Relationship Model data entity relationship sering dijadikan acuan dalam merancang suatu sistem database. Pada Model Data Entity Relationship ini, data yang ada ditransformasikan dengan memanfaatkan sejumlah perangkat konseptual menjadi diagram data, yang sering disebut Diagram Entity Relationship (Diagram E-R). Ada dua komponen utama pembentuk model data ini, yaitu :
– Entity beserta attributenya.
– Relasi dan jenis hubungannya
Contoh :
Dalam dunia akademis terdiri dari entity mahasiswa, dosen, dan matakuliah. Setiap entity mempunyai atribut atau field. Attribute adalah ciri khan yang melekat pada suatu entity. Misalnya entity mahasiswa, ciri khas dari mahasiswa adalah mempunyai nama, tempat tanggal lahir, alamat dan lain sebagainya, begitu juga dengan dosen, mempunyai nama, alamat, dan lain sebagainya. Lalu keterkaitan antara entity mahasiswa dengan entity dosen, mahasiswa dengan matakuliah atau dosen dengan matakuliah, digambarkan dengan simbol-simbol sehingga lebih mudah dipahami. Penggambaran hubungan inilah yang disebut dengan diagram E-R.Diagram Entity Relationship
(Diagram E-R)
Diagram E-R digunakan untuk menggambarkan secara sistematis hubungan antar entity-entity yang ada dalam suatu sistem database menggunakan simbol-simbol sehingga lebih mudah dipahami. Simbol-simbol yang boleh digunakan adalah :
Persegi Panjang, berfungsi untuk menyatakan suatu entity.
Elips, berfungsi untuk menyatakan attribute, jika diberi garis bawah menandakan bahwa attribute tersebut merupakan attribute/field kunci.
Belah Ketupat, menyatakan jenis relasi.
Garis, penghubungan antara relasi dengan entity dan antara entity dengan attribute. Dalam hubungan antar entity, juga harus ditentukan derajat relasi antar entity. Derajat relasi menunjukkan jumlah maksimum record suatu entity ber-relasi dengan record pada entity yang lainnya. Misalnya pada contoh sebelumnya, entity mahasiswa dapat berelasi dengan lebih dari satu record yang ada pada entitas matakuliah sebaliknya satu record pada entity matakuliah hanya boleh ber-relasi dengan satu mahasiswa yang sama pada entity mahasiswa, begitu juga satu record pada entity matakuliah berhubungan paling banyak satu record juga pada entity dosen, dan seterusnya.Relasi Satu ke Satu (One to One)
Artinya satu record pada entity A ber-relasi paling banyak satu record juga pada entity B, begitu juga sebaliknya, satu record pada entity B, ber-relasi paling banyak satu record juga dengan entity A. Dalam diagram E-R, relasi ini disimbolkan dengan angka 1.
· Contoh : Dalam proses belajar mengajar secara privat misalnya, seorang (satu) tutor hanya mengajar satu siswa, begitu juga sebaliknya, satu siswa hanya diajar oleh satu tutor.Relasi Satu ke Banyak (One to Many)
Artinya satu record pada entity A ber-relasi dengan beberapa record pada entity B, tapi tidak sebaliknya, setiap record pada entity B ber-relasi paling banyak satu record dengan entity A. Dalam diagram E-R, relasi ini disimbolkan dengan angka 1 untuk menyatakan satu dan huruf M atau N untuk menyatakan banyak.
· Contoh : Dalam proses belajar mengajar di sekolah dasar misalnya, satu orang guru mengajar beberapa (banyak) murid, tetapi satu kelas (beberapa murid) hanya di ajar oleh satu guru.Relasi Banyak ke Satu (Many to One)
Ini adalah kebalikan dari relasi satu ke banyak, dimana setiap record pada entity A hanya dapat ber-relasi paling banyak 1 record pada entity B, tapi tidak sebaliknya, satu record pada entity B dapat ber-relasi dengan beberapa record pada entity A.. Dalam diagram E-R, relasi ini disimbolkan dengan angka 1 untuk menyatakan satu dan huruf M atau N untuk menyatakan banyak..
· Contoh : Dalam dunia akademik misalnya, beberapa (banyak) mahasiswa hanya mempunyai satu pilihan jurusan, sebaliknya satu jurusan dapat dipilih oleh beberapa (banyak) mahasiswaRelasi Banyak ke Banyak (Many to Many)
Artinya beberapa record pada entity A dapat ber-relasi dengan beberapa record juga pada entity B, begitu juga sebaliknya, beberapa record pada entity B dapat ber-relasi dengan beberapa record juga pada entity A.. Dalam diagram E-R, relasi ini disimbolkan dengan huruf M atau N untuk menyatakan banyak..
· Contoh : Dalam hubungan antara mahasiswa dengan dosen pada perguruan tinggi, yaitu seorang seorang dosen mengajar banyak mahasiswa, sebaliknya seorang mahasiswa dapat diajar oleh beberapa dosen, sehingga terjadi hubungan banyak ke banyak.Tahapan Membuat Diagram E-R.
- Mengidentifikasi dan menetapkan seluruh entity yang terlibat dalam sistem database tersebut.
- Menentukan attribute-attribute atau field dari masing-masing entity beserta kunci (key)-nya.
- Mengidentifkasi dan menetapkan seluruh himpunan relasi diantara himpunan-himpunan entity yang ada beserta kunci tamu (foreign key)- nya.
- Menentukan derajat relasi untuk setiap himpunan relasi.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 attributee 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. Berhatihatilah dalam menentukan derajat relasi ini, karena nantinya akan berhubungan dengan proses query terhadap data.Jenis-Jenis Kunci (Key)
- Candidat Key
- Primary Key
- Foreign Key
- Alternate KeyCandidate Key (Kunci Calon)
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.
Primary Key (Kunci Utama)
Merupakan candidate key yang telah dipilih untuk mengidentifikasi setiap record secara unik. Primary key harus merupakan field yang benar-benar unik dan tidak boleh ada nilai NULL. Misal : Perhatikan kembali entity dosen di atas, yaitu mempunyai dua Candidate Key, maka kita dapat mengambil field KodeDosen sebagai Primary Key, Karena lebih sederhana dalam jumlah digit dan unik. Boleh juga menggunakan NIP sebagai Primary Key-nya, hal ini tergantung kepada si perancang database itu sendiri.
Alternate Key (Kunci Alternatif)
Adalah candidate key yang tidak terpilih. Misal : dalam suatu entity terdapat dua field yang bisa dijadikan sebagai kunci. Sementara yang boleh dijadikan kunci hanya satu, maka anda harus memilih salah satu. Field yang anda pilih, disebut primary key, sedangkan field yang tidak dipilih disebut dengan alternate key.
Misal : Kembali ke kasus entity dosen diatas, jika kita pilih field KodeDosen sebagai Primary Key, maka otomatis field NIP menjadi Alternate Key-nya, begitu juga sebaliknya.
Foreign Key (kunci Tamu)
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.
Ilustrasi komponen table
Filed ( kolom)
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)
b. Model Database Jaringan (Network Database Model)
c. Model Database Relasi (Relational Database Model)
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. Yang paling banyak dipakai saat ini adalah model database relasi, karena mampu mengakomodir berbagai permasalahan dalam system database. Berikut keterangan tentang model database ini.
Model Database Relasi (Relational Database Model)
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), tabeltabel yang ada di hubungkan (relationship) sedemikian rupa menggunakan field-field kunci (Key field) sehingga dapat meminimalkan duplikasi data.
Model database relasi ini dikemukakan
pertama kali oleh E.F. Codd, salah seorang pakar dalam bidang database. Sering juga model ini disebut Database relasi.
Tingkatan Data Dalam Database Relasi
Dalam suatu sistem database relasi, data yang tersimpan dalam DBMS mempunyai tingkatan-tingkatan, sebagai berikut :
a. 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.
b. 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.
c. 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 tertentuJenis Hubungan Antar Tabel
Jenis hubungan antar tabel dalam model database relasi, juga di definisikan dengan hubungan :
– Satu ke satu (One to One)
– Satu ke Banyak (One to Many)
– Banyak ke satu (Many to One)
– Banyak ke Banyak (Many to Many)
Untuk lebih jelasnya penggunaan hubungan ini, sering digunakan Diagram Entity Relationship (Diagram E-R) yang merupakan bagian dari Model Data Entity RelationshipModel Data Entity Relationship Model data entity relationship sering dijadikan acuan dalam merancang suatu sistem database. Pada Model Data Entity Relationship ini, data yang ada ditransformasikan dengan memanfaatkan sejumlah perangkat konseptual menjadi diagram data, yang sering disebut Diagram Entity Relationship (Diagram E-R). Ada dua komponen utama pembentuk model data ini, yaitu :
– Entity beserta attributenya.
– Relasi dan jenis hubungannya
Contoh :
Dalam dunia akademis terdiri dari entity mahasiswa, dosen, dan matakuliah. Setiap entity mempunyai atribut atau field. Attribute adalah ciri khan yang melekat pada suatu entity. Misalnya entity mahasiswa, ciri khas dari mahasiswa adalah mempunyai nama, tempat tanggal lahir, alamat dan lain sebagainya, begitu juga dengan dosen, mempunyai nama, alamat, dan lain sebagainya. Lalu keterkaitan antara entity mahasiswa dengan entity dosen, mahasiswa dengan matakuliah atau dosen dengan matakuliah, digambarkan dengan simbol-simbol sehingga lebih mudah dipahami. Penggambaran hubungan inilah yang disebut dengan diagram E-R.Diagram Entity Relationship
(Diagram E-R)
Diagram E-R digunakan untuk menggambarkan secara sistematis hubungan antar entity-entity yang ada dalam suatu sistem database menggunakan simbol-simbol sehingga lebih mudah dipahami. Simbol-simbol yang boleh digunakan adalah :
Persegi Panjang, berfungsi untuk menyatakan suatu entity.
Elips, berfungsi untuk menyatakan attribute, jika diberi garis bawah menandakan bahwa attribute tersebut merupakan attribute/field kunci.
Belah Ketupat, menyatakan jenis relasi.
Garis, penghubungan antara relasi dengan entity dan antara entity dengan attribute. Dalam hubungan antar entity, juga harus ditentukan derajat relasi antar entity. Derajat relasi menunjukkan jumlah maksimum record suatu entity ber-relasi dengan record pada entity yang lainnya. Misalnya pada contoh sebelumnya, entity mahasiswa dapat berelasi dengan lebih dari satu record yang ada pada entitas matakuliah sebaliknya satu record pada entity matakuliah hanya boleh ber-relasi dengan satu mahasiswa yang sama pada entity mahasiswa, begitu juga satu record pada entity matakuliah berhubungan paling banyak satu record juga pada entity dosen, dan seterusnya.Relasi Satu ke Satu (One to One)
Artinya satu record pada entity A ber-relasi paling banyak satu record juga pada entity B, begitu juga sebaliknya, satu record pada entity B, ber-relasi paling banyak satu record juga dengan entity A. Dalam diagram E-R, relasi ini disimbolkan dengan angka 1.
· Contoh : Dalam proses belajar mengajar secara privat misalnya, seorang (satu) tutor hanya mengajar satu siswa, begitu juga sebaliknya, satu siswa hanya diajar oleh satu tutor.Relasi Satu ke Banyak (One to Many)
Artinya satu record pada entity A ber-relasi dengan beberapa record pada entity B, tapi tidak sebaliknya, setiap record pada entity B ber-relasi paling banyak satu record dengan entity A. Dalam diagram E-R, relasi ini disimbolkan dengan angka 1 untuk menyatakan satu dan huruf M atau N untuk menyatakan banyak.
· Contoh : Dalam proses belajar mengajar di sekolah dasar misalnya, satu orang guru mengajar beberapa (banyak) murid, tetapi satu kelas (beberapa murid) hanya di ajar oleh satu guru.Relasi Banyak ke Satu (Many to One)
Ini adalah kebalikan dari relasi satu ke banyak, dimana setiap record pada entity A hanya dapat ber-relasi paling banyak 1 record pada entity B, tapi tidak sebaliknya, satu record pada entity B dapat ber-relasi dengan beberapa record pada entity A.. Dalam diagram E-R, relasi ini disimbolkan dengan angka 1 untuk menyatakan satu dan huruf M atau N untuk menyatakan banyak..
· Contoh : Dalam dunia akademik misalnya, beberapa (banyak) mahasiswa hanya mempunyai satu pilihan jurusan, sebaliknya satu jurusan dapat dipilih oleh beberapa (banyak) mahasiswaRelasi Banyak ke Banyak (Many to Many)
Artinya beberapa record pada entity A dapat ber-relasi dengan beberapa record juga pada entity B, begitu juga sebaliknya, beberapa record pada entity B dapat ber-relasi dengan beberapa record juga pada entity A.. Dalam diagram E-R, relasi ini disimbolkan dengan huruf M atau N untuk menyatakan banyak..
· Contoh : Dalam hubungan antara mahasiswa dengan dosen pada perguruan tinggi, yaitu seorang seorang dosen mengajar banyak mahasiswa, sebaliknya seorang mahasiswa dapat diajar oleh beberapa dosen, sehingga terjadi hubungan banyak ke banyak.Tahapan Membuat Diagram E-R.
- Mengidentifikasi dan menetapkan seluruh entity yang terlibat dalam sistem database tersebut.
- Menentukan attribute-attribute atau field dari masing-masing entity beserta kunci (key)-nya.
- Mengidentifkasi dan menetapkan seluruh himpunan relasi diantara himpunan-himpunan entity yang ada beserta kunci tamu (foreign key)- nya.
- Menentukan derajat relasi untuk setiap himpunan relasi.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 attributee 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. Berhatihatilah dalam menentukan derajat relasi ini, karena nantinya akan berhubungan dengan proses query terhadap data.Jenis-Jenis Kunci (Key)
- Candidat Key
- Primary Key
- Foreign Key
- Alternate KeyCandidate Key (Kunci Calon)
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.
Primary Key (Kunci Utama)
Merupakan candidate key yang telah dipilih untuk mengidentifikasi setiap record secara unik. Primary key harus merupakan field yang benar-benar unik dan tidak boleh ada nilai NULL. Misal : Perhatikan kembali entity dosen di atas, yaitu mempunyai dua Candidate Key, maka kita dapat mengambil field KodeDosen sebagai Primary Key, Karena lebih sederhana dalam jumlah digit dan unik. Boleh juga menggunakan NIP sebagai Primary Key-nya, hal ini tergantung kepada si perancang database itu sendiri.
Alternate Key (Kunci Alternatif)
Adalah candidate key yang tidak terpilih. Misal : dalam suatu entity terdapat dua field yang bisa dijadikan sebagai kunci. Sementara yang boleh dijadikan kunci hanya satu, maka anda harus memilih salah satu. Field yang anda pilih, disebut primary key, sedangkan field yang tidak dipilih disebut dengan alternate key.
Misal : Kembali ke kasus entity dosen diatas, jika kita pilih field KodeDosen sebagai Primary Key, maka otomatis field NIP menjadi Alternate Key-nya, begitu juga sebaliknya.
Foreign Key (kunci Tamu)
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.
Ilustrasi komponen table
Filed ( kolom)
Langganan:
Postingan (Atom)