LATAR BELAKANG SISTEM DATABASE
Beberapa defenisi database:
•Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasi sedemikian rupa agar kelak dapat
dimanfaatkan kembali dengan cepat dan mudah.
•Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redundancy) yang tidak perlu, untuk memenuhi berbagai kebutuhan.
•Kumpulan file/tabel/arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis.
Tingkatan Data Dalam Database Relasi
Dalam suatu sistem database relasi, data yang tersimpan dalam DBMS mempunyai tingkatan-tingkatan, sebagai berikut :
1. Karakter (Characters)
Merupakan bagian terkecil dalam database, dapat berupa karakter numerik (angka 0 s.d 9), huruf ( A - Z, a - z) ataupun karakter-karakter khusus, seperti *, &. %, # dan lain-lain.
2. Field atau Attribute
Merupakan bagian dari record yang menunjukkan suatu item data yang sejenis. Misalnya : field nama, file NIM dan lain sebagainya. Setiap field harus mempunyai nama dan tipe data tertentu. Isi dari field di sebut Data Value. Dalam tabel database, field ini disebut juga kolom.
3. Record atau Tupple
Tuple/Record adalah kumpulan data value dari attribute yang berkaitan sehingga dapat menjelaskan sebuah entity secara lengkap.
4. Table/Entity
Entity merupakan sesuatu yang dapat diidentifikasi dari suatu sistem database, bisa berupa objek, orang, tempat, kejadian atau konsep yang informasinya akan disimpan dalam database.
Misal : Pada sistem database akademik, yang menjadi entity adalah, mahasiswa, dosen, matakuliah dan lain-lain. Dalam aplikasi, penggunaan istilah Entity sering di samakan dengan istilah Tabel. (Entity = table). Disebut tabel, karena dalam merepresentasikan datanya di atur dalam bentuk baris dan kolom. Baris mewakili 1 record dan kolom
mewakili 1 field. Dalam sistem database tradisional, entity/table ini disebut juga dengan file.
5. Database
Pendekatan-pendekatan
Manajemen Data
dalam
•Pendekatan tradisional (File-based System)
Yaitu : sekumpulan program aplikasi yang membantu user dalam menghasilkan informasi atau laporan, dimana setiap program menangani dan mengatur data masing-masing (tidak saling berhubungan).
Kelemahan / keterbatasan file-based sistem
1.Terjadinya pemisahan dan pengisolasian data. 2.Terjadinya duplikasi data
3.Data dependency(ketergantungan data) 4.File yang tidak kompatibel
•DATABASE
Database adalah suatu bentuk yang tunggal,
tetapi memiliki kemampuan penyimpanan data
yang besar yang dapat digunakan untuk banyak
departemen.
Database disusun untuk mengatasi masalah
pada penyusunan data yaitu
a)Data Redundancy b)Inconsistensi Data c)Data Terisolasi d)Multiple User e)Security.
Kriteria Database & File-Based System
1. Data oriented (database), program oriented.(file-based system)
Program oriented :
a)Hanya dapat digunakan oleh satu program aplikasi
b)Untuk mengatasi masalah tertentu dengan cara tertentu. c)Perkembangan hanya terjadi pada volume data
d)Sering terjadi duplikasi data.
2.Dapat digunakan oleh beberapa program aplikasi tanpa harus merubah databasenya.
3.Volume dan strukturnya dapat berkembang dengan mudah 4.Kebutuhan sistem baru mudah terpenuhi.
Contoh
Program Aplikasi Personalia
Kepegawaian
SISTEM BASIS DATA
Yaitu : Sistem yang terdiri atas kumpulan file (tabel) yang saling berhubungan dan sekumpulan program (DBMS) yang
memungkinkan beberapa pemakai / program lain untuk mengakses dan memanipulasi file-file tersebut.
Basis data
Komponen sistem Basis Data.
•Hardware
1.Memory sekunder yang on-line (harddisk)
•Sistem operasi.
Untuk mengaktifkan sistem komputer.
MS-DOS, MS-Windows ,windows 2007 stand alone Novell, Windows NT, Unix, SCO Unix, Linux Jaringan.
•Basis Data (data base) data dan struktur •Sistem pengelola basis data (DBMS)
Yaitu : Suatu software yang membantu user dalam
mendefenisikan, membuat dan menjaga (memelihara) database dan juga menyediakan sarana dalam mengontrol setiap
pengaksesan dalam database. DBMS akan menentukan :
•Bagaimana data diorganisasikan, disimpan, diubah dan diambil kembali.
•Menerapkan mekanisme pengamanan data
•Menerapkan mekanisme pemakaian data secara bersama. •Dll
•User
Berdasarkan cara mereka berinteraksi : a. Programmer aplikasi
User yang berinteraksi langsung dengan database melalui suatu DML (Data Manipulation Language) yang disertakan di dalam program yg ditulis dalam program induk spt VB, JAVA,PASCAL, Basic, dll
b. User Mahir (Casual User)
User yang berinteraksi dengan database tanpa melalui pembuatan suatu
modul program untuk menyatakan query. Mereka menggunakan bahasa query yang telah disediakan oleh DBMS
c. User Umum (end user/naïve user)
User yang berinteraksi dengan sistem Database melalui suatu program aplikasi yang permanen (executable program).
d. User Khusus
User yang berinteraksi dengan database untuk keperluan-keperluan tertentu spt untuk aplikasi AI, Image Processing, dsb.
e. Aplikasi Software lain.
Komponen DBMS •Hardware
Hardware yang digunakan tergantung dengan kebutuhan sistem dan kegunaan dari DBMS itu sendiri.
•Software
Yang dimaksud dengan software di sini adalah software DBMS berikut sistem operasinya, termasuk software pendukung jaringan jika database tersebut terdapat dalam suatu jaringan.
•Procedure
Instruksi dan peraturan yang mengatur disain dan penggunaan database. Seperti :
1.Bagaimana cara Log on ke database
2.Bagaimana menggunakan fasilitas dan program aplikasi 3.Bagaimana memulai dan mengakhiri database
4.Membuat backup database
5.Bagaimana menangani kersakan hardware dan software. Termasuk prosedur dalam
4. People. Terdiri dari :
1.DA dan DBA (Data Administrator dan Database Administrator) Tugas DA :
•Bertanggung jawab terhadap data resource antara lain : •Data planning
•Development dan maintenance (pengembangan dan pemeliharaan)
•Menetapkan aturan, procedure dan disain logic DBA
Tugas DBA
•Bertanggung jawab terhadap realisasi fisik sistem database •Mendisain fisik database
•Mengatur implementasi, security dan integrity
•Bertanggung jawab terhadap kepuasan user dalam penggunaan database.
A.Perancang logic Tugas :
•mengidentifikasikan data termasuk menentukan entity dan attribut
•menentukan relasi atau hubungan antar data
•menentukan batasan terhadap data yang akan disimpan dalam suatu database
•memahami organisasi data dan memahami aturan main suatu organisasi.
B.Perancang Fisik Tugas :
•Menggunakan data logic dan mewujudkannya ke dalam bentuk fisik, seperti :
•memetakan logical data ke dalam bentuk tabel • Memilih storage dan metode akses data
• Arsitektur Database
Tujuan utama dari sistem database adalah
menyediakan pemakai melalui suatu pandangan
abstrak mengenai data, dengan menyembunyikan
detaildaribagaimanadatadisimpandan
dimanipulasikan. Oleh karena itu, titik awal untuk
perancangan sebuah database haruslah abstrak dan
deskripsi umum dari kebutuhan-kebutuhan informasi
suatu organisasi harus digambarkan di dalam
Tiga Tingkatan Arsitektur Database ANSI-SPARC
Ada 3 tingkat dalam arsitektur database yang bertujuan
membedakan cara pandang pemakai terhadap database dan cara pembuatan database secara fisik.
3 tingkatan arsitektur database :
1.Tingkat Eksternal (External Level)/Level View
Tingkat eksternal merupakan cara pandang pemakai terhadap database. Pada tingkat ini menggambarkan bagian database yang relevan bagi seorang pemakai tertentu. Tingkat eksternal terdiri dari sejumlah cara pandang yang berbeda dari sebuah database. Masing-masing pemakai merepresentasikan dalam bentuk yang sudah dikenalnya. Cara pandang secara eksternal hanya terbatas pada entitas, atribut dan hubungan antar entitas (relationship) yang diperlukan saja.
2.Tingkat Konseptual (Conseptual Level)
Tingkat konseptual merupakan kumpulan cara pandang terhadap database. Pada tingkat ini menggambarkan data apa yang disimpan dalam database dan hubungan antara datanya. Hal-hal yang digambarkan dalam tingkat konseptual adalah :
- semua entitas beserta atribut dan hubungannya - batasan data
- keamanan dan integritas informasi
Deskripsi data dari entitas pada tingkat ini hanya terdiri dari jenis data dan besarnya atribut tanpa memperhatikan besarnya
penyimpanan dalam ukuran byte.
3
Tingkat Internal (Internal Level)
Tingkat internal merupakan perwujudan database
dalam komputer. Pada tingkat ini menggambarkan
bagaimana database disimpan secara fisik di dalam
peralatan storage yang berkaitan erat dengan tempat
penyimpanan/physical storage.
Tingkat internal memperhatikan hal-hal berikut ini :
- alokasi ruang penyimpanan data dan indeks
- deskripsi record untuk penyimpanan (dengan ukuran
penyimpanan untuk data elemen .
Contoh : organisasi file secara sequential, ralative
atau index sequential
- penempatan record
Pemodelan Database
Model Data
Menyatakan hubungan antardata dalam database
Model data Object-Based data model (ER-Model)
Ada tiga macam model data dasar (Record-Based
Data Model)
Hierarkis
Jaringan
Model Hierarkis
Model data hierarkis biasa disebut model pohon ,karena menyerupai pohon yang dibalik. Model ini
menggunakan pola hubungan orang tua-anak. Setiap simpul (biasa dinyatakan dengan lingkaran dan kotak ) menyatakan sekumpulan medan/node. Setiap orang tua bisa memiliki satu (1:1) atau beberapa anak (1:M), tetapi setiap anak memiliki satu orang tua. Simpul-simpul yang dibawahi oleh orang tua (Parent) disebut simpul anak (Child ). Simpul orang tua yang tidak memiliki orang tua disebut akar
(Root) . Simpul yang tidak memiliki anak disebut daun(Leaf) . Adapun hubungan antara anak dan orang tua disebut
Model Hierarkis
Model Jaringan
Disebut juga model CODASYL(conference data
system language)
Setiap anak bisa memiliki lebih dari satu orangtua
Dosen Siti Nurbaya
Pengantar Basis Data
Pemrograman C
Model Relasional
Merupakan model data yang paling populer saat ini
Menggunakan model berupa tabel berdimensi dua (yang disebut relasi atau tabel)
Memakai kunci tamu (foreign key) sebagai penghubung dengan tabel lain
Nama
Siti Nurbaya Dina
Siti Nurbaya Dina
Siti Nurbaya Pemrog. C Edi
Operasi dasar pada Database
Menambah data
Membaca data
Mengubah data
Kunci(key)
Kunci merupakan elemen record yang dipakai untuk
menemukan record tersebut pada waktu akses atau
bisa digunakan untuk identifikasi tiap record.
Jenis-jenis kunci :
Superkey
Candidat key
Primary key
Alternate key
Kunci(key) (1)
Superkey : kumpulan atribut dari suatu tabel yang dapat digunakan untuk mengidentifikasi entity atau record dari tabel tersebut secara unik
Candidate key : superkey dengan jumlah atribut
minimal. Candidat key ini tidak boleh berisi atribut dari tabel yang lain
Kunci(key) (2)
Primary key :Salah satu atrribut dari candidat key dapat dipilih menjadi primary key dengan 3 kriteria sbb :
Key tersebut lebih natural untuk dijadikan acuan
Key tersebut lebih sederhana
Key tersebut cukup uniqe
Alternate key :Setiap atribut dari candidate key yang tidak terpilih sebagai primary key akan dinamakan alternate
key. Pada contoh sebelumnya bila untuk primary key dipilih ID_Cus maka alternate key nya adalah No.of Pay
Foreign key : merupakan atribut yang menunjuk kepada primary key pada tabel lain.
Kunci(key) (3)
Foreign key (cont’)
KODE
Entity Relationship Diagram(ERD)
ERD merupakan model jaringan yang menggunakan susunan
data yang disimpan dalam sistem secara abstrak
ERD menekankan pada struktur dan relationship data,
berbeda dengan DFD(Data Flow Diagram) yang merupakan model jaringan fungsi yang akan dilaksanakan sistem
Biasanya digunakan oleh profesional sistem untuk
berkomunikasi dengan pemakai eksekutif tingkat tinggi dalam perusahaan yang tidak tertarik pada pelaksanaan operasi sistem sehari-hari, namun lebih kepada :
Data apa saja yang diperlukan untuk bisnis mereka?
Bagaimana data tersebut berelasi dengan data lainnya?
Simbol dalam Diagram E-R
ENTITAS
Kardinalitas:
Selalu hanya satu
Hubungan
Satu atau banyak Nol atau satu Atribut
Nol, satu, atau banyak
CARDINALITY / DERAJAD RELASI/ JENIS HUBUNGAN ANTAR TABEL
Menunjukkan jumlah maximum entity yang dapat berelasi dengan entity lain.Cardinality relasi yang terjadi di antara 2 himpunan
entity (A,B) dapat berupa:
•One to One (1 : 1)
---|---|--Artinya setiap entity pada himpunan entity A berhubungan dengan paling banyak 1 entity pada himpunan entity B. Begitu juga
sebaliknya.
•One to Many (1: M)
---|---|<----Artinya setiap entity pada himpunan entity A dapat berhubungan dengan banyak entity pada himpunan entity B, tetapi tidak
sebaliknya, dimana setiap entity pada himpunan entity B
berhubungan dengan paling banyak 1 entity pada himpunan entity A.
•Many to Many (M : N)
--->|---|<---Artinya setiap entity pada himpunan entity A dapat berhubungan dengan banyak entity pada himpunan entity B, begitu juga
PELANGGAN
Mengirim PEMASOK
Mengirim
Memasok
PESANAN
KIRIMAN Memasok BARANG
Berisi
Digunakan_
Latihan
Rancanglah diagram E-R dari kasus aplikasi database
sederhanauntuk sistem informasi akademis suatu universitas. Dengan ketentuan sebagai berikut :
Entities yang dimuat adalah :
mahasiswa: menyimpan semua informasi pribadi mengenai
semua mahasiswa
dosen: menyimpan semua informasi pribadi mengenai semua
dosen
mata_kuliah: menyimpan semua informasi mengenai semua
mata kuliah yang ditawarkan
ruang: menyimpan semua informasi mengenai ruang kelas yang
Normalisasi
Normalisasi merupakan teknik analisis data yang
mengorganisasikan atribut-atribut data dengan cara mengelompokkan sehingga terbentuk entitas yang non-redundant, stabil, dan fleksible
Normalisasi dilakukan sebagai uji coba pada suatu relasi secara
Normalisasi: 1NF, 2NF, 3NF
Bentuk Normal ke Satu(1NF) Syarat :
1.Tidak ada set atribut yang berulang atau bernilai ganda. 2.Telah ditentukannya primary key untuk tabel atau relasi. 3.Tiap atribut hanya memiliki satu pengertian.
Tiap atribut yang dapat memiiki banyak nilai sebenarnya menggambarkan entitas atau relasi yang terpisah.
Bentuk Normal ke Dua(2NF)
Syarat :
1.Bentuk data telah memenuhi kriteria bentuk normal ke satu.
2.Atribut bukan kunci(non-key attribute) haruslah memiliki ketergantungan fungsional sepenuhnya pada primary key.
Normalisasi: 1NF, 2NF, 3NF (1)
Bentuk Normal ke Tiga(3NF)
Syarat :
1.Bentuk data telah memenuhi kriteria bentuk normal ke dua.
2.Atribut bukan kunci(non-key attribute) tidak boleh memiliki
Contoh Normalisasi :
Diberikan tabel Mahasiswa di bawah ini, akan dilakukan normalisasi sampai bentuk normal ke tiga
Contoh(cont’)
Bentuk Normal ke dua(2NF) :
Penguraian ttg ketergantungan fungsi
Primary Key ; Nim, KD_mkul Functional Dependency: 1.Nim Nama,Tgl_Lahir 2.KD_mkul Kuliah,sks
3.Nim,kdmkul Nilai ,Bobot
Contoh(cont’)
Bentuk Normal ke tiga(3NF) :Penguraian ttg ketergantungan fungsi