Sri Rahmawati, M.Kom
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. •Kumpulan dari beberapa file yang saling berhubungan yang dihubungkan oleh key field(Primary Key) dan tersimpan dalam media penyimpanan
F1, F2, ….Fn
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. Misal : Record entity mahasiswa adalah kumpulan data value dari field nobp, nama, jurusan dan alamat per-barisnya. Dalam tabel database, Record disebut juga baris.
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 Kumpulan dari tabel-tabel yang saling berelasi, disusun secara logis, sehingga menghasilkan informasi yang bernilai guna dalam proses pengambilan keputusan.
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 5.Queries / pengambilan dan pembacaan file yang tetap
contoh Npm
Program Aplikasi Personalia
File Personali a
Nama Alt Gol
Npm
Program Aplikasi Pelatihan
Nama File Pelatihan
Jenis Gol
•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. f)Integritas.
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. 5.Meminimalkan data duplikasi.`
Contoh Program Aplikasi Personalia
Kepegawaian
Program Aplikasi Pelatihan
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
user F1 F2 F3…..Fn
Program Lain DBMS Komponen sistem Basis Data.
•Hardware 1.Memory sekunder yang on-line (harddisk) 2.Komputer (1 untuk stand alone, lebih dari 1 untuk jaringan) 3.Memory sekunder yang off-line (flasdisk) untuk back up data 4.Media/perangkat komunikasi.(untuk jaringan)
•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 Contoh : dBase III, dBase IV, FoxBase, MS-Access, Rbase, SQL, Oracle, 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. Bersifat operasional (menunjang operasi).
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 •mengidentifikasi kerusakan komponen •memperbaiki kerusakan
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. •Perancang 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 • Mendisain metode keamanan data • dll
• 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 database.
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.
Contoh : view dari mahasiswa, view dari mata kuliah
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. Contoh : entity, relationship, tipe data dan constraint.
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 - pemampatan data dan teknik encryption
Gambar 1. Tingkatan Arsitektur Database
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 Relasional
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 dengan cabang.
Model Hierarkis Contoh
Model Jaringan Disebut juga model CODASYL(conference data
system language) Setiap anak bisa memiliki lebih dari satu orangtua
Dosen Siti Nurbaya
Pengantar Basis Data
Rudi
Asti
Pemrograman C
Dina
Edi
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 Dosen
Kelas
Mahasiswa
Siti Nurbaya
Pengantar Basis Data
Rudi
Siti Nurbaya
Pengantar Basis Data
Asti
Siti Nurbaya
Pengantar Basis Data
Dina
Siti Nurbaya
Pemrog. C
Dina
Siti Nurbaya
Pemrog. C
Edi
Ashadi
Matematika I
Ita
Ashadi
Matematika I
Edi
Operasi dasar pada Database Menambah data Membaca data Mengubah data Menghapus 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 Foreign 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 Candidat key
ID_cus
Name
No.of Pay
Amount
112233
Tim
890
9000
112231
Gabry
891
8000
112241
Holy
895
10000
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.
Akan terjadi pada suatu relasi yang memiliki kardinalitas one to many atau many to many
Kunci(key) (3) Foreign key (cont’) KODE
MK
SKS
KDDosen
KD-Dosen Nama_Dosen
TEL 100
Fisika
3
D-101
D-100
Badu,S.T
TEL 200
Isyarat
2
D-109
D-101
Ir.Thomas
TEL 210
T.Kendali
2
D-101 D-109
Harry,S.T,M.T
Primary key
Foreign key
Primary key
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? Siapa saja yang diperbolehkan mengakses data tsb?
Simbol dalam Diagram E-R Kardinalitas: ENTITAS Selalu hanya satu Hubungan
Satu atau banyak Nol atau satu
Atribut Nol, satu, atau banyak
Garis bawah: Kunci atau pengenal (identifier)
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 sebaliknya.
PELANGGAN
PEMASOK
Mengirim
Mengirim
Memasok PESANAN
KIRIMAN
Memasok
BARANG Berisi
Digunakan_ pada
PRODUK
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 digunakan
FUNCTIONAL DEPENDENCY
Normalisasi Normalisasi merupakan teknik analisis data yang
mengorganisasikan atribut-atribut data dengan cara mengelompokkan sehingga terbentuk entitas yang nonredundant, stabil, dan fleksible Normalisasi dilakukan sebagai uji coba pada suatu relasi secara berkelanjutan untuk menentukan apakah relasi itu sudah baik, yaitu dapat dilakukan proses insert,update,delete, dan modifikasi pada satu atau beberapa atribut tanpa mempengaruhi integritas data dalam relasi tersebut.
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
ketergantungan fungsional terhadap atribut bukan kunci lainnya. Seluruh atribut bukan kunci pada suatu relasi hanya memiliki ketergantungan fungsional terhadap primary key di relasi itu saja.
Contoh Normalisasi : Diberikan tabel Mahasiswa di bawah ini, akan dilakukan normalisasi sampai bentuk normal ke tiga
Perhatikan bahwa tabel di atas sudah dalam bentuk normal ke Satu(1NF)
Contoh(cont’)
Penguraian ttg ketergantungan fungsi
Bentuk Normal ke dua(2NF) :
Primary Key ; Nim, KD_mkul Functional Dependency: 1.Nim Nama,Tgl_Lahir 2.KD_mkul Kuliah,sks 3.Nim,kdmkul Nilai ,Bobot
Belum memenuhi kriteria 3NF, Karena atribut non-key Nilai dan Bobot masih memiliki ketergantungan fungsional.
Contoh(cont’) Bentuk Normal ke tiga(3NF) :
Penguraian ttg ketergantungan fungsi
Primary Key ; Nim, KD_mkul Functional Dependency: 1.NimNama,Tgl_Lahir 2.KD_mkulKuliah,sks 3.Nim,kdmkul Nilai 4.NilaiBobot