Sistem Basis Data - Staffsite STIMATA

advertisement
Sistem Basis Data
Mahmud Yunus, S.Kom., M.Pd.
[email protected]
[email protected]
081-8538101
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 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 ?
 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/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
Nilai 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. 2011.51.0007 => meta datanya bisa berupa NIM yang tersusun dari
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).
Diagram Sistem Pemrosesan Berkas
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)
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 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
 Masalah-masalah keamanan data  pemberian hak
akses dan batasannya pada pengguna
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
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
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)
Saat ini hampir semua pengembang telah menerapkan standar
tersebut untuk mengembangan software DBMS-nya
Pemakai Basis Data
Terdapat empat tipe pemakai basis
data, yaitu;
 Pemrogram aplikasi (aplication
programmer)
 Pemakai canggih
 Pemakai terspesialisasi/khusus
 Pemakai awam
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
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).
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
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 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
 Pemberian dan pembatasan wewenang (otorisasi)
pengguna basisdata
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
formulir isian (entry form) data.
Skema Pengguna Basis Data
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
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,
Siebel dll.
Konsep Komputasi 1-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 2-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 Multi-Tier (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 ERP Dengan Komputasi Tersebar
* 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
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
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
 Relasi dengan basis data, tabel atau kolom
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 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)
Download