Jumat, 18 Januari 2013

Jurnal Basis Data



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.


      A.    Pengertian Database

  1. Database adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik untuk memperoleh informasi dari basis data tersebut.
  2. Database adalah representasi kumpulan fakta yang saling berhubungan disimpan secara bersama, untuk memenuhi berbagai kebutuhan.
  3. Database merupakan sekumpulan informasi yang saling berkaitan pada suatu subjek tertentu untuk tujuan tertentu pula.
  4. Database adalah susunan record data operasional lengkap dari suatu organisasi atau perusahaan, yang diorganisir dan disimpan secara terintegrasi dengan menggunakan metode tertentu sehingga mampu memenuhi informasi yang optimal yang dibutuhkan olehpara pengguna.
      B.     Konsep Dasar Database

      Konsep dasar database adalah kumpulan dari catatan, atau potongan dari pengetahuan. Sebuah database memiliki penjelasan terstruktur dari jenis fakta yang tersimpan di dalamnya: penjelasan ini disebut skema. Ada banyak cara untuk mengorganisasi skema, atau memodelkan struktur database: ini dikenal sebagai database model atau model data. Model yang umum digunakan sekarang adalah model relasional, yang menurut istilah yaitu mewakili semua informasi dalam bentuk 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 dengan menggunakan nilai yang sama antar tabel.

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;

       1)  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.


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 :
  1. One to one (1:1)
  2. One to many/many to one (1: M / M:1)
  3. Many to many (M : M)

C. Many to Many Relationship
Hubungan file pertama dan file kedua adalah banyak berbanding banyak.




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.