Database

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.

Bahasa basis data

Bahasa basis data terdiri atas

Data Definition Language (DDL), merujuk pada kumpulan perintah yang dapat digunakan untuk mendefinisikan objek – objek basis data, seperti membuat sebuah tabel basis data atau indeks primer atau sekunder.

Data Manipulation Language (DML), mengacu pada kumpulan perintah yang dapat digunakan untuk melakukan manipulasi data, seperti penyimpanan data ke suatu tabel, kemudian mengubahnya dan menghapusnya atau hanya sekedar menampilkannya kembali.

Objektif Basis Data

Secara lebih lengkap, pemanfaatan basis data dilakukan untuk memenuhi sejumlah tujuan (objektif) seperti berikut

a. Kecepatan dan kemudahan (Speed)

b. Efisiensi ruang penyimpanan (Space)

c. Keakuratan (Accuracy)

d. Ketersediaan (Avaibility)

e. Kelengkapan (Completeness)

f. Keamanan (Security)

g. Kebersamaan pemakaian (Sharability)

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

a. Memasukkan atau menambah record baru ke dalam database.

b. Mengeksekusi query database

c. Mengambil data dari database

d. Mengubah record pada database

e. Menghapus record pada database

Sistem manajemen basis data relasional

Sebuah sistem manajemen basisdata relasional atau dalam bahasa Inggrisnya dikenal sebagai relational database management system (RDBMS) adalah sebuah program komputer (atau secara lebih tipikal adalah seperangkat program komputer) yang didisain untuk mengatur/memanajemen sebuah basisdata sebagai sekumpulan data yang disimpan secara terstruktur, dan melakukan operasi-operasi atas data atas permintaan penggunanya. Contoh penggunaan DBMS ada banyak sekali dan dalam berbagai bidang kerja, misalnya akuntansi, manajemen sumber daya manusia, dan lain sebagainya. Meskipun pada awalnya DBMS hanya dimiliki oleh perusahaan-perusahaan berskala besar yang memiliki perangkat komputer yang sesuai dengan spesifikasi standar yang dibutuhkan (pada saat itu standar yang diminta dapat dikatakan sangat tinggi) untuk mendukung jumlah data yang besar, saat ini implementasinya sudah sangat banyak dan adaptatif dengan kebutuhan spesifikasi data yang rasional sehinggal dapat dimiliki dan diimplementasikan oleh segala kalangan sebagai bagian dari investasi perusahaan.

Sejarah atas istilah RDBMS

memperkenalkan istilah ini pada makalah seminarnya yang berjudul "A Relational Model of Data for Large Shared Data Banks". Salah satu definisi yang cukup dikenal secara luas atas sebuah sistem basisdata relasional adalah 12 hukum Codd. Namun demikian, pada awal-awal implementasinya banyak model relasional yang tidak mengikuti seluruh elemen-elemen yang terdapat dalam hukum-hukum Codd tersebut yang menjadikan terminologinya berkembang untuk mendeskripsikan sebuah tipikal sistem basisdata yang lebih luas. Dalam cakupan yang minimum sistem tersebut memenuhi kriteria berikut:
  • menyajikan data pada pengguna dalam bentuk relasional (ditampilkan dalam bentuk tabular, sebagai koleksi dari tabel dimana setiap tabel beriisi sekumpulan baris dan kolom)
  • menyediakan operator relasioanl untuk memanipulasi data dalam bentuk tabular

Sistem yang pertama kalinya yang secara relatif memenuhi implementasi atas sebuah model relasional adalah Pusat Studi Ilmiah IB, Inggris, di Peterlee; IS1 (1970-1972) dan implementasi lain yang mengikutinya PRTV (1973-1979). Sistem yang pertama kalinya dijual secara komersil sebagai RDBMS adalah Multics Relational Data Srore pada tahun 1978. Yang lainnya adalah Berkeley Ingres QUEL dan IBM BS12.

[sunting] Pemanfaatan saat ini

Ada beberapa ketidaksepahaman terhadap definisi atas "relasional" dari DBMS.

Definisi yang paling populer dari sebuah RDBMS seringkali dianggap kurang tepat; beberapa kalangan berargumentasi bahwa penyajian data sebagai kumpulan baris dan kolom sudah cukup memenuhi syarat untuk dikatakan sebagai sebuah RDBMS. Tipikalnya, sebuah sistem basisdata dikatakan memenuhi kriteria sebagai RDBMS apabila memenuhi hukum-hukum yang ditetapkan dalam 12 hukum Codd, namun pada kenyataannya justru kebanyakan sistem basisdata tidak mendukung sepenuhnya implementasi hukum-hukum Codd tersebut.

Kalangan lainnya beranggapan apabila sebuah sistem basisdata tidak mengimplementasikan keseluruhan hukum-hukum Codd tersebut, maka sistem tersebut tidak dapat disebut sebagai relasional. Pandangan seperti ini, yang banyak diterima oleh para teoritis dan kalangan-kalangan lainnya yang memegang teguh prinsip-prinsip Codd, tentunya akan mendiskualifikasikan banyak sistem basisdata yang ada saat ini "tidak murni relasional". Dalam kenyataannya, sistem basisdata yang menggunakan SQL (Structured Query Language) untuk mengakses dan memodifikasi data tidak bisa dikatakan sebagai RDBMS menurut definisi ini. Sementara itu, para pendukung atas sistem basisdata yang ada menyebutkan sebuah sistem basisdata yang menerapkan hanya beberapa dari hukum-hukum Codd tersebut disebut sebagai Sistem Manajemen Basisdata Semi-Relasional/Pseudo-Relational Database Management Systems (PRDBMS). Untuk sistem manajemen basis data yang sepenuhnya menerapkan hukum-hukum Codd tersebut selanjutnya disebut sebagai Sistem Manajemen Basisdata Murni-Relasional/Trully-Relational Database Management Systems (TRDBMS).

Saat ini, hampir seluruh RDBMS yang ada menerapkan SQL sebagai bahasa query namun juga menyediakan dan mengimplementasi beberapa alternatif lainnya. Alpora Dataphor adalah RDBMS yang tersedia secara komersil yang mengikuti secara penuh ke dua belas hukum-hukum Codd tersebut, dan kedua kelompok mengenalnya sebagai RDBMS.

[sunting] Variasi dinamis

Keluhan yang muncul dan dikenal secara umum terhadap keberadaan RDBMS adalah kenyataan bahwa implementasi yang ada saat ini dipandang sebagai terlalu "statis". Spekulasipun bermunculan terhadap kemungkinan untuk membuat sebuah sistem basisdata generasi baru yang menggunakan model "relasional secara dinamis" dengan kolom yang bisa dibuat secara dinamis, ukuran yang berkembang secara dinamis, didefinisikan secara dinamis. Setiap baris dapat diimplementasikan sebagai map (kamus ataupun larik asosiatif) dan kolom-kolom yang tidak dikenal secara sederhana disajikan sebagai field kosong. Beberapa kalangan menganggap hal ini menyalahi model relasioal murni, namun kalangan lain menyanggah bahwa sebuah penggunaan map hanyalah sebagai detil implementasi saja. Sehingga dalam pandangan ini, sebuah "kolom yang tidak ditemukan/tidak ada" secara sederhana hanyalah dipandang sebagai perihal interpretasi dan dianggap sebagai pilihan cara penyajian saja

A. OBJECT BASED DATA MODEL

Model data berbasis objek menggunakan konsep entitas, atribut dan hubungan antar entitas.

Entity relationship model
Model untuk menjelaskan hubungan antar data dalam basis data.
E-R MODEL berisi ketentuan / aturan khusus yang harus dipenuhi oleh isi database.

Simbol yangdigunakan adalah :
- BOX : Menunjukkan object dasar
- DEMAND : Menunjukkan relasi
- LINGKARAN : Menunjukkan atribut dari objek dasar
- LINE : Menunujukkan adanya relasi


B. RECORD BASED DATA MODEL

Model ini berdasarkan pada record untuk menjelaskan kepada user tentang hubungan logic antar data dalam basis data.

Entry Relationship adalah jaringan yang menggunakan susunan data yang disimpan dari sistem secara abstrak.

Komponen entity relationship
- Entitas yaitu suatu kumpulan object atau sesuatu yang dapat dibedakan atau dapat
didefinisikan secara unik.
- Relationship yaitu hubungan yang terjadi antara satu entitas atau lebih.
- Atribut yaitu kumpulan elemen data yang membentuk suatu entitass

Jenis-Jenis Mapping :
1. One to one
2. Many to one atau one to many
3. Many to many

Database terdistribusi yaitu kumpulan data yang digunakan yang saling terhubung secara logik.

Fully Connected Network yaitu salah satu topologi distribusi data, dimana masing-masing terminal atau node saling terhubung.

Fagmentasi data yaitu relasi dipartisikan ke dalam beberapa bagian, setiap bagian disimpan pada lokasi yang berbeda.

Aljabar relational adalah kumpulan operasi terhadap relasi dimana setiap operasi menggunakan satau atau lebih relasi untuk menghasilkan satu relasi yang baru.
Sasaran SQL adalah :
- Menciptakan basis data dan struktur relasi
- Melakukan manajemen data tingkat dasar
- Membentuk query sederhana dan kompleks
- Melakukan tugas-tugas dengan seminimal mungkin memakai struktur dan sintaks perintah
relatif mudah dipelajari
- Hapus portable

Jenis SQL :
1. Interactive SQL
2. Static SQL
3. Dynamic SQL

Subdivisi SQL terdiri dari:
1. DDL (Data Definition Language)
2. DML (Data Manipulation Language)
3. DCL (Data Control Language)

Subquery adalah subselect yang dapat digunakan diklausa WHERE dan HAVING dipernyataan select luar untuk menghasilkan tabel akhir.

Normalisasi adalah proses pengelompokkan atribute-atribute dari suatu relasi sehingga membentu WELL STRUCTURE RELATION.
Keuntungan dari normalisasi yaitu meminimalkan ukuran penyimpanan yang diperlukan untuk penyimpanan data.

WELL STRUCTURE RELATION adalah sebuah relasi yang jumlah kerangkapan datanya sedikit (minimum amount of redundancy).

Super Key yaitu himpunan dari satu atau lebih entitas yang digunakan untuk mengidentifikasikan secara umum sebuah entitas dalam entitas set.

Candidate Key yaitu satu atribute atau satu set minimal atribute yang mengidentifikasikan secara unik suatu kejadian yang spesifik dari entity.

Primary Key yaitu satu atribute atau satu set minimal atribute yang tidak hanya mengidentifikasikan secara unik suatu kejadian yang spesifik tapi juga dapat mewakili setiap kejadian dari suatu entity.

Alternate Key yaitu kunci kandidat yang tidak dipakai sebagai primary key

Foreign Key yaitu satu atribute (atau satu set atribute) yang melengkapi satu relationship (hubungan yang menunjukkan ke induknya).

Locking adalah salah satu mekanisme pengontrol konkurancy.

Locking berfungsi untuk menjaga record tersebut agar tidak dimodifikasi oleh transaksi lain.

Konsep dasar yaitu ketika sebuah transaksi memerlukan jaminan kalau record yang diinginkan tidak akan berubah secara mendadak.

Timestamping adalah salah satu alternatif mekanisme kontrol konkurensi yang dapat menghilangkan masalah deadlock.

Crass adalah suatu failure atau kegagalan dari suatu system.

Security adalah suatu proteksi data terhadap perusahaan data dan pemakaian oleh alat pemakai yang tidak mempunyai ijin.

Konsep View adalah cara yang diberikan pada seorang pemakai untuk mendapatkan model database yang sesuai dengan kebutuhan perorangan.



sistem basis data

  1. Sistem Manajemen Basis Data (Pendahuluan) Disampaikan Oleh : Fenty Eka M. Agustin, SE, MKom
  2. Referensi
    • Data Base Concept, 2nd edition, Henry F. Korth, McGraw-Hill,1991.
    • Database Management System – Designing and Building Business Applications, Gerald V. Post, McGraw-Hill, 1999
  3. Prinsip Dasar Sistem Database
    • DBMS terdiri dari sek elompok data yang saling berhubungan dan program-program untuk mengakses nya .
    • Tujuan utama DBMS adalah untuk menyediakan lingkungan yang nyaman dan efisien untuk mengambil d an menyimpan informasi basis data.
    • DBMS juga harus menjamin keamanan dari informasi yang disimpan, meskipun sistem terjadi tabrakan atau mengakses sistem yang tidak diotorisasi.
  4. Sistem File Data
    • Sebelum ditemukan konsep DBMS, penyimpanan data menggunakan file yang dikelola oleh suatu program.
    • Kelemahan sistem ini adalah :
      • Pengulangan data dan data yang tidak konsisten
      • Kesulitan dalam mengakses data
      • Akses data secara bersamaan dapat menghasilkan data yang tidak sesuai.
      • Masalah keamanan data
      • Masalah integritas data
  5. Abstraksi Data
    • Keunggulan DBMS adalah menyembunyikan kompleksitas dari struktur data.
    • Abstraksi Data terdiri dari tiga tingkatan:
      • Level Fisik
      • Level Konseptual
      • Level View
  6. VIEW 1 VIEW 2 VIEW n ... Conceptual Level Physical Level
  7. Model Data
    • Adalah sekumpulan alat untuk menggambarkan data, relasi data, semantik data dan konsistensi batasan ( constraints ) .
    • Macam-macam model data :
      • Model object-based logical
      • Model Record-based logical
      • Model Physical Data
    • Model object-based logical
    • Digunakan untuk menggambarkan data pada level konseptual dan view.
    • Model ini menyederhanakan fakta agar mudah dipahami dalam perancangannya
    • Terdiri dari beberapa model :
      • Model Entity-Relationship (ER Model)
      • Model Object-Oriented
      • Model Biner
      • Model semantik data
      • Model Infological
      • Model data fungsional
    • Model berbasis objek yang sering digunakan ialah E-R dan O-O.
  8. 1.1. Model E-R
    • Sebuah entity adalah sebuah objek yang dapat dibedakan dari objek yang lain dengan sekumpulan atribut tertentu.
    • Sebuah relasi menghubungkan beberapa entitas. Sebagai contoh relasi CustAcct menghubungkan sebuah account yang dimiliki oleh customer .
    name Streets city customer CustAcc number balance Account
  9. 1.2. Model O-O
    • Serupa dengan E-R model, model O-O terdiri dari sekumpulan objek. Objek memiliki nilai (seperti atribut) yang disimpan dalam instances variables.
    • Objek menggunakan methods untuk mengoperasikan nilai didalam instances variables
    • Objek yang memiliki tipe nilai dan method yang sama dikelompokkan dalam satu class.
    account Number balance Pay-interest Nama objek Instance Variables Nama method
    • Model Record-Based Logical
    • Model ini menyusun database dalam record-record yang tersusun dengan format tetap dari berbagai tipe data.
    • Tiap tipe record menentukan sejumlah fields atau atribut yang tetap, dan masing-masing field tersebut panjangnya tetap.
    • Model ini antara lain:
      • Model Relational
      • Model Network
      • Model Hirarkhis
  10. 2.1. Model Relasional
    • Menampilkan data dan relasinya dalam bentuk tabel yang masing-masing memiliki kolom dengan nama yang unik.
    647 Brooklyn SideHill Hodges 801 Brooklyn SideHill Hodges 647 Bronx North Shiver 556 Bronx North Shiver 900 Queens Maple Lowery number city street name 10533 801 105366 647 100000 556 55 900 balance number
  11. 2.2. Model Jaringan/Network
    • Data dalam model network digambarkan dengan sekumpulan records (seperti dalam Pascal) dan relasinya ditunjukkan dengan sebuah links yang dapat dianggap sebagai pointer.
    Lowery Maple Queens Shiver North Bronx Hodges SideHill Brooklyn 900 55 556 100000 647 105366 801 10533
  12. 2.3. Model Hierarkhis
    • Mirip dengan model jaringan dalam hal data dan relasinya.
    Lowery Maple Queens Shiver North Bronx Hodges SideHill Brooklyn 900 55 556 100000 647 105366 801 10533 647 105366
    • Model Data Fisik
    • Digunakan untuk menggambarkan data di level yang paling rendah.
    • Terdiri dari dua macam model yaitu :
      • Model unifying
      • Frame memory
    • Model Data fisik membahas aspek-aspek implementasi sistem basis data yang merupakan topik DBMS lanjutan
PENGELOLAAN DATABASE

Seorang spesialis informasi yang bertanggung jawab atas database disebut pengelola database atau DBA. Tugas DBA terbagi dalam 4 bidang utama, yaitu :

1. Perencanaan database, mencakup sama dengan para manajer untuk mendefinisikan skema perusahaan dengan para pemakai untuk mendefinisikan subskema mereka. Selain itu juga berperan penting dalam memilih DBMS

2. Penerapan database terdiri dari menciptakan database yang sesuai dengan DBMS yang dipilih, serta menetapkan dan menegakkan kebijakan dan prosedur penggunaan database.

3. Operasi database, mencakup menawarkan program pendidikan kepada pemakai database dan menyediakan bantuan saat diperlukan

4. Keamanan database meliputi pemantauan kegiatan database dengan menggunakan statistik yang disediakan DBMS. Selain itu juga memastikan bahwa database tetap aman.



PENGERTIAN NORMALISASI


Pengertian Normalisasi

Beberapa waktu lalu, beberapa rekan menanyakan dalam blog saya tentang langkah-langkah dalam membangun sebuah database. Sebelum memulai membuat sebuah database, kita perlu melakukan normalisasi terhadap database yang akan kita buat. Setiap programmer memiliki cara tersendiri dalam melakukan normalisasi data, dan berikut ini adalah cara saya dalam melakukan normalisasi, dan saya akan coba jelaskan dengan cara yang sederhana sehingga anda dapat memahami langkahnya dengan mudah.

Semoga petunjuk dari saya ini dapat berguna.

Definisi Normalisasi

Dalam sebuah basis data diperlukan proses normalisasi data. Normalisasi merupakan cara untuk mencari / mengelompokan seluruh sifat yang berkenaan dengan objek/entitas. Selain itu juga untuk menghilangkan redudansi dan untuk memberikan identifikasi unik setiap record (tabel).

Langkah-langkah Normalisasi

Dalam melakukan normalisasi ada beberapa langkah yang harus diperhatikan. Langkah – langkah tersebut yaitu:

1. Bentuk Tidak Normal

Data ditulis tabel tunggal dengan apa adanya sesuai waktu kedatangannya. Data – data ini dapat diperoleh dari laporan transaksi.

Bentuk Normal Ke-satu (1NF : First Normal Form)

Bentuk Normal Kesatu merupakan uraian tabel dasar. Untuk membuatnya dapat melengkapi data pada bentuk tidak Normal.

3. Bentuk Normal Ke-dua (2NF : Second Normal Form)

Untuk mengelompokan data menjadi bentuk normal kedua, ada syarat–syarat yang harus dipenuhi yaitu :

º Sudah dalam bentuk Normal Kesatu

º Menentukan Primary key dan mengelompokan field non kunci dengan Primary key berdasarkan ketergantungan fungsional.

4. Bentuk Normal Ke-tiga (3NF : Third Normal Form)

Untuk mengelompokan data menjadi bentuk normal ketiga, ada syarat – syarat yang harus dipenuhi yaitu :

º Sudah dalam bentuk Normal Kedua

º Tidak mempunyai field yang bengantung Transitif

º Bentuk relasi yang menentukan Foreign Key.



LINGKUNGAN DATABASE


CONCURANCY
Ada 3 masalah yang disebabkan oleh conkurancy:
1.Masalah kehilangan modifikasi (lost Update Problem)
masalah ini timbul jika dua transaksi mengakses item database yang sama yang mengakibatkan
nilai dari database tersebut menjadi tidak benar.
2.Masalah modifikasi sementara (uncomited update problem)
masalah ini timbul jika transaksi membaca suatu rcord yang sudah di modifikasi oleh transaksi lain tetapi belum terselesaikan (uncommited),terdapat kemungkinan kalau transaksi tersebut di batalkan (rool back).
3.Masalah Analisa yang tidak konsisten (problem of inconsistensi Analisa)
Masalah ini timbul jka sebuah transaksi membaca suatu nilai tetapi transaksi yang kedua mengupdate beberapa nilai tersebut selama eksekusi transaksi pertama.

Locking adalah salah satu mekanisme pengontrol conkurancy

Konsep dasar :

ketika sebuah transaksi memerlukan jaminan kalau record yang di inginkan tidak akan
berubah secara mendadak,maka diperlukan kunci untuk record tersebut.

Fungsi

locking berfungsi untuk menjaga record tersebut agar tidak dimodifikasi oleh transaksi lain.

TIMESTAMPING

Adalah salah satu alternatif mekanisme kontrol konkurensi yang dapat menghilangkan masalah
deadlock.

Dua masalah yang timbul pada Timestamping:
1.Suatu transaksi memerintahkan untuk membaca sebuah item yang sudah di update oleh transaksi yang belakangan.
2.Suatu transaksi memerintahkan untuk menulis sebuah item yang nilainya sudah di baca atau d
tulis oleh transaksi yang belakangan.