IT204
IT204
KONSEP
Terminologi DBMS
Terminologi DBMS
Entity
Entity
Atribute
Atribute
Data value (nilai atau isi data)
Data value (nilai atau isi data)
Record/Tuple
Record/Tuple
Entity
Entity
Entity adalah orang, tempat, kejadian atau
Entity adalah orang, tempat, kejadian atau
konsep yang informasinya direkam.
konsep yang informasinya direkam.
Contoh:
Contoh:
– Entity pada Rumah Sakit adalah pasien, Entity pada Rumah Sakit adalah pasien, dokter, obat, kamar.
dokter, obat, kamar.
– Entity pada Universitas adalah mahasiswa, Entity pada Universitas adalah mahasiswa, buku, pembayaran, KHS.
Atribute (1)
Atribute (1)
Setiap entity mempunyai atribute atau
Setiap entity mempunyai atribute atau
sebutan untuk mewakili suatu entity.
sebutan untuk mewakili suatu entity.
Seorang
Seorang
siswa
siswa
dapat
dapat
dilihat
dilihat
dari
dari
atributenya, misalnya nama, nomor siswa,
atributenya, misalnya nama, nomor siswa,
alamat, nama orang tua, hobby.
alamat, nama orang tua, hobby.
Atribute juga disebut sebagai data
Atribute juga disebut sebagai data
elemen, data field, data item.
Data Value (1)
Data Value (1)
Data value adalah data aktual atau
Data value adalah data aktual atau
informasi yang disimpan pada tiap data
informasi yang disimpan pada tiap data
elemen atau atribute.
elemen atau atribute.
Atribute nama mahasiswa menunjukkan
Atribute nama mahasiswa menunjukkan
tempat dimana informasi nama mahasiswa
tempat dimana informasi nama mahasiswa
disimpan, sedang data value adalah
disimpan, sedang data value adalah
Sutrisno, Budiman, merupakan isi data
Sutrisno, Budiman, merupakan isi data
nama_MHS tersebut.
Record/Tuple (1)
Record/Tuple (1)
Kumpulan elemen-elemen yang saling berkaitan Kumpulan elemen-elemen yang saling berkaitan menginformasikan tentang suatu entity secara
menginformasikan tentang suatu entity secara
lengkap.
lengkap.
Satu record mewakili satu data atau informasi Satu record mewakili satu data atau informasi tentang seseorang misalnya, No_MHS,
tentang seseorang misalnya, No_MHS,
Nama_MHS, Tgl_Lahir, Alamat.
Nama_MHS, Tgl_Lahir, Alamat.
Satu record terdiri dari field-field yang saling Satu record terdiri dari field-field yang saling berhubungan untuk menunjukkan bahwa field
berhubungan untuk menunjukkan bahwa field
tersebut dalam satu pengertian yang lengkap
tersebut dalam satu pengertian yang lengkap
dan direkam dalam satu record.
F i l e (1)
F i l e (1)
Kumpulan record-record sejenis yang
Kumpulan record-record sejenis yang
mempunyai panjang elemen yang
mempunyai panjang elemen yang
sama, atribute yang sama, namun
sama, atribute yang sama, namun
berbeda-beda data valuenya.
berbeda-beda data valuenya.
Dalam satu file terdapat record-
Dalam satu file terdapat
record-record yang sejenis, sama besar,
record yang sejenis, sama besar,
sama bentuk, merupakan satu
sama bentuk, merupakan satu
kumpulan entity yang seragam.
Database Management System
Database Management System
(DBMS)
(DBMS)
DatabaseDatabase adalah Kumpulan file-file yang adalah Kumpulan file-file yang
mempunyai kaitan antara satu file dengan file
mempunyai kaitan antara satu file dengan file
yang lain sehingga membentuk satu bangunan
yang lain sehingga membentuk satu bangunan
data untuk menginformasikan satu perusahaan,
data untuk menginformasikan satu perusahaan,
instansi dalam batasan tertentu.
instansi dalam batasan tertentu.
Bila terdapat file yang tidak dapat dipadukan Bila terdapat file yang tidak dapat dipadukan atau dihubungkan dengan file yang lainnya
atau dihubungkan dengan file yang lainnya
berarti file tersebut bukanlah kelompok dari satu
berarti file tersebut bukanlah kelompok dari satu
database, ia akan dapat membentuk satu
database, ia akan dapat membentuk satu
database sendiri.
Database
Database
SIASAT AKADEMIK
Database Management System
Database Management System
(DBMS)
(DBMS)
Database Management System (DBMS)Database Management System (DBMS) adalah suatu koleksi (kumpulan) data yang
adalah suatu koleksi (kumpulan) data yang
saling berelasi dan satu set program" untuk
saling berelasi dan satu set program" untuk
mengakses database (membaca data, mengisi
mengakses database (membaca data, mengisi
data, menghapus data, melaporkan data).
data, menghapus data, melaporkan data).
Jadi Jadi DBMSDBMS terdiri: terdiri:
– Database Database
– Set Program pengelola (untuk menambah data, Set Program pengelola (untuk menambah data, menghapus data, mengambil dan membaca data)
DBMS
Kegunaan database/ Syarat database
Kegunaan database/ Syarat database
Penyusunan satu database digunakan untuk Penyusunan satu database digunakan untuk mengatasi masalah masalah pada penyusunan
mengatasi masalah masalah pada penyusunan
data yaitu:
data yaitu:
– Redundansi data Redundansi data
– Inkonsistensi dataInkonsistensi data
– Kesulitan pengaksesan dataKesulitan pengaksesan data
– Isolasi data untuk standarisasiIsolasi data untuk standarisasi
– Multiple userMultiple user (banyak pemakai) (banyak pemakai)
– Masalah keamanan (Masalah keamanan (securitysecurity))
– Masalah integrasi (kesatuan)Masalah integrasi (kesatuan)
Redundansi Data
Redundansi Data
Jika file-file dan program aplikasi diciptakan oleh Jika file-file dan program aplikasi diciptakan oleh
programmer yang berbeda pada waktu yang berselang
programmer yang berbeda pada waktu yang berselang
cukup panjang, maka ada beberapa bagian data
cukup panjang, maka ada beberapa bagian data
mengalami penggandaan pada file-file yang berbeda.
mengalami penggandaan pada file-file yang berbeda. Sebagai contoh: alamat dan nomor telpon dari Sebagai contoh: alamat dan nomor telpon dari
pelanggan tercatat pada file Deposito juga pada file
pelanggan tercatat pada file Deposito juga pada file
Rekening Koran dan juga file Nasabah.
Rekening Koran dan juga file Nasabah.
Penyimpanan di beberapa tempat untuk data yang Penyimpanan di beberapa tempat untuk data yang
sama ini disebut sebagai redundansi dan
sama ini disebut sebagai redundansi dan
mengakibatkan pemborosan ruang penyimpanan dan
mengakibatkan pemborosan ruang penyimpanan dan
juga biaya untuk mengakses jadi lebih tinggi.
Inkonsistensi Data
Inkonsistensi Data
Penyimpanan data yang sama berulang-ulang di Penyimpanan data yang sama berulang-ulang di beberapa file dapat mengakibatkan juga
beberapa file dapat mengakibatkan juga
inkonsistensi (tidak konsisten).
inkonsistensi (tidak konsisten).
Hal ini terjadi bila suatu ketika pelanggan Hal ini terjadi bila suatu ketika pelanggan
tersebut pindah alamat dan nomor telponnya
tersebut pindah alamat dan nomor telponnya
berubah, maka seharusnya ketiga file yang
berubah, maka seharusnya ketiga file yang
memuat data tersebut harus diubah/
di-memuat data tersebut harus diubah/ di-updateupdate. .
Bila salah satu saja dari file yang mengandung
Bila salah satu saja dari file yang mengandung
data tersebut terlewat
di-data tersebut terlewat di-updateupdate maka terjadilah maka terjadilah tidak konsisten tadi.
Kesulitan Dalam Pengaksesan Data
Kesulitan Dalam Pengaksesan Data
Pada suatu saat dibutuhkan untuk mencetak Pada suatu saat dibutuhkan untuk mencetak data 50711 Salatiga, padahal belum tersedia
data 50711 Salatiga, padahal belum tersedia
program yang telah ditulis untuk mengeluarkan
program yang telah ditulis untuk mengeluarkan
data tersebut, maka kesulitan tersebut timbul.
data tersebut, maka kesulitan tersebut timbul.
Penyelesaian untuk itu adalah ke arah DBMS Penyelesaian untuk itu adalah ke arah DBMS yang mampu mengambil data secara langsung
yang mampu mengambil data secara langsung
dengan bahasa yang familiar dan mudah
dengan bahasa yang familiar dan mudah
digunakan (
Isolasi Data Untuk Standarisasi
Isolasi Data Untuk Standarisasi
Jika data tersebar dalam beberapa file dalam Jika data tersebar dalam beberapa file dalam bentuk format yang tidak sama, maka ini
bentuk format yang tidak sama, maka ini
menyulitkan dalam menulis program aplikasi
menyulitkan dalam menulis program aplikasi
untuk mengambil dan menyimpan data.
untuk mengambil dan menyimpan data.
Data dalam satu database dibuat satu format Data dalam satu database dibuat satu format sehingga mudah dibuat program aplikasinya.
sehingga mudah dibuat program aplikasinya.
Bayangkan betapa sulitnya membuat program Bayangkan betapa sulitnya membuat program aplikasi bilamana data dibuat dari format text file
aplikasi bilamana data dibuat dari format text file
Pascal, BASIC, C++, dan juga format dari versi
Pascal, BASIC, C++, dan juga format dari versi
Lotus 123 dan lainnya.
Multiple User
Multiple User
(Banyak Pemakai)
(Banyak Pemakai)
Salah satu alasan mengapa database dibangun Salah satu alasan mengapa database dibangun karena nantinya data tersebut digunakan oleh
karena nantinya data tersebut digunakan oleh
banyak orang dalam waktu yang berbeda, di akses
banyak orang dalam waktu yang berbeda, di akses
oleh program yang sama tapi berbeda orang dan
oleh program yang sama tapi berbeda orang dan
waktu.
waktu.
Dalam rangka mempercepat semua daya guna Dalam rangka mempercepat semua daya guna
sistem dan mendapat responsi waktu yang cepat,
sistem dan mendapat responsi waktu yang cepat,
beberapa sistem mengijinkan banyak pemakai untuk
beberapa sistem mengijinkan banyak pemakai untuk
meng"
meng"updateupdate" data secara simultan. " data secara simultan.
Semua ini memungkinkan terjadi karena data yang Semua ini memungkinkan terjadi karena data yang diolah tidaklah tergantung dan menyatu dalam
diolah tidaklah tergantung dan menyatu dalam
program tapi ia terlepas dalam satu kelompok data
Masalah Keamanan (
Masalah Keamanan (
Security
Security
)
)
Tidak setiap pemakai sistem database Tidak setiap pemakai sistem database
diperbolehkan untuk mengakses semua data.
diperbolehkan untuk mengakses semua data.
Misalkan data mengenai gaji pegawai hanya
Misalkan data mengenai gaji pegawai hanya
boleh dibuka oleh bagian keuangan dan
boleh dibuka oleh bagian keuangan dan
personalia, tidak diperkenankan bagian gudang
personalia, tidak diperkenankan bagian gudang
membaca dan mengubahnya.
membaca dan mengubahnya.
Keamanan ini dapat diatur lewat program yang Keamanan ini dapat diatur lewat program yang dibuat oleh pemrogram atau fasilitas keamanan
dibuat oleh pemrogram atau fasilitas keamanan
dari
dari operating sistemoperating sistem misalnya misalnya Novell NetwareNovell Netware
untuk
Masalah Integritas (
Masalah Integritas (
Kesatuan
Kesatuan
)
)
Database berisi file-file yang saling berkaitan, Database berisi file-file yang saling berkaitan, masalah utama adalah bagaimana kaitan antara
masalah utama adalah bagaimana kaitan antara
file tersebut terjadi.
file tersebut terjadi.
Meskipun diketahui bahwa file A berkaitan Meskipun diketahui bahwa file A berkaitan dengan file B, namun secara teknis maka ada
dengan file B, namun secara teknis maka ada
field kunci yang mengaitkan kedua file tersebut.
Masalah
Masalah
Data Independence
Data Independence
(
(
kebebasan Data
kebebasan Data
)
)
Bagaimana kita mampu menciptakan dimana antara Bagaimana kita mampu menciptakan dimana antara
program dan database pada keadaan terpisah. Sehingga
program dan database pada keadaan terpisah. Sehingga
perintah-perintah dalam paket DBMS bebas terhadap
perintah-perintah dalam paket DBMS bebas terhadap
database.
database.
Namun perlu pula dipikirkan bagaimana bila ada syarat Namun perlu pula dipikirkan bagaimana bila ada syarat
terhadap database yang ada. Misalnya syarat pengambilan
terhadap database yang ada. Misalnya syarat pengambilan
uang tabungan Bank adalah harus disisakan paling minimal
uang tabungan Bank adalah harus disisakan paling minimal
25000. Syarat ini tentu dimasukkan dalam aplikasi program
25000. Syarat ini tentu dimasukkan dalam aplikasi program
yang dibangun. Namun bagaimanakah bila suatu ketika
yang dibangun. Namun bagaimanakah bila suatu ketika
syarat itu telah bergeser dari syarat 25000 menjadi 50000?.
syarat itu telah bergeser dari syarat 25000 menjadi 50000?.
Di sini aplikasi program yang telah dibangun haruslah
Di sini aplikasi program yang telah dibangun haruslah
diubah dan ini menunjukkan ketidak bebasan program yang
diubah dan ini menunjukkan ketidak bebasan program yang
dibuat terhadap database.
Abstraksi Data
Abstraksi Data
Sistem yang sesungguhnya tentang teknis
Sistem yang sesungguhnya tentang teknis
bagaimana data disimpan dan dipelihara
bagaimana data disimpan dan dipelihara
Seakan-akan disembunyikan kerumitannya
Seakan-akan disembunyikan kerumitannya
dan kemudian diungkapkan dalam bahasa
dan kemudian diungkapkan dalam bahasa
dan gambar yang mudah dimengerti
dan gambar yang mudah dimengerti
orang awam.
Tingkatan Abstraksi (1)
Tingkatan Abstraksi (1)
Level PhisikLevel Phisik
– Level abstraksi paling rendah, Level abstraksi paling rendah,
– menggambarkan bagaimana (menggambarkan bagaimana (howhow) data disimpan ) data disimpan dalam kondisi sebenarnya.
dalam kondisi sebenarnya.
– Level ini tentu paling kompleks, struktur data level Level ini tentu paling kompleks, struktur data level
terendah digambarkan pada level ini.
terendah digambarkan pada level ini.
Level KonseptualLevel Konseptual
– Level abstraksi data level lebih tinggi Level abstraksi data level lebih tinggi
– menggambarkan data apa (menggambarkan data apa (whatwhat) yang disimpan ) yang disimpan dalam database, dan hubungan relasi yang terjadi
dalam database, dan hubungan relasi yang terjadi
antara data.
antara data.
– Level konseptual ini digunakan oleh Level konseptual ini digunakan oleh database database administrator
administrator, yang memutuskan informasi apa yang , yang memutuskan informasi apa yang akan dipelihara dalam satu database.
Tingkatan Abstraksi (2)
Tingkatan Abstraksi (2)
Level Pandangan Pemakai (Level Pandangan Pemakai (View LevelView Level))
– Level abstraksi tertinggi yang menggambarkan hanya Level abstraksi tertinggi yang menggambarkan hanya
satu bagian dari keseluruhan database.
satu bagian dari keseluruhan database.
– Pada level ini hanya sebagian saja yang dilihat dan Pada level ini hanya sebagian saja yang dilihat dan dipakai, hal ini disebabkan beberapa pemakai
dipakai, hal ini disebabkan beberapa pemakai
database tidak membutuhkan semua isi database.
database tidak membutuhkan semua isi database. – Level ini sangat dekat dengan Level ini sangat dekat dengan useruser/ pemakai, ada / pemakai, ada
beberapa kelompok
beberapa kelompok useruser dengan pandangan berbeda dengan pandangan berbeda butuh data dalam database.
butuh data dalam database.
– Misalkan bagian Personalia hanya memakai data file Misalkan bagian Personalia hanya memakai data file Karyawan, Gaji, tidak membutuhkan data file
Karyawan, Gaji, tidak membutuhkan data file
Gudang, Transaksi Barang Masuk.
Data Independence
Data Independence
Physical Data IndependencePhysical Data Independence
– Kebolehan untuk mengubah pola phisik database Kebolehan untuk mengubah pola phisik database tanpa mengakibatkan suatu aplikasi program ditulis tanpa mengakibatkan suatu aplikasi program ditulis kembali.
kembali.
– Modifikasi pada level phisik biasanya pada saat Modifikasi pada level phisik biasanya pada saat meningkatkan daya guna.
meningkatkan daya guna.
Logical data independenceLogical data independence
– Kebolehan untuk mengubah pola konseptual tanpa Kebolehan untuk mengubah pola konseptual tanpa
mengakibatkan suatu aplikasi program ditulis kembali. mengakibatkan suatu aplikasi program ditulis kembali. – Modifikasi pada level konseptual teristimewa saat Modifikasi pada level konseptual teristimewa saat
struktur logika database berubah, ditambahkan atau struktur logika database berubah, ditambahkan atau dikurangi.
Paket Bahasa
Paket Bahasa
Data Definition LanguageData Definition Language
– satu set perintah yang menspesifikasikan suatu satu set perintah yang menspesifikasikan suatu
terapan yang rinci dari pola database yang biasanya
terapan yang rinci dari pola database yang biasanya
tersembunyi dari
tersembunyi dari useruser/pemakai./pemakai.
– Sebagai contoh perintah itu adalah perintah CREATE, Sebagai contoh perintah itu adalah perintah CREATE, MODIFY REPORT, MODIFY STRUCTURE
MODIFY REPORT, MODIFY STRUCTURE
Data Manipulation LanguageData Manipulation Language
– Data Manipulation LanguageData Manipulation Language (DML) adalah bahasa (DML) adalah bahasa yang memperbolehkan pemakai untuk akses atau
yang memperbolehkan pemakai untuk akses atau
manipulasi data yang telah diorganisasikan
manipulasi data yang telah diorganisasikan
sebelumnya dalam model data yang tepat.
sebelumnya dalam model data yang tepat.
mengambil informasi yang tersimpan di database mengambil informasi yang tersimpan di database
menyisipkan informasi baru ke databasemenyisipkan informasi baru ke database
Paket Bahasa - DML
Paket Bahasa - DML
Secara dasar ada dua tipe DML:
Secara dasar ada dua tipe DML:
ProceduralProcedural
– yang membutuhkan pemakai untuk menspesifikasikan yang membutuhkan pemakai untuk menspesifikasikan data
data apa apa yang dibutuhkan dan yang dibutuhkan dan bagaimana bagaimana untuk untuk mendapatkannya.
mendapatkannya.
– Paket bahasa Procedural DML adalah dBASE III, FoxBASE
Non proceduralNon procedural
– yang membutuhkan pemakai untuk menspesifikasikan yang membutuhkan pemakai untuk menspesifikasikan data
data apa apa yang dibutuhkan tanpa menspesifikasikan yang dibutuhkan tanpa menspesifikasikan bagaimana untuk mendapatkannya.
bagaimana untuk mendapatkannya.
– Paket bahasa Non ProceduralNon Procedural DML diberi nama SQL DML diberi nama SQL (
(Structural Query LanguageStructural Query Language), QBE (), QBE (Query By Query By Example
Pengguna Database (1)
Pengguna Database (1)
Database Manager
Database Manager
– Satu Satu database managerdatabase manager adalah satu modul adalah satu modul program yang menyediakan
program yang menyediakan interfaceinterface antara antara penyimpanan data low-level dalam database
penyimpanan data low-level dalam database
dengan satu aplikasi program dan query yang
dengan satu aplikasi program dan query yang
diajukan ke sistem.
diajukan ke sistem.
– Tugas dan tanggung jawab Tugas dan tanggung jawab Database ManagerDatabase Manager::
Interaksi dengan manager fileInteraksi dengan manager file
Integrity EnforcementIntegrity Enforcement (integritas) (integritas) Security EnforcementSecurity Enforcement (keamanan) (keamanan) BackupBackup dan dan recoveryrecovery
Pengguna Database (2)
Pengguna Database (2)
Database Administrator
Database Administrator
– Database AdministratorDatabase Administrator adalah orang yang adalah orang yang mempunyai kekuasaan sebagai pusat
mempunyai kekuasaan sebagai pusat
pengontrolan terhadap seluruh sistem baik data
pengontrolan terhadap seluruh sistem baik data
maupun program yang mengakses data.
maupun program yang mengakses data. – Fungsi Fungsi database administrator database administrator adalah:adalah:
Mendefinisikan pola struktur databaseMendefinisikan pola struktur database
Mendefinisikan struktur penyimpanan dan metode Mendefinisikan struktur penyimpanan dan metode akses
akses
Mampu memodifikasi pola dan organisasi phisikMampu memodifikasi pola dan organisasi phisik
Memberikan kekuasaan pada Memberikan kekuasaan pada useruser untuk mengakses untuk mengakses data
data
Pengguna Database (3)
Pengguna Database (3)
Database User
Database User
– Satu tujuan utama dari sistem database adalah Satu tujuan utama dari sistem database adalah
menciptakan suasana bagaimana informasi
menciptakan suasana bagaimana informasi
dibaca dan data baru disimpan dalam database.
dibaca dan data baru disimpan dalam database. – Ada 4 macam pemakai database yang berbeda Ada 4 macam pemakai database yang berbeda
keperluan dan cara aksesnya yaitu:
keperluan dan cara aksesnya yaitu:
Programmer Aplikasi (PA)Programmer Aplikasi (PA) Casual UserCasual User
Naïve UserNaïve User
Database User (1)
Database User (1)
Programmer Aplikasi (PA)
Programmer Aplikasi (PA)
– Profesional komputer yang berinteraksi dengan Profesional komputer yang berinteraksi dengan
sistem lewat DML yang dibuat dengan bahasa
sistem lewat DML yang dibuat dengan bahasa
C, Cobol dan lainnya.
C, Cobol dan lainnya.
– Program-program yang dibuat disebut sebagai Program-program yang dibuat disebut sebagai program aplikasi, misalnya untuk perbankan,
program aplikasi, misalnya untuk perbankan,
administrasi, akuntansi dan lain lain.
administrasi, akuntansi dan lain lain.
– Syntax DML berbeda dengan syntax bahasa Syntax DML berbeda dengan syntax bahasa komputer umumnya.
Database User (2)
Database User (2)
Casual User
Casual User
(sepintas lalu, tidak tetap)
(sepintas lalu, tidak tetap)
– Pemakai yang telah berpengalaman, Pemakai yang telah berpengalaman,
berinteraksi dengan sistem tanpa menulis
berinteraksi dengan sistem tanpa menulis
program, tetapi memakai bahasa query.
program, tetapi memakai bahasa query. – Setiap Query akan mengajukan ke query Setiap Query akan mengajukan ke query
processor yang mengambil dari perintah DML
Database User (3)
Database User (3)
Naive User
Naive User
– Pemakai yang tidak berpengalaman, Pemakai yang tidak berpengalaman,
– Berinteraksi dengan sistem tanpa menulis Berinteraksi dengan sistem tanpa menulis program.
program.
– UserUser tinggal menjalankan satu menu dan tinggal menjalankan satu menu dan memilih proses yang telah ada atau telah
memilih proses yang telah ada atau telah
dibuat sebelumnya oleh
Database User (4)
Database User (4)
Specialized User
Specialized User
– Pemakai khusus yang menuliskan aplikasi Pemakai khusus yang menuliskan aplikasi database tidak dalam kerangka data
database tidak dalam kerangka data
processing
processing yang tradisional. yang tradisional.
– Aplikasi tersebut di antaranya adalah Aplikasi tersebut di antaranya adalah Computer Computer Aided Design System
Aided Design System, , Knowledge BaseKnowledge Base, , Expert Expert System
System
– Sistem yang menyimpan data dalam bentuk Sistem yang menyimpan data dalam bentuk data yang komplek misalnya data grafik, data
data yang komplek misalnya data grafik, data
audio.