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