sistem basis data -...
TRANSCRIPT
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)