Newsletter

Konsep Database System

Kali ini akan di bahas tentang Konsep Database System


Terminologi
Entity
Entity adalah orang, tempat, kejadian atau konsep yang informasinya direkam.
Contoh:
Entity pada Rumah Sakit adalah pasien, dokter, obat, kamar.
Entity pada Universitas adalah mahasiswa, buku, pembayaran, KHS.

Atribute
Setiap entity mempunyai atribute atau sebutan untuk mewakili suatu entity. Seorang siswa dapat dilihat dari atributenya, misalnya nama, nomor siswa, alamat, nama orang tua, hobby. Atribute juga disebut sebagai data elemen, data field, data item
Contoh:



Data value (nilai atau isi data)
Data value adalah data aktual atau informasi yang disimpan pada tiap data elemen atau atribute. Atribute nama mahasiswa menunjukkan tempat dimana informasi nama mahasiswa disimpan, sedang data value adalah Sutrisno, Budiman, merupakan isi data Nama_MHS tersebut.
Contoh:


Record/Tuple
Kumpulan elemen elemen yang saling berkaitan menginformasikan tentang suatu entity secara lengkap. Satu record mewakili satu data atau informasi tentang seseorang misalnya, No_MHS, Nama_MHS, Tgl_Lahir, Alamat.
Satu record terdiri dari field-field yang saling berhubungan untuk menunjukkan bahwa field tersebut dalam satu pengertian yang lengkap dan direkam dalam satu record.

Contoh:



File
Kumpulan record record sejenis yang mempunyai panjang elemen yang sama, atribute yang sama, namun berbeda beda data valuenya. Dalam satu file terdapat record-record yang sejenis, sama besar, sama bentuk, merupakan satu kumpulan entity yang seragam.


Database Management System (DBMS)
Database adalah Kumpulan file file yang mempunyai kaitan antara satu file dengan file yang lain sehingga membentuk satu bangunan data untuk menginformasikan satu perusahaan, instansi dalam batasan tertentu.
Bila terdapat file yang tidak dapat dipadukan atau dihubungkan dengan file yang lainnya berarti file tersebut bukanlah kelompok dari satu database, ia akan dapat membentuk satu database sendiri.

Set program pengelola merupakan satu paket program yang dibuat agar memudahkan dan mengefisienkan pemasukkan atau perekaman informasi dan pengambilan atau pembacaan informasi ke dalam database.

â Database Management System (DBMS) adalah suatu koleksi (kumpulan) data yang saling berelasi dan satu set program" untuk mengakses database (membaca data, mengisi data, menghapus data, melaporkan data).

Jadi DBMS terdiri:
§  Database
§  Set Program pengelola (untuk menambah data, menghapus data, mengambil dan membaca data). 



Hubungan antara definisi di atas dapat dilihat pada Gambar 1.
Gambar 1 : DBMS ( Database Managemen System )

Kegunaan database/ Syarat database
Penyusunan satu database digunakan untuk mengatasi masalah-masalah pada penyusunan data yaitu:
  • Redundansi data
  • Inkonsistensi data
  • Kesulitan pengaksesan data
  • Isolasi data untuk standarisasi
  • Multiple user (banyak pemakai)
  • Masalah keamanan (security)
  • Masalah integrasi (kesatuan)
  • Masalah data independence (kebebasan data)




Redundansi Data
Jika file-file dan program aplikasi diciptakan oleh programmer yang berbeda pada waktu yang berselang cukup panjang, maka ada beberapa bagian data mengalami penggandaan pada file file yang berbeda.
Sebagai contoh: alamat dan nomor telpon dari mahasiswa tercatat pada file MAHASISWA juga pada file KHS dan juga file KST. Penyimpanan di beberapa tempat untuk data yang sama ini disebut sebagai redundansi dan mengakibatkan pemborosan ruang penyimpanan dan juga biaya untuk mengakses jadi lebih tinggi.

Inkonsistensi Data
Penyimpanan data yang sama berulang-ulang di beberapa file dapat mengakibatkan juga inkonsistensi (tidak konsisten). Hal ini terjadi bila suatu ketika mahasiswa tersebut pindah alamat dan nomor telponnya maka seharusnya ketiga file yang memuat data tersebut harus diubah/ di-update. Bila salah satu saja dari file yang mengandung data tersebut terlewat di-update maka terjadilah tidak konsisten tadi.

Kesulitan dalam pengaksesan data
Pada suatu saat dibutuhkan untuk mencetak data siapa saja mahasiswa yang berada di kode pos 50711 Salatiga, padahal belum tersedia program yang telah ditulis untuk mengeluarkan data tersebut. Maka kesulitan tersebut timbul, dan penyelesaian untuk itu adalah ke arah DBMS yang mampu mengambil data secara langsung dengan bahasa yang familiar dan mudah digunakan (user friendly).

Isolasi Data untuk standarisasi

Jika data tersebar dalam beberapa file dalam bentuk format yang tidak sama, maka ini menyulitkan dalam menulis program aplikasi untuk mengambil dan menyimpan data. Maka haruslah data dalam satu database dibuat satu format sehingga mudah dibuat program aplikasinya. Dapat dibayangkan betapa sulitnya membuat program aplikasi bilamana data dibuat dari format text file Pascal, BASIC, C++, dan juga format dari versi Lotus 123 dan lainnya.

Multiple User (Banyak pemakai)
Salah satu alasan mengapa database dibangun karena nantinya data tersebut digunakan oleh banyak orang dalam waktu yang berbeda, diakses oleh program yang sama tapi berbeda orang dan waktu.
Dalam rangka mempercepat semua daya guna sistem dan mendapat responsi waktu yang cepat, beberapa sistem mengijinkan banyak pemakai untuk meng"update" data secara simultan.
Semua ini memungkinkan terjadi karena data yang diolah tidaklah tergantung dan menyatu dalam program tapi ia terlepas dalam satu kelompok data.

Masalah keamanan (security)
Tidak setiap pemakai sistem database diperbolehkan untuk mengakses semua data. Misalkan data mengenai gaji pegawai hanya boleh dibuka oleh bagian keuangan dan personalia, tidak diperkenankan bagian gudang membaca dan mengubahnya.
Keamanan ini dapat diatur lewat program yang dibuat oleh pemrogram atau fasilitas keamanan dari operating system misalnya Novell Netware untuk Local Area Network.

Masalah integritas (kesatuan).
Database berisi file-file yang saling berkaitan, masalah utama adalah bagaimana kaitan antara file tersebut terjadi. Meskipun kita mengetahui bahwa file A berkaitan dengan file B, namun secara teknis maka ada field kunci yang mengaitkan kedua file tersebut.

Masalah Data Independence (Kebebasan Data)
Bagaimana kita mampu menciptakan dimana antara program dan database pada keadaan terpisah. Sehingga perintah-perintah dalam paket DBMS bebas terhadap database.
Namun perlu pula dipikirkan bagaimana bila ada syarat terhadap database yang ada. Misalnya syarat pengambilan uang tabungan Bank adalah harus disisakan paling minimal 25000. Syarat ini tentu dimasukkan dalam aplikasi program yang dibangun. Namun bagaimanakah bila suatu ketika syarat itu telah bergeser dari syarat 25000 menjadi 50000 ?. Di sini aplikasi program yang telah dibangun haruslah diubah dan ini menunjukkan ketidakbebasan program yang dibuat terhadap database.

Abstraksi Data (Data Abstraction)
Sistem yang sesungguhnya tentang teknis bagaimana data disimpan dan dipelihara seakan-akan disembunyikan kerumitannya dan kemudian diungkapkan dalam bahasa dan gambar yang mudah dimengerti orang awam.
Pemakai/ user dapat dikelompokkan menjadi tiga tingkatan abstraksi saat memandang suatu database, yaitu:
·         Level Phisik
Level abstraksi paling rendah, menggambarkan bagaimana (how) data disimpan dalam kondisi sebenarnya. Level ini tentu paling kompleks, struktur data level terendah digambarkan pada level ini.

·         Level Konseptual
Level abstraksi data level lebih tinggi yang menggambarkan data apa (what) yang disimpan dalam database, dan hubungan relasi yang terjadi antara data. Level ini menggambarkan keseluruhan database. Pemakai tidak memperdulikan kerumitan dalam struktur level phisik lagi, penggambaran cukup dengan memakai kotak, garis dan keterangan secukupnya. Level konseptual ini digunakan oleh database administrator, yang memutuskan informasi apa yang akan dipelihara dalam satu database.

·         Level Pandangan Pemakai (View Level)
Level abstraksi tertinggi yang menggambarkan hanya satu bagian dari keseluruhan database. Pada level ini hanya sebagian saja yang dilihat dan dipakai, hal ini disebabkan beberapa pemakai database tidak membutuhkan semua isi database. Level ini sangat dekat dengan user/ pemakai, ada beberapa kelompok user dengan pandangan berbeda butuh data dalam database.
Misalkan bagian Personalia hanya memakai data file Karyawan, Gaji, tidak membutuhkan data file Gudang, Transaksi Barang Masuk.
Demi kemudahan interaksi antara pemakai dengan sistem, maka view level ini didefinisikan. Jadi ada beberapa pandangan disusun untuk mengakses satu sistem database yang sama.



Hubungan antar level tersebut dapat digambarkan seperti pada Gambar 2.
Gambar 2 : Level Abstraksi Data
Konsep dari level ini akan menambah pengertian mengenai kebebasan data (data independence). Data independence dapat dibagi menjadi dua bagian yaitu:

1.    Physical Data Independence
Kebolehan untuk mengubah pola phisik database tanpa mengakibatkan suatu aplikasi program ditulis kembali. Modifikasi pada level phisik biasanya pada saat meningkatkan daya guna.

2.      Logical data independence
Kebolehan untuk mengubah pola konseptual tanpa mengakibatkan suatu aplikasi program ditulis kembali. Modifikasi pada level konseptual teristimewa saat struktur logika database berubah, ditambahkan atau dikurangi.


Gambar 3 : Asitekrur System Database

Paket Bahasa
Data Definition Language
Paket bahasa dalam DBMS dibagi menjadi beberapa definisi. Pola/scheme database dispesifikasikan dengan satu set definisi yang diekspresikan dengan satu bahasa khusus disebut DDL (Data Definition Language).
Struktur penyimpan dan metode akses yang digunakan sistem database dispesifikasikan dengan satu set definisi dalam satu tipe DDL disebut sebagai Data Storage dan Definition Language.
Hasil kompilasi dari definisi itu adalah satu set perintah yang menspesifikasikan suatu terapan yang rinci dari pola database yang biasanya tersembunyi dari user/ pemakai.
Sebagai contoh perintah itu adalah perintah CREATE, MODIFY REPORT, MODIFY STRUCTURE

Data Manipulation Language
Data Manipulation Language (DML) adalah bahasa yang memperbolehkan pemakai untuk akses atau manipulasi data yang telah diorganisasikan sebelumnya dalam model data yang tepat.

Dengan DML berarti akan

·         mengambil informasi yang tersimpan di database
·         menyisipkan informasi baru ke database
·         menghapus informasi dari database

Secara dasar ada dua tipe DML:
1.      Procedural
yang membutuhkan pemakai untuk menspesifikasikan data apa yang dibutuhkan dan bagaimana untuk mendapatkannya.
2.      Non procedural
yang membutuhkan pemakai untuk menspesifikasikan data apa yang dibutuhkan tanpa menspesifikasikan bagaimana untuk mendapatkannya.

Paket bahasa Procedural DML adalah dBASE III, FoxBASE, sedang Non Procedural DML diberi nama SQL (Structural Query Language), QBE (Query By Example).

Query
Adalah pernyataan yang diajukan untuk mengambil informasi. Merupakan bagian DML yang untuk pengambilan informasi, disebut Query Language.

Pengguna Database
Database Manager
Satu database manager adalah satu modul program yang menyediakan interface antara penyimpanan data low-level dalam database dengan satu aplikasi program dan query yang diajukan ke sistem.
Tugas dan tanggung jawab Database Manager:
• Interaksi dengan manager file
Integrity Enforcement (integritas)
Security Enforcement (keamanan)
Backup dan recovery
Concurency Control
Untuk paket program yang ditulis dalam PC pada saat tahun 1990 keistimewaan tersebut tidak sepenuhnya ada.

Database Administrator
Database Administrator adalah orang yang mempunyai kekuasaan sebagai pusat pengontrolan terhadap seluruh sistem baik data maupun program yang mengakses data.
Fungsi database administrator adalah:
• Mendefinisikan pola struktur database
• Mendefinisikan struktur penyimpanan dan metode akses
• Mampu memodifikasi pola dan organisasi phisik
• Memberikan kekuasaan pada user untuk mengakses data
• Menspesifikasikan keharusan/ paksaan integritas data

Database User
Satu tujuan utama dari sistem database adalah menciptakan suasana bagaimana informasi dibaca dan data baru disimpan dalam database.
Ada 4 macam pemakai database yang berbeda keperluan dan cara aksesnya yaitu:
1.      Programmer Aplikasi (PA)
Adalah profesional komputer yang berinteraksi dengan sistem lewat DML yang dibuat dengan bahasa C, Cobol dan lainnya. Program-program yang dibuat disebut sebagai program aplikasi, misalnya untuk perbankan, administrasi, akuntansi dan lain lain. Syntax DML berbeda dengan syntax bahasa komputer umumnya.


2.      Casual User (sepintas lalu, tidak tetap)
Pemakai yang telah berpengalaman, berinteraksi dengan sistem tanpa menulis program, tetapi memakai bahasa query. Setiap Query akan mengajukan ke query processor yang mengambil dari perintah DML.

3.      Naive User
Pemakai yang tidak berpengalaman, berinteraksi dengan sistem tanpa menulis program, tinggal menjalankan satu menu dan memilih proses yang telah ada atau telah dibuat sebelumnya oleh programmer.

4.      Specialized User
Pemakai khusus yang menuliskan aplikasi database tidak dalam kerangka data processing yang tradisional. Aplikasi tersebut di antaranya adalah Computer Aided Design System, Knowledge Base, Expert System, sistem yang menyimpan data dalam bentuk data yang komplek misalnya data grafik, data audio.

Hubungan antara user dapat dilihat pada Gambar 4.

Gambar 4 : Strukrus System Database


Sumber : Grace Lusiana
image

Pengertian Basis Data

Di era sekarang ini untuk membuat suatu data penyimpanan atau sering di kenal dengn basis data atau database sudah sangat mudah di buat. sudah banyak sofware yang memudahkan kita untuk membuat database tanpa harus tahu query untuk membuat satu database.

Apa definisi dari databese  ???
·         Basis Data terdiri atas 2 kata, yaitu Basis dan Data.
o  Basis kurang-lebih dapat diartikan sebagai markas atau gudang, tempat bersarang/berkumpul.
o  Data adalah representasi fakta dunia nyata yang mewakili suatu objek seperti manusia (pegawai, siswa, pembeli, pelanggan), barang, hewan, peristiwa, konsep, keadaan, dan sebagainya, yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi, atau kombinasinya.
·         Basis Data dan lemari arsip sesungguhnya memiliki prinsip kerja dan tujuan yang sama.
Ø Prinsip utamanya adalah pengaturan data/arsip.
Ø Tujuan utamanya adalah kemudahan dan kecepatan dalam pengambilan kembali data/arsip.
Ø Perbedaannya hanya terletak pada media penyimpanan yang digunakan. Perbedaan media ini yang selanjutnya melahirkan perbedaan-perbedaan lain yang menyangkut jumlah dan jenis metoda/cara yang dapat digunakan dalam upaya penyimpanan.

dengn kata lain basis data juga bisa di definisikan sebagai 

 ? Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasi sedemikian rupa sehingga suatu saat dapat dimanfaatkan dengan mudah dan cepat.

? Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redundansi) yang tidak perlu, untuk memenuhi kebutuhan.

? Kumpulan file yang mempunyai kaitan antara satu file dengan file yang lain (yang disimpan dalam suatu media elektronis) sehingga membentuk satu bangunan data untuk menginformasikan satu perusahaan, instansi dalam batasan tertentu.

Operasi Basis Data
       Di dalam sebuah disk, kita dapat pula menempatkan beberapa (lebih dari satu) basis data. sementara dalam sebuah basis data, kita dapat mendapatkan beberapa file/tabel dan pada file/tabel inilah sesungguhnya data disimpan/ditempatkan. Setiap basis data umumnya dibuat untuk mewakili sebuah semesta data yang spesifik. Misalnya, ada basis data kepegawaian, basis data akademik, basis data inventori (pergudangan), dan sebagainya. Sementara dalam basis data akademik, misalnya, kita dapat menempatkan file mahasiswa, file mata_kuliah, file dosen, file jadual, file kehadiran, file nilai, dan seterusnya



Gamber 1 Basisdata di sebuah harddisk

  operasi-operasi dasar yang dapat kita lakukan berkenaan dengan basis data dapat meliputi:
   Pembuatan basis data baru (create database),
   Penghapusan basis data (drop database),
  •  Pembuatan file/tabel baru ke suatu basis data (create table),
  •  Penghapusan file/tabel dari suatu basis data (drop table),
  •  Penambahan/pengisian data baru ke sebuah file/tabel di sebuah basis data (insert),
  •  Pengambilan data dari sebuah file/tabel (retrieve/search),
  •  Pengubahan data dari sebuah file/tabel (update),
  • Penghapusan data dari sebuah file/tabel (delete

Tujuan Basis Data
Ø  Tujuan Utama : memperoleh/ menemukan kembali data (yang kita cari) dengan mudah dan cepat.
Ø  Secara lebih lengkap, pemanfaatan basis data dilakukan untuk memenuhi sejumlah tujuan (objektif) seperti berikut ini:                       
·         Kecepatan dan Kemudahan (Speed)
·         Efisiensi Ruang Penyimpanan (Space)
·         Keakuratan (Accuracy)
·         Ketersediaan (Availability)
·         Kelengkapan (Completeness)
·         Keamanan (Security)
·         Kebersamaan Pemakaian (Sharability)

Penerapan Basis Data
Secara lebih teknis/nyata, bidang-bidang fungsional yang telah umum memanfaatkan basis data demi efisiensi, akurasi dan kecepatan operasi antara lain adalah:
  • Kepegawaian,
  • Pergudangan (inventory),
  • Akuntansi,
  • Reservasi,
  • Layanan Pelanggan (customer care),
  • dan lain-lain.

Sedang bentuk-bentuk organisasi/perusahaan yang memanfaatkan basis data (sebagai komponen sistem informasi dalam organisasi/perusahaan) dapat berupa:
  • Perbankan,
  • Asuransi,
  • Rumah Sakit,
  • Produsen Barang,
  • Industri Manufaktur,
  • Pendidikan/Sekolah,
  • Telekomunikasi,
  • dan lain-lain.

SISTEM BASIS DATA


Ø  Sistem adalah sebuah tatanan (keterpaduan) yang terdiri atas sejumlah komponen fungsional (dengan satuan fungsi/tugas khusus) yang saling berhubungan dan secara bersama-sama bertujuan untuk memenuhi suatu proses/pekerjaan tertentu.
Ø  Basis data hanyalah sebuah objek yang pasif/mati.
Maksudnya:
ü  la ada karena ada pembuatnya.
ü  la tidak akan pernah berguna jika tidak ada pengelola / penggeraknya.
ü  Yang menjadi pengelola/penggerak-nya secara langsung adalah program/aplikasi (software).
ü  Gabungan keduanya (basis data dan pengelolanya) menghasilkan sebuah sistem.
Karena itu, secara umum :
? Sistem Basis Data adalah sistem yang terdiri atas kumpulan file (tabel) yang saling berhubungan (dalam sebuah basis data di sebuah sistem komputer) dan sekumpulan program (DBMS/DataBase Management System) yang memungkinkan beberapa pemakai dan/atau program lain untuk mengakses dan memanipulasi file-file (tabel-tabel) tersebut.



Lebih jauh lagi, dalam sebuah sistem basis data, secara lengkap akan terdapat komponen-komponen utama sebagai berikut:
1.      Perangkat Keras (Hardware).
2.      Sistem Operasi (Operating System).
3.      Basis Data (Database).
4.      Sistem (Aplikasi/Perangkat Lunak) Pengelola Basis Data (DBMS).
5.      Pemakai (User).
Aplikasi (perangkat lunak) lain (bersifat opsional).



Gamber 2 Basisdata

Sumber : Materi perkuliahan
image

Sub Query

Subquery adalah query yang diletakan di dalam query lainnya
contoh kasus pertama tampilkan hasil seperti di bawa ini 
             select employee_id,first_name,last_name,salary,manager_id,department_id from Employees where department_id in(select department_id from Departments where salary < 6000 )
contoh kasus pertama tampilkan hasil seperti di bawa ini
          
           select employee_id,first_name,last_name,salary,manager_id,department_id from Employees where department_id in(select department_id from Departments where salary between 3200 and 6000

semoga dapat bermanfaat, dan selamat mencoba


image