Sistem Basis Data
Mahmud Yunus, S.Kom., M.Pd.
myoenoes@yahoo.com
myoenoes@gmail.com
Pengantar Manajemen Sistem Basis Data
Fokus utama dalam manajemen Basisdata adalah
bagaimana;
• Mengumpulkan/menginventarisir/memburu data,
• Mengorganisasi/mengelompokkan data,
• Menambah, mengubah dan menghapus data serta
• Menampilkan data yang diperlukan dalam bentuk
informasi, secara efektif dan efisien, yang akan
Beberapa pertanyaan dasar dapat diajuakan sebagai test-case pengetahuan kita terhadap basisdata, diantaranya adalah;
Apa yang dimaksud
Data
dan
Informasi
itu ?
Apa yang dimaksud
Basisdata
dan
Sistem
Manajemen Basisdata
(Database Manajemen
System/DBMS) ?
Sebarapa pentingkah
DBMS
bagi perusahaan ?
Data vs Informasi
Data
adalah fakta tentang suatu obyek di dunia nyata
yang dapat direkam dan disimpan pada media komputer
(Fred McFadden ”Database Management”)
Data
hanya akan bermakna jika dihubungkan dengan
konteks tertentu
Informasi
merupakan data yang telah diolah sedemikian
rupa sehingga memiliki makna tertentu bagi pengguna
Basis Data
Menurut
Fabbri dan Schwab
, basisdata adalah
sistem berkas terpadu yang dirancang untuk
meminimalkan pengulangan (redudancy)
Menurut
Date
, basisdata adalah sistem
terkomputerisasi yang tujuan utamanya
memelihara informasi dan membuat informasi
tersebut tersedia saat dibutuhkan
Secara umum
Basisdata
dapat didefinisikan
sebagai sekumpulan data yang terorganisasi
dengan cara sedemikian rupa sehingga
data
mudah disimpan dan dimanipulasi untuk
Data
merupakan Refleksi Fakta yang ada,
Pereflesian
data
tersebut dapat berupa perekaman
fakta kedalam media penyimpanan, misalnya Disk
Storage.
Hasil perekaman
data
tersebut diorganisasi atau
dikelola dengan baik (mengikuti kaidah/metode yang
berlaku), sehingga dapat berguna dan dipakai secara
efisien dan efektif dalam rangka mendukung
operasi-operasi pengendalian organisasi.
Data
dapat dipandang sebagai sumber daya (aset)
Basis data dapat digambarkan dengan tabel-tabel sebagai berikut:
Rp. 1000 20
SIKAT GIGI FORMULA SG-03
Rp. 750 5
SABUN LUX SB-02
Rp. 500 10
SABUN GIV SB-01
Harga Jumlah
Nama Kode
File Barang
Atribut / elemen/field
Record / tuple
Beberapa definisi yang berhubungan dengan basis data:
1. Entity adalah obyek pada dunia nyata yang dapat dibedakan satu dengan lainnya, yang bermanfaat bagi aplikasi yang sedang
dikembangkan
2. Atribute/Data Field/Elemen Data adalah data-data item yang mewakili suatu entity
3. Data Value/Isi Data adalah data aktual atau informasi yang disimpan pada atribut
4. Record/Tuple/Rekaman adalah kumpulan elemen-elemen yang saling berkaitan menginformasikan tentang suatu entity secara lengkap
5. File/berkas adalah kumpulan record-record sejenis yang mempunyai panjang elemen dan atribut yang sama serta data value yang berbeda
Sistem Pengolahan Data
Dengan Sistem Pemrosesan Berkas (File)
1. Pada awalnya pemrosesan data berbasis komputer, tidak
mengenal sistem basisdata
2. Untuk memenuhi kebutuhan bisnis, aplikasi komputer
dikembangkan untuk mampu memanipulasi, menyimpan
serta memanggil berkas (File) tertentu saja.
3. Setiap program aplikasi mendefinisikan dan mengelola
datanya sendiri, tanpa adanya penetapan standart format
data yang universal, sehingga data yang dimiliki
perusahaan, berupa file-file tidak terintegrasi dengan baik.
File-file tersebut berdiri sendiri dan belum terelasi satu
Kekurangan Sistem Pemrosessan Berkas
1. Kendali yang buruk terhadap data. Data selalu bergantung pada program aplikasi (data tidak independen)
2. Terjadinya pemisahan/isolasi data karena format data yang tidak kompetibel dengan aplikasi lainnya (kompetibelitas data yag rendah)
3. Terjadinya duplikasi (redudansi) data, yang dapat berarti • Duplikasi data sebagai pemborosan
• Duplikasi dapat menyebabkan data tidak konsisten (inkonsistensi data)
Apikasi Berbasis File Merupakan Sistem Pengolahan
Data Yang Usang
Dengan berbagai keterbatasan yang ada, maka dapat disimpulkan bahwa aplikasi yang berbasis file(data yang berorientasi terhadap program aplikasi), sangat tidak
menguntungkan untuk dipakai atau dikembangkan lebih lanjut. Paradigma atau cara pandang, bahwa data tergantung pada
program aplikasi harus dirubah, kehadiran data harus bersifat independen (berdiri secara mandiri) dan universal, bebas dari pengaruh dan karakteristik bahasa pemrograman, sehingga
bahasa pemrograman-lah yang harus menyesuaikan dengan data dan bukan sebaliknya.
Sistem Pengolahan Data Dengan Pendekatan
Basis Data
1. Sistem pengolahan data dengan pendekatan basis data memberi tekanan pada integrasi dan berbagi data(data shared) dalam organisasi.
2. Basis data merupakan kumpulan data (elementer) yang secara logika berkaitan dalam mempresentasikan fenomena/fakta yang ada secara terstruktur dalam domain tertentu, guna mendukung aplikasi pada sistem tertentu.
3. Basisdata dapat juga berarti sebagai kumpulan data yang saling berhubungan dalam merefleksikan fakta-fakta yang terdapat pada sebuah organisasi atau perusahaan
4. Sistem Basis Data merupakan sekumpulan data yang saling terintegrasi satu dengan lainnya dan dapat dimanipulasi (insert, update, dalete dll) dengan mudah, menggunakan perangkat lunak basis data (DBMS)
5. Sistem Manajemen Basisdata atau DBMS (Database Manajemen System) merupakan sistem yang dapat digunakan untuk merancang/mendefinisikan, menciptakan, mengelola dan mengendalikan pengaksesan basisdata. Pada
prakteknya konsep DBMS ini diterapkan pada sebuah perangkat lunak (software) DBMS. Beberapa software DBMS yang populer saat ini adalah;
• Oracle
• MySQL
• Microsoft SQL Server
• PostgreSQL
Tujuan Penggunaan DBMS
Tujuan utama dari DBMS, adalah menyediakan lingkungan yang nyaman dan efisien untuk penyimpanan dan
pengambilan data dari basis data.
Software DBMS dengan kemampuannya untuk pengelolaan koleksi data yang besar, dapat berperan dalam memberikan abstraksi (gambaran) data tingkat tinggi yang lebih akrab, nyaman dan fleksibel ke pemakai (perintah-perintah query data layaknya bahasa manusia).
Tolok ukur kenyamanan dan ke-efisienan dalam pengelolaan data oleh DBMS, tercermin dari tujuan dasar penerapan
konsep DBMS, yaitu menghindari;
Redudansi, inkonsistensi dan anomali data serta masalah integritas data mekanisme konstrain data
Kesulitan pengaksesan dan isolasi data standarisasi bahasa query
Keunggulan DBMS
Keunggulan penerapan DBMS jika dibandingkan dengan Aplikasi Berbasis File adalah;
Pengendalian terhadap redudansi data yang tercermin dalam
konsistensi data
Informasi yang lebih banyak dapat dibentuk dari data tersimpan
yang sama (lebih variatif) dan cepat melalui perintah SQL.
Pemakaian bersama terdahap data yang sama
Peningkatan integritas data dan mengurangi terjadinya inkonsistensi
data
Pemaksaan terhadap standart data dan cara pengaksesannya Peningkatan pengaksesan dan daya tanggap data
Peningkatan produktifitas dengan membantu pengguna mengakses
lebih banyak data yang terorganisir secara lebih baik
Peningkatan pemeliharaan lewat ketidaktergantungan data pada
program aplikasi tertentu
Peningkatan layanan cadangan (backup) dan pemulihan (recovery)
data
Lebih ekonomis karena pengelolaan data dapat dilakukan dengan
Kelemahan DBMS
Kompleksitas yang tinggi
Ukuran perangkat lunak yang besar
Ongkos terhadap pengadaan, pengoperasian dan perawatan DBMS
Penambahan biaya pengadaan perangkat keras untuk menjalankan DBMS
Biaya konversi dari sistem lama ke sistem baru
Dampak yang tinggi bila terjadi kegagalan sistem (resiko)
Kinerja yang rendah bila tidak mampu menggunakan dengan optimal (biaya vs outcome)
DBMS dapat saja tidak cocok diaplikasikan sebagai standart
Kebutuhan Akan DBMS
Seiring dengan perkembangan teknologi informasi (komputer & telekomunikasi) khususnya basisdata dijumpai fenomena bahwa;
Kebanyakan sistem basis data yang digunakan, berbasis model data
relasional, dimana data disimpan dalam bentuk relasi-relasi (tabel-tabel) yang dapat diakses dengan bahasa SQL sederhana, sehingga
pemrogram komputer tidak lagi dipusingkan dengan kopleksitas nyata, bagaimana data disimpan, direlasikan & diakses/dimanipulasi.
Basis data dapat berupa objek-objek yang variatif (teks, suara, gambar,
film dll.) dan berukuran besar, seperti katalog berbasis internet, ensiklopedia digital, video clip dan sebagainya.
Sistem basisdata sering digunakan secara on-line dan 24 jam sehari Pengaksesan yang konkuren (multi user, sharing dan real time) melalui
transaksi on-line terhadap basisdata
Melibatkan komputasi dan data tersebar (mirroring, replikasi) serta
melibatkan sistem-sistem yang heterogen dalam lingkup platform berbeda
Transaksi-transaksi data biasanya dilakukan oleh orang yang awan
mengenai basis data (view level) dan sistem komputer pada umumnya, sehingga diperlukan suatu metode pencatatan data/transaksi yang
Fenomena tersebut mendorong terjadinya peningkatan
kebutuhan terhadap fitur-fitur sistem basis data yang bersifat;
Ketersedian yang tinggi (high availability) Kehandalan yang tinggi (high reliability)
Tingginya kemampuan penyelesaian jumlah job dalam
satuan waktu tertentu (high throughput)
Waktu tanggap yang rendah (low response time/low idle
time)
Waktu hidup yang lama (long lifetime) Keamanan (security)
Penggunaan lintas platform O/S (Windows, Linux, Mac etc.) Biaya rendah vs kinerja tinggi (low cost versus high
perform)
Keterujian kapasitas yang tinggi (high capability)
Pemakai Basis Data
Terdapat empat tipe
pemakai basis
data
, yaitu;
Pemrogram aplikasi (aplication
programmer)
Pemakai canggih
Pemrogram Aplikasi
Pemrogram aplikasi
, merupakan pembuat program
aplikasi yang akan digunakan pemakai awam
basisdata.
Pemrogram aplikasi akan berinteraksi dengan
basisdata lewat DML Call yang ditempelkan ke bahasa
pemrograman seperti Delphi, VB, C++, Java, PHP dsb.
DML Call digunakan sebagai alat manipulasi basisdata
berupa operasi-operasi CRUDI (
Create, Read,
Update, Delete dan Insert
).
Pemrogram aplikasi terkadang harus memrogram
Pemakai Canggih
Pemakai canggih
, merupakan pemakai yang
berinteraksi langsung dengan DBMS untuk
memanipulasi data, dengan cara memberikan
perintah-perintah dalam bahasa query basisdata
(database query language) ke mesin basis data (tidak
memerlukan perantara program aplikasi).
Syarat utama agar kelompok pemakai canggih ini
Pemakai Terspesialisasi
Pemakai terspesialisasi, merupakan aktor yang secara khusus melakukan pengendalian data dan program-program pengakses DBMS, serta mengatur siapa saja pemakai-pemakai yang diperbolehkan mengakses datanya.
Pemakai terspesialisasi ini biasanya tidak mengikuti
kerangka pemrosesan basisdata tradisional. Contoh pemakai tipe ini adalah Database Administrator yang bertanggung jawab penuh terhadap;
Pendefinisian skema konsep basisdata
Pendefinisian struktur penyimpanan dan metode pengaksesan
Pendefinisian batasan (constrain) untuk integrasi data Perawatan berupa modifikasi skema organisasi fisik
Pendifinisian metode atau prosedur backup dan recovery data
Pemantauan kinerja DBMS
Pemakai Awam
Pemakai awam
, merupakan tipe pemakai
yang berhubungan secara tidak langsung
dengan mesin DBMS dalam rangka
memanipulasi data.
Pemakai awam
memerlukan sebuah
interface
berupa program aplikasi untuk
dapat melakukan manipulasi data dari
sebuah database.
Biasanya,
pemakai awam
ini memiliki
pengetahuan tentang basis data sebatas
pada apa yang dia lakukan terhadap
Perkembang DBMS & Produknya
Konsep DBMS bertujuan umum (General Purpose) pertama kali dirancang
oleh Charles Bachman dari General Electric (GE) pada tahun 1960-an. DBMS yang dirancangnya disebut Integrated Data Store (IDS) yang menggunakan
model data jaringan.
Model data jaringan yang dikenalkannya itu kemudian distandarkan oleh
Conference on Data System Language (CODASYL).
Pada akhir tahun 1960-an, IBM mengembangkan IMS (Information
Management System) DBMS yang menggunakan model data hirarki. Kemudian pada tahun 1970, Edgar Codd salah seorang peneliti IBM,
mengusulkan DBMS yang menggunakan model data relasional. Kemudian Pada tahun 1990-an, DBMS dikembangkan dengan menggunakan konsep transaksi untuk menjamin integritas basisdata. Aktor utama penerapan konsep transaksi pada DBMS adalah James Gray.
Perkembangan DBMS modern saat ini mengarah pada pembuatan fitur-fitur
berorientasi aplikasi diatas DBMS. Paket ERP (Enterprise Resource Planning) yang mengidentifikasi sekumpulan tugas-tugas yang sering terdapat di
perusahaan-perusahaan besar seperti manajemen inventori, manajemen sumber daya manusia, analisis keuangan, sistem informasi akuntansi dsb. Data disimpan di DBMS dan lapisan aplikasi dapat disesuaikan dengan
kebutuhan perusahaan yang berbeda-beda sehingga dapat menekan biaya keseluruhan.
Paket ERP saat ini telah dikembangkan oleh Oracle, Baan, PeopleSoft, SAP,
Konsep Komputasi 1-Tier
Proses :
* Server mengirim seluruh data ke Client * Searching dilakukan disisi Client
Masalah :
* Overload Network & terjadi Collision * Jumlah workstation terlayani terbatas
Komputasi 1-TIER
Server
* S/O Novell Netware * Non-Database Server
Workstation 1
Cari data BUDI di table SALES
Workstation 2
Cari data SUSTAGENT di table BARANG
Workstation 3
Cari data PT.
INDOMARINE di table VENDOR
Workstation 4
Tampilkan seluruh data Penjualan dari sales ID 12345 di table JUAL
* S/O DOS * Foxpro
* S/O DOS * Dbase
* S/O DOS * Clipper * S/O DOS
Konsep Komputasi 2-Tier
Proses :
* Server menerima request data dari Client berupa SQL C o m m a n d
* Server mengirim data(RecordSet) sesuai request
Masalah :
Jika terjadi perubahan bussines rule (rumus, suku bunga, form isian dll.), maka semua Client perlu di re-instalasi program aplikasi
Komputasi 2-TIER
Back-End & Front-End
Server
* S/O: Windows NT, Windows 2000/2003 Server,Linux/Unix
* Database Server:Oracle
Server, Ms-SQL Server, DB2, MySQL dll.
Client 1
Select * From SALES Where nmsales=‘BUDI’
Client 2
Select * From BARANG Where
nmbarang=‘SUSTAGENT’
Client 3
Select * From VENDOR Where nmvendor=‘PT. INDOMARINE’
Client 4
Select * From JUAL Where salesID=‘12345’
Visual Basic
Java Borland Delphi Oracle Developer
Konsep Komputasi Multi-Tier
(Client-Server)
Komputasi 3-TIER
Back-End, Middle-Tier & Front-EndDatabase Server * S/O: Windows NT,
Windows 2000/2003 Server, Linux/Unix
* Database Server:Oracle
Server, Ms-SQL Server, DB2, MySQL,Sybase, Informix dll.
Client 1
Select * From SALES Where nmsales=‘BUDI’
Client 2
Select * From BARANG Where
nmbarang=‘SUSTAGENT’
Client 3
Select * From VENDOR Where nmvendor=‘PT. INDOMARINE’
Client 4
Select * From JUAL Where salesID=‘12345’
Internet Explorer
Opera Netscape
Navigator Mozila
Web Server S/O: Windows NT, Windows 2000/2003 Server,
Linux/Unix
Web Server: IIS + ASP, Apache + PHP
Client: Hanya bertindak sebagai User Interface (presentasi data)
Oracle ERP Dengan Komputasi Tersebar
Komputasi 3-TIER Back-End, Middle-Tier & Front-End
* Oracle DBA-Tools * Oracle SQL-Server
Web Server
(Middle-Tier) Oracle Internet Application Server (Oracle IAS) Apache Web-Server + CGI Interface
Client 1
Oracle Work In Process Oracle
B O M Oracle
Financial (Inventory, Assete, GL etc.)
Oracle MRP Oracle Capacity
Pasar DBMS sendiri saat ini telah tersegmentasi pada
pemakai aplikasi skala kecil dan besar, baik yang tersdia secara komersial maupun gratis (free dan open source).
MySQL dan FireBird merupakan contoh DBMS untuk aplikasi
skala kecil.
Sedangkan untuk aplikasi skala besar Microsoft SQL server,
Oracle, Sybase, PostgreSQL, Borland Interbase Server dsb.
Trend komputasi yang terjadi saat ini adalah sistem
komputasi tersebar yang didorong oleh alasan keamanan data (tersedianya cadangan/backup data yang memadai
dan kemudahan proses recover) dan peningkatan kecepatan akses.
Oleh karena itu beberapa software DBMS telah memiliki
Teknologi RDBMS
Relational Database Manajemen System (RDBMS) merupakan penerapan model data relasional pada DBMS, yang diperkaya
dengan penerapan konsep transaksi. Teknologi yang diterapkan pada RDBMS adalah;
Penerapan standart SQL (SQL86, SQL89, SQL92 dan SQL99)
Mendukung pemodelan basisdata lain, seperti: jaringan, hirarki,
berorientasi objek dan objek relasi
Tiap basis data memiliki mekanisme penyimpanan dan
pengaksesan data yang berbeda-beda
Beberapa RDBMS mendukung objek lain selain relasi (tabel), seperti Makro/Fungsi
Prosedur tersimpan (stored procedure) Rutin keluar
Pengaturan hak akses Profile pemakai
Pertimbangan Pengembangan RDBMS
Beberapa pertimbangan lain yang dilakukan vendor pada
software RDBMS yang dikembangkannya;
Dapatkah pemakai mengakses tabel-tabel yang berasal
dari beberapa basisdata pada satu waktu
Dapatkah pemakai membuat operasi join pada
tabel-tabel dari beberapa basisdata yang berbeda
Dapatkah mengindikasi parameter dan batasan alokasi
penyimpanan data
Apakah ada pengamanan dan batasan hak akses yang
diterapkan pada level basis data dan objek-objek di
dalamnya
Bagaimana prosedur
lock
dan
unlock table
untuk