Sistem Basis Data - Staffsite STIMATA

advertisement
Sistem Basis Data
Indah Dwi Mumpuni, S.Kom, MM
[email protected]
081-944970094
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
digunakan sebagai bahan analisis dalam menuntun
aktivitas-aktivitas perusahaan selanjutnya.
Beberapa pertanyaan dasar dapat diajukan sebagai
test--case pengetahuan kita terhadap basisdata
test
basisdata,,
diantaranya adalah
adalah;;
Apa yang dimaksud Data dan Informasi itu ?
Apa yang dimaksud Basisdata dan Sistem
Manajemen Basisdata (Database Manajemen
System/DBMS) ?
Seberapa pentingkah DBMS bagi perusahaan ?
Apa keunggulan dan kelemahan dari DBMS ?
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
Informasi adalah sesuatu yang lebih bermakna dari data
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
memenuhi kebutuhan pemakai akan informasi
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 operasioperasi pengendalian organisasi.
Data dapat dipandang sebagai sumber daya (aset)
penting pada perilaku manajemen modern
Basis data dapat digambarkan dengan tabel-tabel sebagai berikut:
Atribut / elemen data / data field
File Barang
Kode
Nama
Jumlah
Harga
SB-01
SABUN GIV
10
Rp. 500
SB-02
SABUN LUX
5
Rp. 750
SG-03
SIKAT GIGI FORMULA
20
Rp. 1000
Isi data / data value
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
6. Meta data adalah data yang menjelaskan data yang lainya, penjelasan
tersebut dapat berupa definisi data,struktur data, aturan serta batasan
Exp. 0001.51.2007 => meta datanya bisa berupa NIM yang
berkarakteristik 12 karakter, tidak boleh ada angka negatif, tidak boleh
menggunakan “, - *” dsb
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
dengan yang lainnya (terpisah-pisah).
Program
A
Program
B
Program
C
Sistem
Pemesanan
File
Master
Pelanggan
File
Master
Persediaan
File
Pemesanan
Program
A
Program
B
Program
A
Sistem
Penjualan
Sistem
Gaji
File
File
File
Master
Master
Penjualan
Persediaan Pelanggan
File
Karyawan
Diagram
Sistem
Pemrosesan
Berkas (file)
Diagram Sistem Pemrosesan Berkas
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)
4. Query data untuk memperoleh informasi tertentu sangat
terbatas
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.
Solusinya bagaimana ?
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
• Sybase, dll.
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
◦ Kesulitan pengaksesan dan isolasi data standarisasi
bahasa query
◦ Masalah-masalah keamanan data pemberian hak akses
dan batasannya pada pengguna
Tujuan Penggunaan DBMS
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
◦
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
lebih efisien dan efektif
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
database pada aplikasi-aplikasi tertentu, misalnya pada aplikasi
yang membutuhkan pengguna terbatas dengan alasan proteksi
dan keamanan data/informasi (closed system information) serta
kinerja manipulasi dan penerapan metode akses yang spesifik
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 (tabeltabel) 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 sederhana/mudah untuk membantu pelaksanaan
kegiatan-kegiatan bisnis yang digelutinya
Terdapat empat tipe pemakai basis data,
yaitu;
◦
◦
◦
◦
Pemrogram aplikasi (aplication programmer)
Pemakai canggih
Pemakai terspesialisasi/khusus
Pemakai awam
Pemakai Basis Data
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 Pascal, C++, Java, PHP dsb. DML
Call digunakan sebagai alat manipulasi basisdata berupa
operasi-operasi CRUD (Create, Read, Update dan
Delete).
Pemrogram aplikasi terkadang harus memrogram
sampai pada CLI (Call Level Interace) yang disediakan
vendor DBMS agar dapat menghubungkan program
dengan DBMS yang digunakan. Contoh CLI adalah ODBC
(Open Database Connectifity) dan JDBC (Java Database
Connectifity).
Pemrogram Aplikasi
Pemakai canggih, merupakan pemakai yang
berinteraksi langsung dengan DBMS untuk
memanipulasi data, dengan cara memberikan perintahperintah dalam bahasa query basisdata (database query
language) ke mesin basis data (tidak memerlukan
perantara program aplikasi).
Syarat utama agar kelompok pemakai canggih ini dapat
bekerja secara optimal dalam memanipulasi data pada
mesin DBMS adalah pengetahuannya yang menyeluruh
(komprehensif) terhadap struktur data dan skema relasi
antar tabel dari database yang diaksesnya
Pemakai Canggih
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
◦ Pemberian dan pembatasan wewenang (otorisasi)
pengguna basisdata
Pemakai Terspesialisasi
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 formulir
isian (entry form) data.
Pemakai Awam
Pemakai Awam
Pemrogram
Aplikasi
User
Mahir
Database
Administrator
Aplikasi
Program
System
Call
Query
Pola
Database
DML Precompiler
Object Code
Program Aplikasi
Query
Processor
DDL
Compiler
Database Manager
File Manager
File Data
Data Dictionary
Disk Storage
Skema Pengguna Basis Data
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,
Siebel dll.
Perkembangan DBMS & Produknya
Konsep Komputasi 11-Tier
Server
* S/O Novell Netware
* Non-Database Server
Komputasi 1-TIER
Proses :
* Server mengirim seluruh data ke Client
* Searching dilakukan disisi Client
* S/O DOS
* C ++
* S/O DOS
* Foxpro
Masalah :
* Overload Network & terjadi Collision
* Jumlah workstation terlayani terbatas
* S/O DOS
* Dbase
* S/O DOS
* Clipper
Workstation 1
Workstation 2
Workstation 3
Workstation 4
Cari data BUDI di table
SALES
Cari data SUSTAGENT di table
BARANG
Cari data PT. INDOMARINE di
table VENDOR
Tampilkan seluruh data Penjualan
dari sales ID 12345 di table JUAL
Konsep Komputasi 22-Tier
* S/O: Windows NT,
Windows 2000/2003 Server,
Linux/Unix
* Database Server:Oracle
Server, Ms-SQL Server, DB2,
MySQL dll.
Server
Komputasi 2-TIER
Back-End & Front-End
Proses :
Masalah :
* Server menerima request data dari Client
berupa SQL C o m m a n d
* Server mengirim data(RecordSet) sesuai request
Java
Visual Basic
Jika terjadi perubahan bussines rule (rumus, suku bunga, form isian
dll.), maka semua Client perlu di re-instalasi program aplikasi
Borland Delphi
Oracle
Developer
Client 1
Client 2
Client 3
Client 4
Select * From SALES Where
nmsales=‘BUDI’
Select * From BARANG Where
nmbarang=‘SUSTAGENT’
Select * From VENDOR Where
nmvendor=‘PT. INDOMARINE’
Select * From JUAL Where
salesID=‘12345’
Client: Bertindak sebagai User Interface (presentasi data) & tempat bussines logic (SI Keuangan, SI Personalia
dll.) berada
Konsep Komputasi MultiMulti-Tier (Client
(Client--Server)
Database Server
Komputasi 3-TIER
Back-End, Middle-Tier & Front-End
S/O: Windows NT, Windows 2000/2003 Server, Linux/Unix
Web Server: IIS + ASP, Apache + PHP
Web Server
Opera
* S/O: Windows NT,
Windows 2000/2003 Server,
Linux/Unix
* Database Server:Oracle
Server, Ms-SQL Server, DB2,
MySQL,Sybase, Informix dll.
Internet
Explorer
Netscape
Navigator
Mozila
Client 1
Client 2
Client 3
Client 4
Select * From SALES Where
nmsales=‘BUDI’
Select * From BARANG Where
nmbarang=‘SUSTAGENT’
Select * From VENDOR Where
nmvendor=‘PT. INDOMARINE’
Select * From JUAL Where
salesID=‘12345’
Client: Hanya bertindak sebagai User Interface (presentasi data)
Web Server: Tempat bussines logic (SI Keuangan, SI Personalia dll.) berada
* Oracle DBA-Tools * Oracle SQLServer
Komputasi 3-TIER Back-End,
Middle-Tier & Front-End
Web Server (MiddleTier)
Oracle B O
M
Oracle Internet Application Server (Oracle IAS) Apache Web-Server +
CGI Interface
Oracle Work
In Process
Client 1
Oracle MRP Oracle
Capacity
Oracle Financial
(Inventory, Assete,
GL etc.)
Client 2
Client 3
Oracle ERP Dengan Komputasi
Tersebar
Client 4
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
fasilitas replikasi atau mirroring data serta metode data
backup and recovery yang mudah
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
Relasi dengan basis data, tabel atau kolom
Teknologi 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 tabeltabel 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
pengaksesan konkuren (Transaction)
Pertimbangan Pengembangan
RDBMS
Download