KONSEP DASAR BASIS DATA
A. PENDAHULUAN
Pemrosesan basis data sebagai perangkat andalan
sangat diperlukan oleh berbagai institusi dan perusahaan. Dalam pengembangan
sstem informasi diperlukan basis data sebagai media penyimpanan data. Kehadiran
basis data dapat meningkatkan Daya saing perusahaan tersebut. Basis data dapat
mempercepat upaya pelayanan kepada pelanggan, menghasilkan informasi dengan
cepat dan tepat sehingga membantu pengambilan keputusan untuk segera memutuskan
suatu masalah berdasarkan informasi yang ada.
Banyak aplikasi yang dibuat dengan berlandaskan
pada basis data antara lain: semua transaksi perbankan, aplikasi pemesanan dan
penjadwalan penerbangan, proses regristasi dan pencatatan data mahasiswa pada
perguruan tinggi, aplikasi pemrosesan penjualan, pembelian dan pencatatan data
barang pada perusahaan dagang, pencatatan data pegawai beerta akrifitasnya
termasuk operasi penggajian pada suatu perusahaan, dan sebagainya.
Beberapa informasi pada perusahaan retail seperti
jumlah penjualan, mencari jumlah stok penjualan, mencari jumlah stok yang
tersedia, barang apa yang paling lakudijual pada bulan ini, dan berapa laba
bersih perusahaan dapat diketahui dengan mudah dengan basis data. Pada
perpustakaan, adanya aplikasi pencarian data buku berdasarkan judul, pengarang
atau kriteria lain dapat mudah dilakukan dengan basis data. Pencarian data peminjam
yang terlambat mengembalikan juga mudah dilakukan sehingga bisa dibuat aplikasi
pembuatan surat berdasarkan informasi yang tersedia.
Dengan memanfaatkan teknologi jaringan, kemampuan
basis data dapat dapat dioptimalkan. Misalnya transaksi antar cabangpada sebuah
perbankan secara online. Begitu banyak yang dapat diperoleh dengan pemanfaatan
basis data. Basis data dapat meningkatkan daya guna perangkat computer yang
mungkin tadinya hanya untuk keperluan game atau pengetikan dengan aplikasi
office.
B. DEFINISI BASIS DATA
Basis
data adalah kumpulan data yang saling berelasi. Data sendiri merupakan fakta mengenai obyek,
orang, dan lain-lain. Data dinyatakan dengan nilai (angka,deretan karakter,
atau symbol). Basis data dapat didefinisikn dalam berbagai sudut pandang
seperti berikut:
- Himpunan kelompok data yang saling
berhubungan yang diorganisasikan sedemikian rupa sehingga kelak dapat
dimanfaatkan dengan cepat dan mudah.
- Kumpulan data yang saling berhubungan
yang disimpan secara bersama sedemikian rupa tanpa pengulangan
(redundancy) yang tidak perlu, untuk memenuhi kebutuhan.
- Kumpulan file/table/arsip yang saling
berhubungan yang disimpan dalam media penyimpanan elektronik.
C. TUJUAN BASIS DATA
Basis data bertujuan untuk mengatur
data sehingga diperoleh kemudahan, ketepatan, dan kecepatan dalam pengambilan
kembali. Untuk mencapai tujuan, syarat sebuah basis data yang baik adalah
sebagai berikut;
- Tujuan adanya redundansi dan
inkonsistensi data
Redudansi terjadi jika suatu informasi
disimpan di beberapa tempat. Misalnya, ada data mahasiswa yang memuat NIM,
nama, alamat, dan atribut lainnya, sementara kita punya data lain tentang data
KHS mahasiswa yang isinya yang terdapat NIM, nama, mata kuliah, dan nilai.
2) Kesulitan Pengaksesan Data
Basis data memiliki fasilitas untuk
melakuakan pencarian informasi dengan menggunakan Query taupun dari tool untik
melihat tabelnya. Dengan fasilitas ini. Kita bias secara langsung melihat data
dari software DBMS-nya. Selain itu, baiss data bias dihubungkan dengan program
aplikasi sehingga memudahkan pengguna dalam mengakses informasi. Misalnya
program aplikasi untuk kasir yang terhubung dengan basis data . pengguna cukup
mengguna fasilitas pencarian ataupun laporan. Yang tersedia pada program
aplikasi untuk mendapatkan informasi stok, laporan penjualan, dan lain-lain. Dalam
basis data, informasi yang diperolah dari kumpulan data bisa berupa keseluruhan
data, sebagai data, data denga filter tertentu, data yang terurut, ataupun data
summary.
Sebagai contoh sederhana ketika kita ingin
mencatat data alamat dan telepon dari kolega kita. Sebagai orang akan
menggunakan buku alamat. Metode pencatat dilakukan dilakukan dengan menuliskan
data setelah catatan terakhir. Ketika kita menginginkan informasi alamat
seseorang kita akan mencari karena informasi yang tersaji tidak terurut. Ada
juga orang mencatat dengan mengelompokan nama berdasarkan abjad. Hal ini akan
lebih mempermudah pencarian karena kita tidak perlu membaca keseluruhan data, tetapi
cukup dalam satu kelompok saja. Tapi masalah baru muncul ketika jumlah data
untuk sekelompokan data abjad teretentu telalu banyak sedangkan kelompok abjad
yang lain masih terlalu sedikit. Dalam metode ini, ada banyak ruang tidak
terpakai jika memberikan ruang yang sama untuk setiap kelompok. Dalam hal
pencarian, kesulitan akan kita temui ketika informasi yang kita ingin cari
dengan kata kunci sebagagian namanya. Misalnya kita akan mencari alamat Anto,
sementara yang tercatat dalam buku catatan adalah Mardianto. Tentu saja kita
tidak akan dapat menemukannya dalam kelompok data dengan huruf depan A. selain
itu, tidak selamanya kata kunci yang diketahui adalah dari nama, tetapi bisa
saja yang diketahui adalah nomer teleponnya, sedangkan yang ingin kita cari
adalah alamat dan namanya. Hal ini merupakan masalah baru dari pencatatan data
dengan buku. Basis data bisa memberikan solusi terhadap
permasalahan-permasalahan tersebut diatas.
3)
Multiple User
Basis data memungkinkan pengguna data
bersama-sama oleh banyak pengguna pada saat yang bersamaan atau pada saat yang
berbeda. Dengan meletakkan basis data pada bagian server yang bisa diakses
kesemua pengguna dari banyak klient, kita sudah menyediakan akses kesemua
pengguna dari computer klient ke sumber informasi yaitu basis data. Tentu saja
pengaksesan oleh pengguna-pengguna ini disesuaikan dengan hak aksesnya.
Misalnya sebuah perguruan tinggi memiliki data tentang mahasiswa, pembayaran,
dan lain-lain yang diletakan dalam sebuah basis data. Bagian Akademi akan bisa
mengakses data-data akademi mahasiswa, Bagian Keuangan akan diijinkan mengakses
data pembayaran mahasiswa, sementara mahasiswa hanya bisa melihat status akademi/keuangan
yang berhubungan dengan dirinya saja. Hal ini sangat dimungkinkan dengan
penyimpanan data dalam basis data.
D.
MANFAAT/KELEBIHAN BASIS DATA
Banyak
memanfaat yang dapat kira peroleh dengan menggunakan basis data. Manfaat/kelebihan
basis data diantaranya adalah:
1) Kecepatan dan kemudahan (speed)
Dengan menggunakan basis data pengambilan
informasi dapat dilakukan dengan cepat dan mudah. Basis data memiliki kemampuan
dalam mengelompokan, mengurutkan bahkan perhitungan dengan metematika. Dengan perancangan
yang benar, maka penyajian informasi akan dapat dilakukan dengan cepat dan
mudah.
2) Kebersamaan pemakai
Sebuah basis data dapat digunakan oleh
banyak user san banyak aplikasi. Untuk data-data yang diperlukan oleh banyak
orang/bagian. Tidak perlu dilakukan pencatatan dimasing-masing bagian, tetapi
cukup dengan satu basis data untuk dipakai bersama. Misalnya data mahasiswa
dalam suatu perguruan tinggi, dibutuhkan oleh banyak bagian, diantaranya:
bagian akademik, bagian keuangan, bagian kemahasiswaan, dan perpustakaan. Tidak
harus semua bagian ini memiliki catatan dan semua bagian bisa mengakses data
tersebut sesuai dengan keperluannya.
3) Pemusatan control data
karena cukup dengan satu basis data unutk
banyak keperluan, pengontrolan terhadap data juga cukup dilakuan di satu tempat
saja. Jika ada perubahan data alamat mahasiswa misalnya, maka tidak perlu kita
meng-update semua data dimasing-masing bagian tetapi cukup hanya disatu basis
data.
4) Efesiensi ruang penyimpanan (space)
Dengan pemakain bersama, kita tidak perlu
menyediakan tempat penyimpanan diberbagai tempat, tetapi cukup satu saja
sehingga ini akan menghemat ruang penyimpanan data yang dimilikioleh sebuah
organisasi. Dengan teknik perancangan basis data yang benar, kita akan
menyederhanakan penyimpanan sehingga tidak semua data harus disimpan.
5) Keakuratan (Accuracy)
Penerapan secara ketat aturan tipe data,
domain data, keunikan data, hubungan antara data, dan lain-lain, dapat menekan
keakuratan dalam pemasukan/penyimpanan data.
6)
Ketersediaan (availability)
Dengan basis data kita dapat mem-backup data, memilah-milah data
mana yang masih diperlukan dan data mana yang perlu kita simpan ke tempat lain.
Hal ini mengingat pertumbuhan transaksi suatu organisasi dari waktu ke waktu membutuhkan
media penyimpanan yang semakin besar.
7) Keamanan (Security)
Kebanyakan DBMS dilengkapi dengan
fasilitas manajemen pengguna diberikan hak akses yang berbeda-beda sesuai
dengan pengguna dan posisinya. Basis data bisa diberikan passwordnya untuk
membatasi orang yang mengaksesnya.
8) Kemudahan dalam pembuatan program aplikasi
baru
Pengguna basis data merupakan bagian dari perkembangan
teknologi. Dengan adanya basis data pembuatan aplikasi bisa memanfaatkan
kemampuan dari DBMS, sehingga pembuatan aplikasi tidak perlu mengurusi
penyimpanan data, tetapi cukup mengatur interface untuk pengguna.
9) Pemakain secara langsung
Basis data memiliki fasilitas untuk
melihat datanya secara langsung dengan tool yang disediakan oleh DBMS. Untuk
melihat data, langsung ke table ataupun menggunakan query. Biasanya yang
menggunakan fasilitas ini adalah user yang sudah ahli, atau database administrator.
10) Kebebasan data (Data Independence)
Jika sebuah program telah selesai dibuat,
dan ternyata ada perubahan isi/struktur data. Maka dengan basis data, perubahan
ini hanya perlu dilakukan pada level DBMS tanpa harus membongkar kembali
program aplikasinya.
11) User view
Basis data penyediaan pandangan yang
berbeda-beda untuk tiap-tiap pengguna. Misalnya kita memiliki data-data dari
perusahaan yang bergerak dibidang retail. Data yang ada berupa data barang,
penjualan, dan pembelian. Ada beberapa jenis pengguna yang memerlukan informasi
terkait dengan data perusahaan tresebut. Mereka adalah pelanggan, kasir, bagian
gudang, bagian akutansi dan manajer. Tidak semua data boleh diakses oleh semua
pengguna. Misalnya kasir dia hanya boleh berhak melihat informasi nama barang
dan harga jualnya. Sementara itu dia berhak untuk memasukan data penjualan .
berbeda dengan pelanggan yang hanya melihat data keberadaan barang dan harga
jual tetapi tidak berhak memasukan atau merubah data. Sementara itu bagian
akutansi berhak melihat keuntungan dari tiap-tiap barang untuk menganalisa data
akutansinya.Basis data mampu memberikan layanan organisasi seperti ini.
Relationship
A. Pengertian Relationship
Relationship Adalah hubungan antara suatu himpunan
entitas dengan himpunan entitas lainnya. Simbol yang digunakan adalah bentuk
belah ketupat, diamod atau rectangle.
B. Jenis Reliationship :
- One to one (1:1)
- One to many/many to one (1: M / M:1)
- Many to many (M : M)
C. Many to Many Relationship
Hubungan file
pertama dan file kedua adalah banyak berbanding banyak.
Contoh :
• Dalam
universitas seorang mahasiswa dapat mengambil banyak matakuliah
• "Satu
mahasiswa mengambil banyak matakuliah dan satu matakuliah diambil banyak
mahasiswa."
Contoh pemetaan
Hubungan Many to Many:
|
|
D. Many-to-Many Relationship dengan Entity Framework
Salah satu
kelebihan Entity Framework dibandingkan LINQ to SQL adalah kemampuannya
menangani many-to-many relationship dari entity dalam database dan
meng-generate model objek yang benar. Dalam hal ini Entity Framework boleh
dibilang lebih ORM dibandingkan dengan LINQ to SQL.
Sebagaimana
kita ketahui bersama, dalam database relasional seperti SQL Server 2005,
many-to-many relationship ditangani dengan memperkenalkan Tabel mapping antara
dua entity yang berhubungan. Sebagai contoh, kita bisa membuka isi database
Northwind di SQL Server 2005 dan melihat many-to-many relationship antara Tabel Employees
dan Territories .
LINQ 2 SQL
tidak bisa mengenali bahwa relasi antara Employees dan
Territories adalah
many-to-many. Sehingga model objek yang dihasilkan oleh generator LINQ 2 SQL
persis copy dari model datanya.
Database
relasional menghadirkan Tabel mapping untuk menjembatani many-to-many
relationship ini karena keterbatasan dari Tabel yang tidak bisa menyimpan tipe
data komposit. Sebaliknya model objek tidak memiliki keterbatasan ini. Dalam
skema antara Employees
dan Territories
di atas, model objek yang benar akan menempatkan satu entity sebagai atribut
komposit dari yang lainnya. Jadi, model objek yang benar tidak akan
meng-generate class EmployeeTerritory seperti yang di-generate oleh LINQ 2 SQL.
Hal inilah
salah satu faktor yang menyebabkan beberapa orang menganggap LINQ 2 SQL
bukanlah ORM. Ia lebih mirip ke typed Dataset dengan tambahan kemampuan berupa
language integrated query. Dengan tambahan kemampuannya itu setidaknya ia lebih
baik dari typed Dataset.
Entity
Framework hadir membenahi kekurangan LINQ to SQL tersebut. Many-to-many
relationship antara dua Tabel
Employees dan
Territories dimodelkan
dengan benar menurut kaidah OO untuk menggambarkan relasi antara dua objek.
Database
relasional menghadirkan Tabel mapping untuk menjembatani many-to-many
relationship ini karena keterbatasan dari Tabel yang tidak bisa menyimpan tipe
data komposit. Sebaliknya model objek tidak memiliki keterbatasan ini. Dalam
skema antara Employees
dan Territories
di atas, model objek yang benar akan menempatkan satu entity sebagai atribut
komposit dari yang lainnya. Jadi, model objek yang benar tidak akan
meng-generate class EmployeeTerritory seperti yang di-generate oleh LINQ 2 SQL.
Hal inilah
salah satu faktor yang menyebabkan beberapa orang menganggap LINQ 2 SQL
bukanlah ORM. Ia lebih mirip ke typed Dataset dengan tambahan kemampuan berupa
language integrated query. Dengan tambahan kemampuannya itu setidaknya ia lebih
baik dari typed Dataset.
Entity
Framework hadir membenahi kekurangan LINQ to SQL tersebut. Many-to-many
relationship antara dua Tabel
Employees dan
Territories dimodelkan
dengan benar menurut kaidah OO untuk menggambarkan relasi antara dua objek.
Jadi, Entity
Framework selangkah lebih baik dibandingkan LINQ to SQL dalam hal mendeteksi
many-to-many relationship dan meng-generate model objek yang benar.
Tidak ada komentar:
Posting Komentar