Selasa, 09 November 2010

Konsep Database

        Data
representasi fakta dunia nyata yang mewakili suatu obyek/kejadian yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, atau kombinasinya
·         Informasi
            Hasil pengolahan data dalam suatu bentuk yang lebih berguna dan lebih berarti bagi penerimanya yang menggambarkan suatu kejadian yang nyata yang digunakan dalam pengambilan keputusan.
·         Sistem Informasi
            Suatu sistem dalam suatu organisasi yang merupakan kombinasi dari orang-orang, fasilitas, teknologi, media, prosedur-prosedur dan pengendaliannya untuk menyediakan suatu dasar informasi dalam pengambilan keputusan.
            Komponen sistem informasi
            Hardware, software, personil, data, prosedur
·         Basis Data
            Kumpulan dari item data yang saling berhubungan satu dengan lainnya yang diorganisasikan berdasar sebuah skema atau struktur tertentu, tersimpan di hardware komputer dan dengan software digunakan untuk melakukan manipulasi  data untuk tujuan tertentu
·         Mengapa perlu basis data
Salah satu komponen penting dalam sistem informasi, karena merupakan dasar dalam menyedikan informasi.Menentukan kualitas informasi : cepat, akurat, tepat pada waktunya dan relevan.Informasi dikatakan bernilai bila manfaatnya lebih efektif dibandingkan dengan biaya mendapatkannya. Mengurangi duplikasi data (data redundancy).Hubungan data dapat ditingkatkan (data relatebility).Mengurangi pemborosan tempat penyimpanan.Keamanan.
·         Bidang Pemakai
            Kepegawaian, Pergudangan, Akuntansi, Reservasi, Layanan Pelanggan, dll
·         Organisasi/Perusahaan
            Perbankan, Asuransi, Rumah Sakit, Produsen barang, Industri manufaktur, Pendidikan, Telekomunikasi, dll
·         Sistem Basis Data
Sekumpulan program yang memungkinkan pengguna basis data untuk membuat & memelihara suatu basis data disebut Database Management System (DBMS).
Definisi :
Sistem software yang multiguna, yang menyediakan fasilitas untuk mendefinisikan, membangun dan memanipulasi basis data untuk aplikasi yang beraneka ragam.
Mendefinisikan
            Melibatkan spesifikasi : tipe data, struktur, Kendala (constraint) dari data yang akan disimpan
Membangun
            Berkaitan dengan proses penyimpanan data itu sendiri pada suatu media penyimpan yang dikontrol DBMS
Memanipulasi
            Termasuk di dalamnya fungsi-fungsi sebagai “query” terhadap basis data, misal : retrieve, update, generate report
Orang yang Berperan Langsung dalam Basis Data:
·         Administrator Basis Data
·         Desainer Basis Data
·         End User
o   Casual End User(User Mahir)
o   Naive/Prametric End User (User Umum)
o   Ophisticated End User (User Khusus)
o   System Analyst dan Aplication  Programmer
·         Kapan DBMS tidak diperlukan
Investasi yang tinggi dalam pengadaan hardware, software dan pelatihan
Basis data dan aplikasi sederhana, terdefinisikan dengan baik dan diharapkan tidak berubah.Tidak diperlukan multiple-access terhadap data .Adanya kebutuhan-kebutuhan nyata dr program yg tidak akan terpenuhi akibat dari overhead dr DBMS
Bahasa Basis Data
DBMS merupakan perantara antara user dengan basis data yang tersimpan dalam disk. Cara berkomunikasi keduanya diatur dalam suatu bahasa khusus yang ditetapkan oleh perusahaan pembuat DBMS. Bahasa itu disebut Bahasa Basis Data. Contoh; SQL, dBase, QUEL.
 Data Definition Language (DDL)
 Data Manipulation Language (DML)
Prosedural

1.
DBMS dan Aplikasi Basis Data terpisah
Biasanya digunakan pada system DBMS yang besar dan digunakan untuk multi user. Pada system DBMS ini mempunyai banyak feature/ sarana yang bisa digunakan untuk user. Mis: menyediakan sarana untuk perancangan basis data.
Contoh : MS-SQL Server, Oracle, Sybase, Informix, dsb.
2. DBMS dan Aplikasi Basis Data menyatu
Biasanya digunakan pada system basis data untuk perorangan. Feature/ Sarana tidak begitu banyak dibandingkan pada system dimana DBMS dan Aplikasi Basis Data terpisah.
  Aplikasi BD menjadi subordinate DBMS
    Contoh : dBase III+, Foxbase, Ms Access
  DBMS menjadi subordinate Aplikasi BD
    Contoh : Clipper, Delphi
Klasifikasi DBMS
Model Data yang disupport
            Terdiri dari Model Data Relasional, Hirarki, Jaringan, Object Oriented
Jumlah user yang bisa ditangani oleh DBMS
            User tunggal dan Multi User
Jumlah sites (Lokasi) :
            centralized, distributed, client-server
Biaya/harga DBMS
            Karakter
            Merupakan bagian data yang terkecil, dapat berupa karakter numerik, huruf ataupun karakter-karakter khusus yang membentuk suatu item data.
Field
mereprepentasikan suatu atribut dari record yang menunjukkan suatu item data, misalnya nama, alamat, dsb.
            field name
  field representation : tipe field, lebar field, field value
            Record
            Kumpulan dari field membentuk suatu record. Record menggambarkan suatu unit data individu tertentu
            File
            File terdiri dari record-record yang menggambarkan satu kesatuan data yang sejenis. Misalnya file mata kuliah berisi data tentang semua mata kuliah yang ada.
            Database
            Kumpulan dari file / tabel membentuk suatu database
Level fisik (Internal/Physical Level)
Menjelaskan struktur penyimpanan fisik dari basis data. Model yang digunakan adalah model data fisik yaitu (berisi struktur penyimpanan atau bahkan notasi bit-bit ( 0 dan 1).
Level Konseptual (Conseptual Level)
Menggambarkan data apa yang sebenarnya disimpan dalam basis data dan hubungannya dengan data lain. Model yang digunakan adalah Model data tingkat tinggi ( bisa langsung dipahami manusia)
Level Penampakan (External/View Level)
Menjelaskan sebagian basis data yang menjadi “interest” dari sekelompok user tertentu. Model yang digunakan adalah Model data tingkat tinggi ( bisa langsung dipahami manusia)

Referensi
“Fundamentals of Database System”, Ramez Elmashri dan Shamkant Navathe, The Benjamin/ Cummings publishing Co.
“Basis Data”, Fatansyah, Informatika Bandung.
“Penuntun Praktis Belajar Database menggunakan Microsoft Access”, Abdul Kadir, Andi Yogyakarta.
“Pengantar Database”, faried Irmansyah, IlmuKomputer.com


Pengantar Basis Data

        Basis data menyediakan fasilitas atau memudahkan dalam memproduksi informasi yang digunakan oleh pemakai untuk mendukung pengambilan keputusan. Hal inilah yang menjadikan alasan dari penggunaan tehnologi basis data pada saat sekarang (dunia bisnis).  Berikut ini contoh penggunaan Aplikasi database dalam dunia bisnis :
*      Bank : Pengelolaan data nasabah, akunting, semua transaksi perbankan
*      Bandara: Pengelolaan data reservasi, penjadualan
*      Universitas:  Pengelolaan pendaftaran, alumni
*      Penjualan: Pengelolaan data customer, produk, penjualan
*      Pabrik:  Pengelolaan data produksi, persediaan barang, pemesanan, agen
*      Kepegawaian:  Pengelolaan data karyawan, gaji, pajak
*      Telekomunikasi : Pengelolaan data tagihan, jumlah pulsa

Sistem Pemrosesan File












Can: File 
Nasabah







Can: File
Rekening











File Nasabah
     Nasabah (nonasabah, nama, alamat)

File Rekening
     Rekening (nonasabah, norek, nama, alamat, saldo)

Gambar 1.  Sistem pemrosesan file untuk suatu Universitas

Sebelumnya, sistem yang digunakan untuk mengatasi semua permasalahan bisnis,  menggunakan pengelolaan data secara tradisional dengan cara menyimpan record-record pada file-file yang terpisah, yang disebut  juga sistem pemrosesan file. Dimana masing-masing file diperuntukkan hanya untuk satu program aplikasi saja. Perhatikan gambar 1 mengenai suatu universitas yang mempunyai dua sistem yakni sistem yang memproses data mahasiswa dan sistem yang mengelola data mata kuliah.

Kelemahannya dari sistem pemrosesan file ini antara lain :
*      Timbulnya data rangkap (redundancy data ) dan Ketidakkonsistensi data (Inconsistency data)
Karena file-file dan program aplikasi disusun oleh programmer yang berbeda, sejumlah informasi mungkin memiliki dupliaksi dalam beberapa file. Sebagai contoh nama mata kuliah dan sks dari mahasiswa dapat muncul pada suatu file memiliki record-record mahasiswa dan juga pada suatu file yang terdiri dari record-record mata kuliah. Kerangkapan data seperti ini dapat menyebabkan pemborosan tempat penyimpanan dan biaya akases yang bertambah. Disamping itu dapat terjadi inkonsistensi data. Misalnya, apabila terjadi perubahan jumlah sks mata kuliah, sedangkan perubahan hanya diperbaiki pada file mata kuliah dan tidak diperbaiki pada file mahasiswa. Hal ini dapat mengakibatkan kesalahan dalam laporan nilai mahasiswa.
*      Kesukaran dalam Mengakses Data
Munculnya permintaan-permintaan baru yang tidak diantisipasikan sewaktu membuat program aplikasi, sehingga tidak memungkinkan untuk pengambilan data.
*      Data terisolir (Isolation Data )
Karena data tersebar dalam berbagai file, dan file-file mungkin dalam format –format yang berbeda, akan sulit menuliskan program aplikasi baru untuk mengambil data yang sesuai.
*      Masalah Pengamanan ( Security Problem )
Tidak semua pemakai diperbolehkan mengakses seluruh data. Bagian Mahasiswa hanya boleh mengakses file mahasiswa. Bagian Mata kuliah hanya boleh mengakses file mata kuliah, tidak boleh mengakses file mahasiswa. Tetapi sejak program-program aplikasi ditambahkan secara ad-hoc maka sulit melaksanakan pengamanan seperti yang diharapkan.


*      Data Dependence
Apabila terjadi perubahan atau kesalahan pada program aplikasi maka pemakai tidak dapat mengakses data. 

Sistem Database
Seiring dengan berjalannya waktu lambat laun sistem pemrosesan file mulai ditinggalkan karena masih bersifat manual, yang kemudian dikembangkanlah sistem pemrosesan dengan pendekatan database.
Text Box: Program Aplikasi  Untuk Memasukkan Data Nasabah
Text Box: Customer  ServiceText Box: DBMSCan: Database
Bank
Text Box: Program Aplikasi Untuk Mendebet / Mengkredit rekening
Text Box:       Teller
Nasabah   ( nonasabah, nama, alamat )
Rekening  ( nonasabah, norek, saldo )

Gambar 2. Sistem database untuk suatu Bank

Perhatikan gambar 2 di atas. Pada sistem ini record-record data disimpan pada satu tempat yakni database dan diantara program aplikasi maupun pemakai terdapat DBMS ( Database Management System ).

Konsep Dasar Basis Data
Data adalah Representasi fakta dunia nyata yang mewakili suatu objek seperti manusia (pegawai, mahasiswa, pembeli), barang, hewan, peristiwa, konsep, keadaan, dan sebagainya yang direkam dalam bentu angka, huruf, symbol,teks, gambar, bunyi atau kombinasinya.

Basis Data adalah Sekumpulan data yang terintegrasi yang diorganisasikan untuk memenuhi kebutuhan para pemakai di dalam suatu organisasi.

DBMS ( Database Management System ) adalah Perangkat Lunak yang menangani semua pengaksesan ke database

Sistem Basis Data terdiri dari basis data dan DBMS.





Istilah - Istilah Dasar Basis Data

Enterprise
Suatu bentuk organisasi seperti: bank, universitas, rumah sakit, pabrik, dsb.
Data yang disimpan dalai basis data merupakan data operasional dari suatu enterprise.
Contoh data operasional : data keuangan, data mahasiswa, data pasien

Entitas
Suatu obyek yang dapat dibedakan dari lainnya yang dapat diwujudkan dalai basis data.
Contoh Entitas dalam lingkungan bank terdiri dari : Nasabah, Simpanan, Hipotik
Contoh Entitas dalam lingkungan universitas terdiri dari : Mahasiswa, mata kuliah
Kumpulan dari entitas disebut Himpunan Entitas
Contoh : semua nasabah, semua mahasiswa

Atribut ( Elemen Data )
Karakteristik dari suatu entitas.
Contoh : Entitas Mahasiswa atributnya terdiri dari Npm, Nama, Alamat, Tanggal lahir.


Nilai Data ( Data Value )
Isi data / informasi yang tercakup dalai setiap elemen data.
Contoh Atribut Nama Mahasiswa dapat berisi Nilai Data : Diana, Sulaeman, Lina

Kunci Elemen Data ( Key Data Element )
Tanda pengenal yang secara unik mengidentifikasikan entitas dari suatu kumpulan entitas.
Contoh Entitas Mahasiswa yang mempunyai atribut-atribut npm, nama, alamat, tanggal lahir menggunakan Kunci Elemen Data npm.

Record Data
Kumpulan Isi Elemen data yang saling berhubungan.
Contoh : kumpulan atribut npm, nama, alamat, tanggal lahir dari Entitas Mahasiswa berisikan : "10200123", "Sulaeman", "Jl. Sirsak 28 Jakarta", "8 Maret 1983".

Keuntungan Sistem Basis Data

ü   Terkontrolnya kerangkapan data

Dalam basis data hanya mencantumkan satu kali saja field yang sama yang dapat dipakai oleh semua aplikasi yang memerlukannya.

ü  Terpeliharanya keselarasan (ke-konsistenan) data

Apabila ada perubahan data pada aplikasi yang berbeda maka secara otomatis perubahan itu berlaku untuk keseluruhan
ü  Data dapat dipakai secara bersama (shared)
Data dapat dipakai secara bersama-sama oleh beberapa program aplikasi (secara batch maupun on-line) pada saat bersamaan.

ü  Dapat diterapkan standarisasi

Dengan adanya pengontrolan yang terpusat maka DBA dapat menerapkan standarisasi data yang disimpan sehingga memudahkan pemakaian, pengiriman maupun pertukaran data.

ü  Keamanan data terjamin

DBA dapat memberikan batasan-batasan pengaksesan data, misalnya dengan memberikan password dan pemberian hak akses bagi user (misal : modify, delete, insert, retrieve)

ü  Terpeliharanya integritas data

Jika kerangkapan data dikontrol dan ke konsistenan data dapat dijaga maka data menjadi akurat
ü  Terpeliharanya keseimbangan (keselarasan) antara kebutuhan data yang berbeda dalam setiap aplikasi
Struktur basis data diatur sedemikian rupa sehingga dapat melayani pengaksesan data dengan cepat
ü  Data independence (kemandirian data)
Dapat digunakan untuk bermacam-macam program aplikasi tanpa harus merubah format data yang sudah ada

Kelemahan Sistem Basis Data
ü  Memerlukan tenaga spesialis
ü  Kompleks
ü  Memerlukan tempat yang besar
ü  Mahal

Pengguna Basis Data
System Engineer
Tenaga ahli yang bertanggung jawab atas pemasangan Sistem Basis Data, dan juga mengadakan peningkatan dan melaporkan kesalahan dari sistem tersebut kepada pihak penjual

Database Administrator (DBA)
Tenaga ahli yang mempunyai tugas untuk mengontrol sistem basis data secara keseluruhan, meramalkan kebutuhan akan sistem basis data, merencanakannya dan mengaturnya.
Tugas DBA :
·         Mengontrol DBMS dan software-software
·         Memonitor siapa yang mengakses basis data
·         Mengatur pemakaian basis data
·         Memeriksa security, integrity, recovery dan concurency
Program Utility yang digunakan oleh DBA  :
o  Loading Routines  
     Membangun versi utama dari database
o  Reorganization Routines 
     Mengatur / mengorganisasikan kembali database
o  Journaling Routines 
      Mencatat semua operasi pemakaian database
o  Recovery Routines 
     Menempatkan kembali data, sebelum terjadinya kerusakan
o  Statistical Analysis Routines 
     Membantu memonitor kehandalan sistem

Pemakai Akhir
Ada beberapa jenis/tipe pemakai terhadap suatu sistem basis data yang dapat dibedakan berdasarkan cara mereka berinteraksi terhadap sistem :
Programmer aplikasi
Pemakai yang berinteraksi dengan basis data melalui Data Manipulation Language (DML), yang disertakan (embedded) dalai program yang ditulis dalai bahasa pemrograman induk (seperti C, pascal, cobol, dll)
User Mahir (Casual User)
Pemakai yang berinteraksi dengan sistem tanpa menulis modul program. Mereka menyatakan query (untuk akses data) dengan bahasa query yang telah disediakan oleh suatu DBMS
User Umum (End User/Naïve User)
Pemakai yang berinteraksi dengan sistem basis data melalui pemanggilan satu program aplikasi permanen (executable program) yang telah ditulis/disediakan sebelumnya
User Khusus (Specialized/Sophisticated User)
Pemakai yang menulis aplikasi basis data non konvensional, tetapi untuk keperluan-keperluan khusus seperti aplikasi AI, Sistem Pakar, Pengolahan Citra,dll, yang bisa saja mengakses basis data dengan/tanpa DBMS yang bersangkutan.