Sistem Basis Data -...

31
Sistem Basis Data Sistem Basis Data Indah Dwi Mumpuni, S.Kom, MM [email protected] 081-944970094

Transcript of Sistem Basis Data -...

Sistem Basis DataSistem Basis Data

Indah Dwi Mumpuni, S.Kom, MM

[email protected]

Pengantar Manajemen Sistem Basis DataPengantar Manajemen Sistem Basis Data

Fokus utama dalam manajemen Basisdata adalah bagaimana;

• Mengumpulkan/menginventarisir/memburu data,

• Mengorganisasi/mengelompokkan data,

• Menambah, mengubah dan menghapus data serta• 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.

BeberapaBeberapa pertanyaanpertanyaan dasardasar dapatdapat diajukandiajukan sebagaisebagaitesttest--case case pengetahuanpengetahuan kitakita terhadapterhadap basisdatabasisdata, , diantaranyadiantaranya adalahadalah;;

� 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 InformasiData 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 merupakan data yang telah diolah sedemikian rupa sehingga memiliki makna tertentu bagi pengguna

� Informasi adalah sesuatu yang lebih bermakna dari data

Basis DataBasis 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 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 datamudah 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 operasi-operasi pengendalian organisasi.

� Data dapat dipandang sebagai sumber daya (aset) � Data dapat dipandang sebagai sumber daya (aset) penting pada perilaku manajemen modern

Basis data dapat digambarkan dengan tabel-tabel sebagai berikut:

Rp. 50010SABUN GIVSB-01

HargaJumlahNamaKode

File Barang

Atribut / elemen data / data field

Rp. 100020SIKAT GIGI FORMULASG-03

Rp. 7505SABUN LUXSB-02 Record / tuple

Isi data / data value

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 atributpada 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 Sistem Pengolahan Data Dengan Sistem Pemrosesan Berkas (File)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 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

Sistem

Pemesanan

Sistem

Gaji

Program

B

Program

C

Program

A

Sistem

Penjualan

Program

B

Program

A

Diagram

Sistem

Pemrosesan

Berkas (file)

Diagram Sistem Pemrosesan BerkasDiagram Sistem Pemrosesan Berkas

File

Master

Pelanggan

File

Master

Persediaan

File

Pemesanan

File

Master

Persediaan

File

Master

Pelanggan

File

KaryawanFile

Penjualan

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 berarti3. 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

ApikasiApikasi BerbasisBerbasis File File MerupakanMerupakan SistemSistem PengolahanPengolahanData Yang Data Yang UsangUsang

� 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 pengaruh dan karakteristik bahasa pemrograman, sehingga bahasa pemrograman-lah yang harus menyesuaikan dengan data dan bukan sebaliknya.

Solusinya bagaimana ?

SistemSistem PengolahanPengolahan Data Data DenganDengan PendekatanPendekatanBasis DataBasis 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 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 lingkunganyang nyaman dan efisien untuk penyimpanan danpengambilan data dari basis data.

� Software DBMS dengan kemampuannya untuk pengelolaankoleksi data yang besar, dapat berperan dalam memberikanabstraksi (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 pengelolaandata oleh DBMS, tercermin dari tujuan dasar penerapankonsep DBMS, yaitu menghindari;◦ Redudansi, inkonsistensi dan anomali data serta masalah

integritas data ◦ Kesulitan pengaksesan dan isolasi data � standarisasi

TujuanTujuan PenggunaanPenggunaan DBMSDBMS

◦ Kesulitan pengaksesan dan isolasi data � standarisasibahasa query

◦ Masalah-masalah keamanan data � pemberian hak aksesdan batasannya pada pengguna

KeunggulanKeunggulan DBMSDBMSKeunggulan 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 ◦ 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

KelemahanKelemahan DBMSDBMS� 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 � 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

KebutuhanKebutuhan AkanAkan DBMSDBMSSeiring 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◦ 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 DataPemakai 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 danDelete).

� Pemrogram aplikasi terkadang harus memrogram sampai pada CLI (Call Level Interace) yang disediakan vendor DBMS agar dapat menghubungkan program

Pemrogram AplikasiPemrogram Aplikasi

vendor DBMS agar dapat menghubungkan program dengan DBMS yang digunakan. Contoh CLI adalah ODBC (Open Database Connectifity) dan JDBC (Java Database Connectifity).

� 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

Pemakai CanggihPemakai Canggih

(komprehensif) terhadap struktur data dan skema relasi antar tabel dari database yang diaksesnya

� 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

Pemakai TerspesialisasiPemakai Terspesialisasi

◦ 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, 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

Pemakai AwamPemakai Awam

� Biasanya, pemakai awam ini memiliki pengetahuan tentang basis data sebatas pada apa yang dia lakukan terhadap formulir isian (entry form) data.

File Manager

PemrogramAplikasi

Object CodeProgram Aplikasi

AplikasiProgram

Pemakai Awam

SystemCall

DML Precompiler

UserMahir

Query

Query Processor

Database Manager

DDLCompiler

DatabaseAdministrator

PolaDatabase

Skema Pengguna Basis DataSkema Pengguna Basis Data

File Manager

Disk Storage

Data DictionaryFile 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

PerkembanganPerkembangan DBMS & DBMS & ProduknyaProduknya

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 1Konsep Komputasi 1--TierTier

Proses :* Server mengirim seluruh data ke Client

* Searching dilakukan disisi Client

Masalah :* Overload Network & terjadi Collision

Komputasi 1-TIER

Server

* S/O Novell Netware

* Non-Database Server

* Searching dilakukan disisi Client * Jumlah workstation terlayani terbatas

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

* C ++

Konsep Komputasi 2Konsep Komputasi 2--TierTier

Proses :* Server menerima request data dari Client

berupa SQL C o m m a n d

Masalah :Jika terjadi perubahan bussines rule (rumus, suku bunga, form isian

Komputasi 2-TIERBack-End & Front-End

Server * S/O: Windows NT,

Windows 2000/2003 Server,

Linux/Unix

* Database Server:Oracle

Server, Ms-SQL Server, DB2,

MySQL dll.

berupa SQL C o m m a n d

* Server mengirim data(RecordSet) sesuai request

Jika terjadi perubahan bussines rule (rumus, suku bunga, form isian

dll.), maka semua Client perlu di re-instalasi program aplikasi

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 BasicJava Borland DelphiOracle

Developer

Client: Bertindak sebagai User Interface (presentasi data) & tempat bussines logic (SI Keuangan, SI Personalia

dll.) berada

Konsep Komputasi MultiKonsep Komputasi Multi--Tier (ClientTier (Client--Server)Server)

Komputasi 3-TIERBack-End, Middle-Tier & Front-End

Database Server * S/O: Windows NT,

Windows 2000/2003 Server,

Linux/Unix

* Database Server:Oracle

Server, Ms-SQL Server, DB2,

MySQL,Sybase, Informix dll.

Web Server S/O: Windows NT, Windows 2000/2003 Server, Linux/Unix

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

ExplorerOpera Netscape

NavigatorMozila

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)

Web Server: Tempat bussines logic (SI Keuangan, SI Personalia dll.) berada

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

Oracle ERP Dengan Komputasi Oracle ERP Dengan Komputasi TersebarTersebar

Client 1

Oracle Work

In Process

Oracle B O

MOracle Financial

(Inventory, Assete,

GL etc.)

Oracle MRP Oracle

Capacity

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. 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

Teknologi RDBMSTeknologi RDBMS

� Makro/Fungsi� Prosedur tersimpan (stored procedure)� Rutin keluar� Pengaturan hak akses� Profile pemakai� Relasi dengan basis data, tabel atau kolom

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

Pertimbangan Pengembangan Pertimbangan Pengembangan RDBMSRDBMS

diterapkan pada level basis data dan objek-objek di dalamnya

◦ Bagaimana prosedur lock dan unlock table untuk pengaksesan konkuren (Transaction)