Pemrograman C
Pengenalan Borland C++
Diktat
BASIS DATA Manajemen Informatika D3
Fakultas Ilmu Komputer Suzan Agustri, S.Kom., M.T.I.
NPM
:
Nama : Kelas
:
UNIVERSITAS INDO GLOBAL MANDIRI 2017
Suzan Agustri
1
Basis Data
S I L A B U S
Kode Mata Kuliah Jumlah SKS Kelas Nama Mata Kuliah Jadwal Dosen Bahasa Pengantar
: MKB224009 : 4 SKS : 122401 : Basis Data : Rabu : Suzan Agustri, S.Kom., M.T.I. : Bahasa Indonesia
Objektif Mata kuliah ini merupakan teori basis data yang sangat mendasar tanpa memerlukan prasyarat pengetahuan tentang basis data sebelumnya. Materi mata kuliah ini difokuskan pada tiga hal pokok, yaitu: dasar-dasar basis data, model data dan bagaimana membuat model data yang baik. Selain itu, mata kuliah ini juga membahas contoh-contoh aturan yang berlaku di lapangan yang terefleksikan dalam perancangan basis data. Sejumlah aspek lain yang relevan, seperti DBMS, SQL, aplikasi basis data dan perkembangan teknologi terbaru juga dibahas dalam mata kuliah ini. Penilaian: Kehadiran 5%, Quiz 20%, Tugas 20%, UTS 25%, UAS 30%. Buku Teks Utama: Thomas Connolly, Carolyn Begg, Database Systems 4th Ed., 2005 Prasyarat: -
Jadwal Perkuliahan: Jadwal perkuliahan berikut merupakan panduan yang dapat berubah sewaktu-waktu sesuai kebutuhan perkuliahan berdasarkan pertimbangan dosen.
Suzan Agustri
Basis Data
Pert. ke1
Tanggal 15-Feb-17
Topik Pengantar Basis Data
2
22-Feb-17
Model Data Relasional
3
1-Mar-17
QUIZ
4&5
8 & 15-Mar-17
Entity Relationship Diagram
6&7
22 & 29-Mar-17
Normalisasi
8
5-Apr-17
UTS
9
12-Apr-17
Proses Perancangan Basis Data
10
19-Apr-17
Studi Kasus 1 Perancangan Basis Data
11
26-Apr-17
QUIZ
12
3-Mei-17
Studi Kasus 2 Perancangan Basis Data
13
10-Mei-17
Studi Kasus 3 Perancangan Basis Data
14
17-Mei-17
Studi Kasus 4 Perancangan Basis Data
24-Mei-17
UAS
Suzan Agustri
Basis Data
Pengantar Basis Data
PENGANTAR BASIS DATA
Basis data menyediakan fasilitas atau mempermudah dalam menghasilkan informasi yang digunakan oleh pemakai untuk mendukung pengambilan keputusan. Hal inilah yang menjadikan alasan dari penggunaan teknologi basis data pada saat sekarang (dunia bisnis). Berikut ini contoh penggunaan aplikasi basis data dalam dunia bisnis:
Bank: Pengelolaan data nasabah, akunting, semua transaksi perbankan
Bandara: Pengelolaan data reservasi, penjadwalan
Universitas: Pengelolaan pendaftaran, alumni
Penjualan: Pengelolaan data customer, produk, penjualan
Pabrik: Pengelolaan data produksi, persediaan barang, pemesanan, agen
Kepegawaian: Pengelolaan data karyawan, gaji, pajak
Telekomunikasi: Pengelolaan data tagihan, jumlah pulsa
SISTEM PEMROSESAN FILE
Program Aplikasi Mahasiswa
file mahasiswa
mahasiswa Program Aplikasi Mata Kuliah
file mata kuliah
mata kuliah Gambar 1. Sistem pemrosesan file untuk suatu Universitas
Keterangan: File Mahasiswa:
Mhs (npm, nama, alamat, tgl_lahir) MataKul (kd_mk, nama_mk, sks)
File MataKuliah:
MataKul (kd_mk, nama, sks)
Sebelumnya, sistem yang digunakan untuk mengatasi semua permasalahan bisnis, menggunakan pengelolaan data secara tradisional dengan cara menyimpan banyak record pada banyak file yang terpisah, yang disebut juga Sistem Pemrosesan File. Dimana masing-masing file diperuntukkan hanya untuk satu program aplikasi saja. Perhatikan
Suzan Agustri
1
Basis Data
Pengantar Basis Data
Gambar 1 mengenai suatu universitas yang mempunyai dua sistem yakni sistem yang memproses data mahasiswa dan sistem yang mengelola data mata kuliah.
Kelemahannya dari sistem pemrosesan file ini antara lain: 1. Timbulnya Data Rangkap (Redundancy Data) dan Ketidakkonsistensi Data (Inconsistency Data) Karena file dan program aplikasi disusun oleh programmer yang berbeda, sejumlah informasi mungkin memiliki duplikasi dalam beberapa file. Sebagai contoh nama mata kuliah dan sks dari mahasiswa dapat muncul pada suatu file memiliki record mahasiswa dan juga pada suatu file yang terdiri dari record mata kuliah. Kerangkapan data seperti ini dapat menyebabkan pemborosan tempat penyimpanan dan biaya akses yang bertambah. Disamping itu dapat terjadi inkonsistensi data. Misalnya, apabila terjadi perubahan jumlah sks mata kuliah, sedangkan perubahan hanya diperbaiki pada file mata kuliah dan tidak diperbaiki pada file mahasiswa. Hal ini dapat mengakibatkan kesalahan dalam laporan nilai mahasiswa. 2. Kesukaran dalam Mengakses Data Munculnya permintaan-permintaan baru yang tidak diantisipasikan sewaktu membuat program aplikasi, sehingga tidak memungkinkan untuk pengambilan data. 3. Data Terisolir (Isolation Data) Karena data tersebar dalam berbagai file, dan file mungkin dalam format yang berbeda, akan sulit menuliskan program aplikasi baru untuk mengambil data yang sesuai. 4. Masalah Pengamanan (Security Problem) Tidak semua pemakai diperbolehkan mengakses seluruh data. Bagian Mahasiswa hanya boleh mengakses file mahasiswa. Bagian Mata Kuliah hanya boleh mengakses file mata kuliah, tidak boleh mengakses file mahasiswa. Tetapi sejak program-program aplikasi ditambahkan secara ad-hoc maka sulit melaksanakan pengamanan seperti yang diharapkan. 5. Ketergantungan Data (Data Dependence) Apabila terjadi perubahan atau kesalahan pada program aplikasi maka pemakai tidak dapat mengakses data.
Suzan Agustri
2
Basis Data
Pengantar Basis Data
SISTEM BASIS DATA Seiring dengan berjalannya waktu, lambat laun sistem pemrosesan file mulai ditinggalkan karena masih bersifat manual, yang kemudian dikembangkanlah sistem pemrosesan dengan pendekatan basis data.
Program Aplikasi Mahasiswa mahasiswa DBMS
Basis data Universitas
Program Aplikasi Mata kuliah mata kuliah Gambar 2. Sistem basis data untuk suatu universitas
Keterangan: Mhs ( npm, nama, alamat, tgl_lahir ) Mt_kul ( kd_mk, nama_mk,sks )
Perhatikan Gambar 2 di atas. Pada sistem ini record data disimpan pada satu tempat yakni basis data dan diantara program aplikasi maupun pemakai terdapat DBMS (Database Management System).
Konsep Dasar Basis Data Data adalah representasi fakta dunia nyata yang mewakili suatu objek seperti manusia (pegawai, mahasiswa, pembeli), barang, hewan, peristiwa, konsep, keadaan, dan sebagainya yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi atau kombinasinya. Basis Data adalah sekumpulan data yang terintegrasi yang diorganisasikan untuk memenuhi kebutuhan para pemakai di dalam suatu organisasi. DBMS (DataBase Management System) adalah Perangkat Lunak yang menangani semua pengaksesan ke basis data
Suzan Agustri
3
Basis Data
Pengantar Basis Data
Sistem Basis Data terdiri dari basis data dan DBMS.
Gambar 3. Sistem Basis Data
Istilah - Istilah Dasar Basis Data Enterprise Suatu bentuk organisasi seperti: bank, universitas, rumah sakit, pabrik, dan sebagainya. Data yang disimpan dalam basis data merupakan data operasional dari suatu enterprise. Contoh data operasional: data keuangan, data mahasiswa, data pasien
Entitas (Entity) Suatu obyek yang dapat dibedakan dari lainnya yang dapat diwujudkan dalam basis data. Contoh Entitas dalam lingkungan bank terdiri dari: Nasabah, Simpanan, Hipotik Contoh Entitas dalam lingkungan universitas terdiri dari: Mahasiswa, Mata kuliah Kumpulan dari entitas disebut Himpunan Entitas Contoh: semua nasabah, semua mahasiswa
Atribut (Elemen Data) Karakteristik dari suatu entitas. Contoh: Entitas Mahasiswa atributnya terdiri dari NPM, Nama, Alamat, Tanggal lahir.
Nilai Data (Data Value) Isi data/informasi yang tercakup dalam setiap elemen data. Contoh Atribut Nama Mahasiswa dapat berisi Nilai Data: Natawiangga, Nadya, Fatahillah
Kunci Elemen Data (Key Data Element) Tanda pengenal yang secara unik mengidentifikasikan entitas dari suatu kumpulan entitas. Contoh Entitas Mahasiswa yang mempunyai atribut-atribut NPM, nama, alamat, tanggal lahir menggunakan Kunci Elemen Data NPM.
Suzan Agustri
4
Basis Data
Pengantar Basis Data
Record Data Kumpulan Isi Elemen data yang saling berhubungan. Contoh: kumpulan atribut NPM, nama, alamat, tanggal lahir dari Entitas Mahasiswa berisikan: "2009210123", "Natawiangga", "Jl. Sirsak 28 Palembang", "11 Oktober 1991".
Pengguna Basis Data 1. System Engineer Tenaga ahli yang bertanggung jawab atas pemasangan Sistem Basis Data, dan juga mengadakan peningkatan dan melaporkan kesalahan dari sistem tersebut kepada pihak penjual
2. DataBase Administrator (DBA) Tenaga ahli yang mempunyai tugas untuk mengontrol sistem basis data secara keseluruhan, meramalkan kebutuhan akan sistem basis data, merencanakannya dan mengaturnya.
Tugas DBA : o
Mengontrol DBMS dan software
o
Memonitor siapa yang mengakses basis data
o
Mengatur pemakaian basis data
o
Memeriksa security, integrity, recovery dan concurrency
Program Utilitas yang digunakan oleh DBA: o
Loading Routines Membangun versi utama dari basis data
o
Reorganization Routines Mengatur/mengorganisasikan kembali basis data
o
Journaling Routines Mencatat semua operasi pemakaian basis data
o
Recovery Routines Menempatkan kembali data, sebelum terjadinya kerusakan
o
Statistical Analysis Routines Membantu memonitor kehandalan sistem
Suzan Agustri
5
Basis Data
Pengantar Basis Data
3. End User (Pemakai Akhir) Ada beberapa jenis (tipe) pemakai terhadap suatu sistem basis data yang dapat dibedakan berdasarkan cara mereka berinteraksi terhadap sistem: a. Programmer aplikasi Pemakai yang berinteraksi dengan basis data melalui Data Manipulation Language (DML), yang disertakan (embedded) dalam program yang ditulis pada bahasa pemrograman induk (seperti C, pascal, cobol, dan lain-lain) b. Pemakai Mahir (Casual User) Pemakai yang berinteraksi dengan sistem tanpa menulis modul program. Mereka menyatakan query (untuk akses data) dengan bahasa query yang telah disediakan oleh suatu DBMS c. Pemakai Umum (End User/Naïve User) Pemakai yang berinteraksi dengan sistem basis data melalui pemanggilan satu program aplikasi permanen (executable program) yang telah ditulis (disediakan) sebelumnya d. Pemakai Khusus (Specialized/Sophisticated User) Pemakai yang menulis aplikasi basis data non konvensional, tetapi untuk keperluankeperluan khusus seperti aplikasi Artificial Intelligence, Sistem Pakar, Pengolahan Citra, dan lain-lain, yang bisa saja mengakses basis data dengan atau tanpa DBMS yang bersangkutan.
Keuntungan Sistem Basis Data 1. Terkontrolnya kerangkapan data Dalam basis data hanya mencantumkan satu kali saja field yang sama yang dapat dipakai oleh semua aplikasi yang memerlukannya. 2. Terpeliharanya keselarasan (kekonsistenan) data Apabila ada perubahan data pada aplikasi yang berbeda maka secara otomatis perubahan itu berlaku untuk keseluruhan 3. Data dapat dipakai secara bersama (shared) Data dapat dipakai secara bersama-sama oleh beberapa program aplikasi (secara batch maupun on-line) pada saat bersamaan. 4. Dapat diterapkan standarisasi Dengan adanya pengontrolan yang terpusat maka DBA dapat menerapkan standarisasi data
yang
disimpan
sehingga
memudahkan
pemakaian,
pengiriman
maupun
pertukaran data.
Suzan Agustri
6
Basis Data
Pengantar Basis Data
5. Keamanan data terjamin DBA dapat memberikan batasan-batasan pengaksesan data, misalnya dengan memberikan password dan pemberian hak akses bagi pemakai (misal: modify, delete, insert, retrieve) 6. Terpeliharanya integritas data Jika kerangkapan data dikontrol dan kekonsistenan data dapat dijaga maka data menjadi akurat 7. Terpeliharanya keseimbangan (keselarasan) antara kebutuhan data yang berbeda dalam setiap aplikasi Struktur basis data diatur sedemikian rupa sehingga dapat melayani pengaksesan data dengan cepat 8. Data independence (kemandirian data) Dapat digunakan untuk bermacam-macam program aplikasi tanpa harus merubah format data yang sudah ada
Kelemahan Sistem Basis Data -
Memerlukan tenaga spesialis
-
Kompleks
-
Memerlukan tempat yang besar
-
Mahal
Suzan Agustri
7
Basis Data
Model Data Relasional
MODEL DATA RELASIONAL
PENGERTIAN BASIS DATA RELASIONAL Pada model relasional, basis data akan "disebar" atau dipilah-pilah ke dalam berbagai tabel dua dimensi. Setiap tabel selalu terdiri atas lajur mendatar yang disebut baris data (row/record) dan lajur vertikal yang biasa disebut dengan kolom (column/field). Contoh Tabel dan keterhubungannya: MHS NPM
Nama
Alamat
10296832
Natawiangga
Palembang
10296126
Anisa
Palembang
31296500
Fatahillah
Lampung
41296525
Farah
Semarang
50096487
Nadya
Bogor
21196353
Andre
Semarang
MKUL KDMK
MTKULIAH
SKS
KK021
P. Basis Data
2
KD132
SIM
3
KU122
Pancasila
2
NILAI NPM
KDMK
MID
FINAL
10296832
KK021
60
75
10296126
KD132
70
90
31296500
KK021
55
40
41296525
KU122
90
80
21196353
KU122
75
75
50095487
KD132
80
0
10296832
KD132
40
30
Suzan Agustri
8
Basis Data
•
Model Data Relasional
Keuntungan Basis Data Relasional 1. Bentuknya sederhana 2. Mudah melakukan berbagai operasi data
•
Istilah dalam Basis Data Relasional: Relasi Relasi merupakan sebuah tabel yang terdiri dari beberapa kolom dan beberapa baris. Relasi menunjukkan adanya hubungan diantara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. Entitas merupakan individu yang mewakili sesuatu yang nyata dan dapat dibedakan dengan yang lainnya.
Atribut Atribut merupakan kolom pada sebuah relasi. Setiap entitas pasti memiliki aribut yang mendeskripsikan karakter dari entitas tersebut. Penentuan atau pemilihan atribut-atribut yang relevan bagi sebuah entitas merupakan hal penting dalam pembentukan model data.
Tuple Tuple merupakan baris pada sebuah relasi atau kumpulan elemen-elemen yang saling berkaitan menginformasikan tentang suatu entitas secara lengkap. Satu record mewakili satu data atau informasi tentang seseorang, misalnya: NPM, nama mahasiswa, alamat, kota, dan lain-lainl. Domain Kumpulan nilai yang valid untuk satu atau lebih atribut
Derajat (degree) Jumlah atribut dalam sebuah relasi Cardinality Jumlah tuple dalam sebuah relasi
Suzan Agustri
9
Basis Data
Model Data Relasional
atribut
MHS NPM
Relasi
Nama
Alamat
10296832
Natawiangga
Palembang
10296126
Anisa
Palembang
31296500
Fatahillah
Lampung
41296525
Farah
Semarang
50096487
Nadya
Bogor
21196353
Andre
Semarang
Baris
Domain
Derajat (Degree)
RELATIONAL KEY Super key Satu atribut/kumpulan atribut yang secara unik mengidentifikasi sebuah tuple di dalam relasi
Candidate key Suatu atribut atau satu set minimal atribut yang mengidentifikasikan secara unik suatu kejadian spesifik dari entitas. Atribut di dalam relasi yang biasanya mempunyai nilai unik. Satu set minimal dari atribut menyatakan secara tak langsung dimana kita tidak dapat membuang beberapa atribut dalam set tanpa merusak kepemilikan yang unik.
Primary key Merupakan
satu
atribut
atau
satu
set
minimal
atribut
yang
tidak
hanya
mengidentifikasikan secara unik suatu kejadian spesifik, tapi juga dapat mewakili setiap
Suzan Agustri
10
Basis Data
Model Data Relasional
kejadian dari suatu entitas. Candidate key yang dipilih untuk mengidentifikasikan tuple secara unik dalam relasi. Setiap kunci candidate key punya peluang menjadi primary key, tetapi sebaiknya dipilih satu saja yang dapat mewakili secara menyeluruh terhadap entitas yang ada.
Alternate key Merupakan candidate key yang tidak dipakai sebagai primary key atau Candidate Key yang tidak dipilih sebagai primary key.
Foreign key (Kunci Tamu) Atribut dengan domain yang sama yang menjadi kunci utama pada sebuah relasi tetapi pada relasi lain atribut tersebut hanya sebagai atribut biasa. Kunci tamu ditempatkan pada entitas anak dan sama dengan primary key induk direlasikan.
Alternate key
Candidate key
Primary key
MHS NPM
Nama
Alamat
10296832
Natawiangga
Palembang
10296126
Anisa
Palembang
31296500
Fatahillah
Lampung
41296525
Farah
Semarang
50096487
Nadya
Bogor
21196353
Andre
Semarang
Relational Integrity Rules 1. Null Nilai suatu atribut yang tidak diketahui dan tidak cocok untuk baris (tuple) tersebut. Nilai (konstanta) Null digunakan untuk menyatakan/mengisi atribut-atribut yang nilainya memang belum siap/tidak ada.
Suzan Agustri
11
Basis Data
Model Data Relasional
2. Entity Integrity Tidak ada satu komponen primary key yang bernilai null. 3. Referential Integrity Suatu domain dapat dipakai sebagai kunci primer bila merupakan atribut tunggal pada domain yang bersangkutan.
BAHASA PADA BASIS DATA RELATIONAL Menggunakan bahasa query → pernyataan yang diajukan untuk mengambil informasi. Bahasa Query (Query Language) lebih ditekankan pada aspek pencarian data dari dalam tabel. Aspek pencarian ini sedemikian penting karena merupakan inti dari upaya untuk pengelolaan data.
Bahasa query terbagi 2: 1. Bahasa Formal Bahasa query yang diterjemahkan dengan menggunakan simbol-simbol matematis. Contoh : •
Aljabar Relasional Bahasa query prosedural → pemakai menspesifikasikan data apa yang dibutuhkan dan bagaimana untuk mendapatkannya.
•
Kalkulus Relasional Bahasa query non-prosedural → pemakai menspesifikasikan data apa yang dibutuhkan tanpa menspesifikasikan bagaimana untuk mendapatkannya. Terbagi 2: 1. Kalkulus Relasional Tuple 2. Kalkulus Relasional Domain
2. Bahasa Komersial Bahasa Query yang dirancang sendiri oleh programmer menjadi suatu program aplikasi agar pemakai lebih mudah menggunakannya (user friendly). Contoh: • QUEL Berbasis pada bahasa kalkulus relasional
Suzan Agustri
12
Basis Data
Model Data Relasional
• QBE Berbasis pada bahasa kalkulus relasional • SQL Berbasis pada bahasa kalkulus relasional dan aljabar relasional
•
Contoh-contoh Basis Data Relasional: -
DB2 → IBM
-
ORACLE → Oracle
-
SYBASE → Powersoft
-
INFORMIX → Informix
-
Microsoft Access → Microsoft
Suzan Agustri
13
Basis Data
Entity Relationship Diagram
ENTITY RELATIONSHIP DIAGRAM
Model Entity Relationship Suatu penyajian data dengan menggunakan Entity dan Relationship
Entity Obyek yang dapat dibedakan dalam dunia nyata
Entity set Kumpulan dari entity yang sejenis Berupa: -
Obyek secara fisik: Rumah, Kendaraan, Peralatan
-
Obyek secara konsep: Pekerjaan, Perusahaan, Rencana
Relationship Hubungan yang terjadi antara satu atau lebih entity
Relationship set Kumpulan relationship yang sejenis.
PEGAWAI
KERJA
PROYEK
Atribut Karakteristik dari entity atau relationship, yang menyediakan penjelasan detail tentang entity atau relationship tersebut.
Nilai Atribut Suatu data aktual atau informasi yang disimpan pada suatu atribut di dalam suatu entity atau relationship.
Suzan Agustri
14
Basis Data
Entity Relationship Diagram
JENIS-JENIS ATRIBUT
Key Atribut yang digunakan untuk menentukan suatu entity secara unik.
Atribut Simple Atribut yang bernilai tunggal.
Atribut Multivalue Atribut yang memiliki sekelompok nilai untuk setiap instan entity.
TglLahir
Gelar
Nama
NIP
PEGAWAI
Atribut Composite Suatu atribut yang terdiri dari beberapa atribut yang lebih kecil yang mempunyai arti tertentu.
Nama Depan
Nama Tengah
Nama Belakang
NAMA
PEGAWAI
Suzan Agustri
15
Basis Data
-
Entity Relationship Diagram
Atribut Derivatif Suatu atribut yang dihasilkan dari atribut yang lain.
TglLahir
Umur
PEGAWAI
DERAJAT DARI RELATIONSHIP Menjelaskan jumlah entity yang berpartisipasi dalam suatu relationship
Unary Degree (Derajat Satu)
PEGAWAI
Binary Degree (Derajat Dua)
PEGAWAI
LAPOR
KERJA
DEPARTEMEN
Ternary Degree (Derajat Tiga)
PEGAWAI
KERJA
DEPARTEMEN
PROYEK
Suzan Agustri
16
Basis Data
Entity Relationship Diagram
Cardinality Ratio Constraint
Menjelaskan batasan jumlah keterhubungan satu entity dengan entity lainnya.
Jenis Cardinality Ratio
1:1
Pegawai
Milik
Kendaraan
r1 P1
k1
r2 p2
k2
r3 p3
.
.
k3 .
1 PEGAWAI
1 MILIK
KENDARAAN
AI
1:M / M:1
Pegawai
Kerja
Departemen
r1 P1
r2 r3 r4
p2 p3 p4 .
Suzan Agustri
d2 d3 . .
M PEGAWAI
d1
1 KERJA
DEPARTEMEN
17
Basis Data
Entity Relationship Diagram
M:N
Pegawai
Kerja
Proyek
r1 P1
r2 r3 r4
p2 p3 .
pr1 pr2 pr3 . .
M PEGAWAI
N KERJA
PROYEK
PARTICIPATION CONSTRAINT Menjelaskan apakah keberadaan suatu entity tergantung pada hubungannya dengan entity lain. Terdapat 2 macam Participation Constraint:
Total Participation Keberadaan suatu entity tergantung pada hubungannya dengan entity lain.
M PEGAWAI
1 PUNYA
BAGIAN
Partial Participation Keberadaan suatu entity tidak tergantung pada hubungannya dengan entity lain.
M PEGAWAI
Suzan Agustri
1 KERJA
PROYEK
18
Basis Data
Entity Relationship Diagram
WEAK ENTITY Weak Entity adalah suatu Entity dimana keberadaan dari entity tersebut tergantung dari
keberadaan entity lain. Entity yang merupakan induknya disebut Identifying Owner dan relationship-nya disebut
Identifying Relationship. Weak Entity selalu mempunyai Total Participation constraint dengan Identifying Owner.
NOPEG
NAMA
……… …
PEGAWAI
MILIK
……… …
TANGGUNGAN
SIMBOL-SIMBOL ER-DIAGRAM
Notasi
Arti
1.
1. Entity
2.
2. Weak Entity
3.
3. Relationship
4.
4. Identifying Relationship
Suzan Agustri
19
Basis Data
Entity Relationship Diagram
5.
5. Atribut
6.
6. Atribut Primary Key
7.
7. Atribut Multivalue
8.
8. Atribut Composite
9.
9. Atribut Derivatif
Suzan Agustri
20
Basis Data
Entity Relationship Diagram
Contoh Penggambaran Diagram ER :
KDPOS
ALM1
ALAMAT NAPEG
NOPEG
NOBAG
BEKERJA
NABAG LOKASI
M
1
PEGAWAI
UMUR
BAGIAN 1
M TGLLHR
1
PIMPIN
1
1
1 KONTROL
M
SELESAIKAN
MILIKI
PUNYA
M
JAM M
N
PROYEK TANGGUNGAN NOPRO
LOKASI NAPRO
Nama
JNSKEL
Suzan Agustri
HUB
21
Basis Data
Entity Relationship Diagram
TRANSFORMASI DARI ERD KE DATABASE RELASIONAL 1.
Setiap tipe Entity dibuat suatu relasi yang memuat semua atribut simple, sedangkan untuk atribut composite hanya dimuat komponen-komponennya saja.
NOPEG
ALM1
PEGAWAI
KDPOS
ALAMAT
PEGAWAI (NOPEG, ALM1, KDPOS, …….)
2.
Setiap relasi yang mempunyai atribut multivalue, buatlah relasi baru dimana Primary Key-nya merupakan gabungan dari Primary Key dari relasi tersebut dengan atribut multivalue.
NOPRO
LOKASI
………
PROYEK
LOKPR (NOPRO, LOKASI)
3.
Setiap Unary Relationship 1:M, pada relasi perlu ditambahkan suatu foreign key yang menunjuk ke nilai primary key-nya.
NOPEG
……. 1 KONTROL
PEGAWAI M PEGAWAI (NOPEG, ….., SUPERVISOR-ID)
Suzan Agustri
22
Basis Data
4.
Entity Relationship Diagram
Setiap Unary Relationship M:N, buatlah relasi baru dimana primary key-nya merupakan gabungan dari dua atribut dimana keduanya menunjuk ke primary key relasi awal dengan penamaan yang berbeda.
NOBAR
……. M
BARANG
TERDIRI
JUMLAH
N
KOMBAR (NOBAR, NOKOMP , JUMLAH)
5.
Setiap Binary Relationship 1:1, dimana Participation Constraint keduanya total, buatlah suatu relasi gabungan dimana Primary Key-nya dapat dipilih salah satu.
NOPEG
……
1
PEGAWAI
……
NOPRO
1
KERJA
PROYEK
PEGAWAI (NOPEG, ... , NOPRO, ...)
6.
Setiap Binary Relationship 1:1 dan salah satu Participation Constraint-nya Total, maka Primary Key pada relasi yang Participation Constraint-nya Partial menjadi Foreign Key pada relasi yang lainnya.
NOPEG
PEGAWAI
NOBAG
…… 1
PIMPIN
……
1 BAGIAN
BAGIAN (NOBAG, ... , MANAGER)
Suzan Agustri
23
Basis Data
7.
Entity Relationship Diagram
Setiap Binary Relationship 1:1, dimana kedua Participation Constraint-nya partial, maka selain kedua relasi perlu dibuat relasi baru yang berisi Primary Key gabungan dari Primary Key kedua tipe Entity yang berelasi.
NOPEG
NOPRO
……
1
PEGAWAI
……
1
KERJA
PROYEK
PEKERJAAN ( NOPEG, NOPRO, …)
8.
Setiap Binary Relationship 1 : M, dimana tipe Entity yang bersisi M mempunyai Participation Constraint Total, maka Primary Key pada relasi yang bersisi 1 dijadikan Foreign Key pada relasi yang bersisi M.
NOPRO
……
NOBAG
1 BAGIAN
……
M
PUNYA
PROYEK
PROYEK (NOPRO, ... , NOBAG)
9.
Setiap Binary Relationship 1 : M, dimana tipe Entity yang bersisi M mempunyai Participation Constraint partial, buatlah relasi baru dimana Primary Key-nya merupakan gabungan dari Primary Key kedua tipe Entity yang berelasi.
NOPEG
……
PEGAWAI
NOPRO M
KERJA
……
1 PROYEK
PEKERJAAN (NOPEG, NOPRO, ……) Suzan Agustri
24
Basis Data
Entity Relationship Diagram
10. Setiap Binary Relationship M:N, buatlah relasi baru dimana Primary Key-nya merupakan
gabungan dari Primary Key kedua tipe Entity yang berelasi.
NOPEG
NOPRO
……
PEGAWAI
M
KERJA
……
N PROYEK
PEKERJAAN (NOPEG, NOPRO, …..)
11. Setiap Ternary Relationship, buatlah relasi baru dimana Primary Key-nya merupakan
gabungan dari Primary Key ketiga tipe Entity yang berelasi.
NOPEG
NOPRO
……
KERJA
PEGAWAI
……
PROYEK
KOTA
NOKOT
……
PEKERJAAN ( NOPEG, NOPRO , NOKOT)
Suzan Agustri
25
Basis Data
Entity Relationship Diagram
12. Setiap tipe Weak Entity, dibuat suatu relasi yang memuat semua atributnya dimana
Primary Key-nya adalah gabungan dari Partial Key dan Primary Key dari relasi induknya (identifying owner).
NOPEG
NAMA
……
PEGAWAI
1
PUNYA
N
……
TANGGUNGAN
TANGGUNGAN (NOPEG, NAMA, ….)
Hasil Transformasi dari Diagram ER ke database relasional:
Skema Database:
PEGAWAI
(NOPEG, NAPEG, ALM1, KDPOS, TGLLAH, UMUR, SUPERVISOR-ID, NOBAG)
BAGIAN
(NOBAG, NABAG, LOKASI, MANAGER)
PROYEK
(NOPRO, NAPRO, NOBAG)
LOKPR
(NOPRO, LOKPR)
PEKERJAAN
(NOPEG, NOPRO, JAM)
TANGGUNGAN
(NOPEG, NAMA, JNSKEL, HUB)
Suzan Agustri
26
Basis Data
Normalisasi
NORMALISASI
Definisi Normalisasi adalah suatu teknik untuk mengorganisasi data ke dalam tabel-tabel untuk memenuhi kebutuhan pemakai di dalam suatu organisasi. Tujuan dari normalisasi
Untuk menghilangkan kerangkapan data
Untuk mengurangi kompleksitas
Untuk mempermudah pemodifikasian data
Proses Normalisasi
Data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat.
Apabila tabel yang diuji belum memenuhi persyaratan tertentu, maka tabel tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal.
Tahapan Normalisasi Bentuk Tidak Normal (UNF/Unnormarilzed Form) Menghilangkan perulangan grup
Bentuk Normal Pertama (1NF/First Normalized Form) Menghilangkan ketergantungan sebagian
Bentuk Normal Kedua (2NF/Second Normalized Form) Menghilangkan ketergantungan transitif
Bentuk Normal Ketiga (3NF/Third Normalized Form) Menghilangkan anomali-anomali hasil dari ketergantungan fungsional
Bentuk Normal Boyce-Codd (BCNF/Boyce-Codd Normalized Form) Menghilangkan Ketergantungan Multivalue
Bentuk Normal Keempat (4NF/Fourth Normalized Form) Menghilangkan anomali-anomali yang tersisa Bentuk Normal Kelima Suzan Agustri
27
Basis Data
Normalisasi
KETERGANTUNGAN FUNGSIONAL Definisi: Atribut Y pada relasi R dikatakan tergantung fungsional pada atribut X (R.X ---> R.Y), jika dan hanya jika setiap nilai X pada relasi R mempunyai tepat satu nilai Y pada R.
Misal terdapat skema database Pemasok-barang: Pemasok (No-pem, Na-pem)
Tabel PEMASOK-BARANG No-pem
Na-pem
P01
Baharu
P02
Sinar
P03
Harapan
Ketergantungan fungsional dari tabel PEMASOK-BARANG adalah: No-pem ---> Na-pem
Ketergantungan Fungsional Penuh Definisi: Atribut Y pada relasi R dikatakan tergantung fungsional penuh pada atribut X pada relasi R, jika Y tidak tergantung pada subset dari X ( bila X adalah key gabungan)
Contoh:
Tabel KIRIM-BARANG (No-pem, Na-pem, No-bar, Jumlah) No-pem
Na-pem
No-bar
Jumlah
P01
Baharu
B01
1000
P01
Baharu
B02
1500
P01
Baharu
B03
2000
P02
Sinar
B03
1000
P03
Harapan
B02
2000
Ketergantungan fungsional: No-pem Na-pem No-bar, No-pem Jumlah (Tergantung penuh terhadap key-nya)
Suzan Agustri
28
Basis Data
Normalisasi
Ketergantungan Transitif Definisi: Atribut Z pada relasi R dikatakan tergantung transitif pada atribut X, jika atribut Y tergantung pada atribut X pada relasi R dan atribut Z tergantung pada atribut Y pada relasi R. ( X Y, Y Z, maka X Z )
Contoh:
No-pem
Kode-kota
P01
1
P01
Kota
No-bar
Jumlah
Jakarta
B01
1000
1
Jakarta
B02
1500
P01
1
Jakarta
B03
2000
P02
3
Bandung
B03
1000
P03
2
Surabaya
B02
2000
Ketergantungan transitif: No-pem Kode-kota Kode-kota Kota, maka No-pem Kota
BENTUK NORMAL KESATU (1NF) Suatu relasi dikatakan sudah memenuhi Bentuk Normal Kesatu bila setiap data bersifat atomik yaitu setiap irisan baris dan kolom hanya mempunyai satu nilai data
Tabel KIRIM-1 (UNF) No-pem
Kode-kota
P01
1
Kota Jakarta
No-bar
Jumlah
B01
1000
B02
1500
B03
2000
P02
3
Bandung
B03
1000
P03
2
Surabaya
B02
2000
Suzan Agustri
29
Basis Data
Normalisasi
Tabel KIRIM-2 (1NF) No-pem
Kode-kota
P01
1
P01
Kota
No-bar
Jumlah
Jakarta
B01
1000
1
Jakarta
B02
1500
P01
1
Jakarta
B03
2000
P02
3
Bandung
B03
1000
P03
2
Surabaya
B02
2000
Diagram Ketergantungan Fungsional
Kode-kota No-pem Kota Jumlah
No-bar
BENTUK NORMAL KEDUA (2NF) Suatu relasi dikatakan sudah memenuhi Bentuk Normal Kedua bila relasi tersebut sudah memenuhi bentuk Normal kesatu, dan atribut yang bukan key sudah tergantung penuh terhadap key-nya.
Tabel PEMASOK-1 (2NF) No-pem
Kode-kota
P01
1
Jakarta
P02
3
Bandung
P03
2
Surabaya
Suzan Agustri
Kota
30
Basis Data
Normalisasi
Tabel KIRIM-3 No-pem
No-bar
Jumlah
P01
B01
1000
P01
B02
1500
P01
B03
2000
P02
B03
1000
P03
B02
2000
BENTUK NORMAL KETIGA (3NF) Suatu relasi dikatakan sudah memenuhi Bentuk Normal ketiga bila relasi tersebut sudah memenuhi bentuk Normal kedua dan atribut yang bukan key tidak tergantung transitif terhadap key-nya.
Tabel PEMASOK-2 (3NF)
Tabel PEMASOK-3 (3NF)
No-pem
Kode-kota
Kode-kota
Kota
P01
1
1
Jakarta
P02
3
2
Surabaya
P03
2
3
Bandung
Tabel KIRIM-3 (3NF) No-pem
No-bar
Jumlah
P01
B01
1000
P01
B02
1500
P01
B03
2000
P02
B03
1000
P03
B02
2000
Suzan Agustri
31
Basis Data
Normalisasi
Contoh: Normalisasi pada database perkuliahan Asumsi:
Seorang mahasiswa dapat mengambil beberapa mata kuliah
Satu mata kuliah dapat diambil oleh lebih dari satu mahasiswa
Satu mata kuliah hanya diajarkan oleh satu dosen
Satu dosen dapat mengajar beberapa mata kuliah
Seorang mahasiswa pada mata kuliah tertentu hanya mempunyai satu nilai
Tabel MAHASISWA-1 (UNF) No-Mhs
Nama - Mhs
Jurusan
Kode- MK
2683
Welli
MI
MI350
5432
Bakri
Ak.
Nama-MK
Kode-Dosen
NamaDosen
Nilai
Manajamen DB
B104
Ati
A
MI465
Analsis Prc. Sistem
B317
Dita
B
MI350
Manajemen DB
B104
Ati
C
AKN201
Akuntansi Keuangan
D310
Lia
B
MKT300
Dasar Pemasaran
B212
Lola
A
Tabel MAHASISWA-2 (1NF) Jurusan
Kode-MK
2683
NamaMhs Welli
MI
MI350
Manajamen DB
2683
Welli
MI
MI465
5432
Bakri
Ak.
5432
Bakri
5432
Bakri
No-Mhs
Suzan Agustri
Nama-MK
Kode-Dosen B104
NamaDosen Ati
Nilai A
Analsis Prc. Sistem
B317
Dita
B
MI350
Manajemen DB
B104
Ati
C
Ak.
AKN201
Akuntansi Keuangan
D310
Lia
B
Ak.
MKT300
Dasar Pemasaran
B212
Lola
A
32
Basis Data
Normalisasi
Diagram Ketergantungan Fungsional
Nama_Mhs
No-Mhs
Jurusan
Nilai Nama-MK
Kode-MK
Kode-Dosen
Nama-Dosen
Tabel KULIAH (2NF) Nama-MK
Kode-MK
Kode-Dosen
Nama-Dosen
MI350
Manajamen DB
B104
Ati
MI465
Analsis Prc. Sistem
B317
Dita
AKN201
Akuntansi Keuangan
D310
Lia
MKT300
Dasar Pemasaran
B212
Lola
Tabel MAHASISWA-3
No-Mhs
Nama-Mhs
Jurusan
2683
Welli
MI
5432
Bakri
Ak.
Suzan Agustri
33
Basis Data
Normalisasi
Tabel NILAI
No-Mhs
Nilai
Kode MK
2683
MI350
A
2683
MI465
B
5432
MI350
C
5432
AKN201
B
5432
MKT300
A
Tabel MATAKULIAH (3NF) Kode-MK
Nama-MK
Kode-Dosen
MI350
Manajamen DB
B104
MI465
Analsis Prc. Sistem
B317
AKN201
Akuntansi Keuangan
D310
MKT300
DasarPemasaran
B212
Tabel DOSEN (3NF) Kode- Dosen
Nama-Dosen
B104
Ati
B317
Dita
B310
Lia
B212
Lola
Tabel MAHASISWA-3 (3NF)
No-Mhs
Nama-Mhs
Jurusan
2683
Welli
MI
5432
Bakri
Ak.
Suzan Agustri
34
Basis Data
Normalisasi
Tabel NILAI (3NF)
No-Mhs
Kode MK
Nilai
2683
MI350
A
2683
MI465
B
5432
MI350
C
5432
AKN201
B
5432
MKT300
A
Suzan Agustri
35
Basis Data
Proses Perancangan Basis Data
PROSES PERANCANGAN BASIS DATA
Seperti telah disebutkan sebelumnya, sebuah sistem basis data merupakan komponen dasar sistem informasi organisasi yang besar. Oleh karena itu siklus hidup aplikasi basis data berhubungan dengan siklus hidup sistem informasi. Berikut ini akan digambarkan langkahlangkah yang terdapat di dalam siklus hidup aplikasi basis data.
Database Planning Systems Definition Requirements Collection and Analysis
Database Design DBMS Selection
Conceptual Design Logical Design
Application Design
Physical Design
Implementation Prototyping Data Loading And Convertion
Testing Operational Maintenance
Gambar 1. Langkah-langkah Siklus Hidup Aplikasi Basis Data
Suzan Agustri
36
Basis Data
Proses Perancangan Basis Data
Hal yang penting adalah mengetahui bahwa langkah-langkah siklus hidup aplikasi basis data dapat tidak berurutan, tetapi melibatkan beberapa langkah pengulangan yang biasanya disebut sebagai feedback loop. Sebagai contoh: masalah-masalah yang ditemui selama perancangan basis data mungkin harus mengumpulkan dan menganalisis kebutuhan-kebutuhan tambahan. Seperti yang digambarkan terdapat feedback loop diantara langkah-langkah yang sering terjadi.
PERANCANGAN BASIS DATA Pada basis data yang digunakan oleh single user atau hanya beberapa pemakai saja, perancangan basis data tidak sulit. Tetapi jika ukuran basis data yang sedang atau besar (25 - ratusan pemakai yang berisikan jutaan bytes informasi dan melibatkan ratusan query dan program-program aplikasi, contoh: industri-industri, asuransi, hotel, travel, dan lain-lain (yang seluruhnya tergantung pada kesuksesan dari operasi-operasi basis datanya), perancangan basis data menjadi sangat kompleks. Oleh karena itu para pemakai mengharapkan penggunaan basis data yang sedemikian rupa sehingga sistem harus dapat memenuhi kebutuhan-kebutuhan seluruh pemakai tersebut.
Tujuan perancangan basis data: •
untuk memenuhi informasi yang berisikan kebutuhan-kebutuhan pemakai secara khusus dan aplikasi-aplikasinya.
•
memudahkan pengertian struktur informasi.
•
mendukung kebutuhan-kebutuhan pemrosesan dan beberapa obyek penampilan (response time, processing time, dan storage space).
APLIKASI BASIS DATA DALAM LIFECYCLE Siklus kehidupan sistem informasi sering disebut macro life cycle, dimana siklus kehidupan basis data merupakan micro life cycle. Aktivitas-aktivitas yang berhubungan dengan basis data sebagai micro life cycle dan termasuk fase-fasenya sebagai berikut: 1.
Database planning Di aktivitas ini akan disusun bagaimana langkah-langkah siklus hidup dapat direalisasikan secara lebih efisien dan efektif.
2.
System definition Definisi ruang lingkup basis data (misal : para pemakai, aplikasi-aplikasinya, dan sebagainya)
Suzan Agustri
37
Basis Data
3.
Proses Perancangan Basis Data
Design Pada bagian dari fase ini, perancangan sistem basis data secara konseptual, logikal dan fisik dilaksanakan
4.
Implementation Pemrosesan dari penulisan definisi basis data secara konseptual, eksternal, dan internal, pembuatan file-file basis data yang kosong, dan implementasi aplikasi-aplikasi software.
5.
Loading atau Data Conversion Basis data ditempatkan baik secara memanggil data secara langsung ataupun merubah file-file yang ada ke dalam format sistem basis data dan memangggilnya kembali.
6.
Application Conversion Beberapa aplikasi software dari suatu sistem sebelumnya dikonversikan ke suatu sistem yang baru.
7.
Testing dan Validation Sistem yang baru dites dan diuji kebenarannya.
8.
Operation Operasi-operasi pada sistem basis data dan aplikasi-aplikasinya.
9.
Monitoring dan Maintenance Selama fase operasi, sistem secara konstan memonitor dan memelihara basis data. Pertambahan dan pengembangan data dan aplikasi-aplikasi software dapat terjadi. Modifikasi dan pengaturan kembali basis data mungkin diperlukan dari waktu ke waktu.
Langkah ke-3 disebut juga perancangan basis data. Langkah 3, 4, dan 5 merupakan bagian dari fase design dan implementation pada siklus kehidupan sistem informasi yang besar. Pada umumnya basis data pada organisasi menjalani seluruh aktivitas siklus kehidupan di atas. Langkah 5 dan 6 tidak berlaku jika basis data dan aplikasi-aplikasinya baru.
PROSES PERANCANGAN BASIS DATA 6 Fase proses perancangan basis data: 1. Pengumpulan data dan analisis 2. Perancangan basis data secara konseptual 3. Pemilihan DBMS 4. Perancangan basis data secara logika (data model mapping) 5. Perancangan basis data secara fisik 6. Implementasi sistem basis data.
Suzan Agustri
38
Basis Data
Proses Perancangan Basis Data
Gambar fase-fase perancangan basis data untuk basis data yang besar:
Phase 1 : requirements collection and analysis Phase 2 : Conceptual design
Data requirements
Conceptual & external Schema design (DBMS-independent)
Processing requirements
Transaction design (DBMS-independent)
Phase 3 : Choice of DBMS Phase 4: Data model Mapping (logical design)
Conceptual & external schema design (DBMS-dependent)
Phase 5 : Physical design
Internal schema design (DBMS-dependent)
Phase 6: Implementation
DDL-statements SDL-statements
frequencies, performance constraints
Transaction implementation
Keterangan: Secara khusus proses perancangan berisikan 2 aktivitas paralel. Aktivitas yang pertama melibatkan perancangan dari isi data dan struktur basis data, sedangkan aktivitas kedua mengenai perancangan pemrosesan basis data dan aplikasi-aplikasi perangkat lunak.
Dua aktivitas ini saling menjalin, misalnya: kita dapat mengidentifikasikan data item yang akan disimpan dalam basis data dengan menganalisa aplikasi-aplikasi basis data. Dua aktivitas ini juga saling mempengaruhi satu sama lain. Contohnya: fase perancangan basis data secara fisik, pada saat kita memilih struktur penyimpanan dan jalur-jalur akses dari filefile basis data yang tergantung pada aplikasi-aplikasi yang akan menggunakan file-file tersebut.
Di lain pihak, kita biasanya menentukan perancangan aplikasi-aplikasi basis data dengan mengarah kepada konstruksi skema basis data yang telah ditentukan selama aktivitas yang pertama.
6 fase di atas tidak harus diproses berurutan. Pada beberapa hal, rancangan tersebut dapat dimodifikasi dari yang pertama dan sementara itu mengerjakan fase yang terakhir (feedback loop antara fase) dan feedback loop dalam fase sering terjadi selama proses perancangan.
Suzan Agustri
39
Basis Data
Proses Perancangan Basis Data
Fase 1 merupakan kumpulan informasi yang berhubungan dengan penggunaan basis data. Fase 6 merupakan implementasi basis datanya. Fase 1 dan 6 kadang-kadang bukan merupakan bagian dari perancangan basis data, tetapi merupakan bagian dari siklus kehidupan sistem informasi secara umum. Inti dari proses perancangan basis data adalah fase 2, 4, 5.
Fase 1: Pengumpulan data dan analisa Proses identifikasi dan analisa kebutuhan-kebutuhan data disebut pengumpulan data dan analisa. Untuk menentukan kebutuhan-kebutuhan suatu sistem basis data, pertama-tama harus mengenal bagian-bagian lain dari sistem informasi yang akan berinteraksi dengan sistem basis data, termasuk para pemakai yang ada dan para pemakai yang baru serta aplikasi-aplikasinya. Kebutuhan-kebutuhan dari para pemakai dan aplikasi-aplikasi inilah yang kemudian dikumpulkan dan dianalisa.
Aktivitas pengumpulan data dan analisa: 1. Menentukan kelompok pemakai dan bidang-bidang aplikasinya Menentukan aplikasi utama dan kelompok user yang akan menggunakan basis data. Individu utama pada tiap-tiap kelompok pemakai dan bidang aplikasi yang telah dipilih merupakan peserta utama pada langkah-langkah berikutnya dari pengumpulan dan spesifikasi data. 2. Peninjauan dokumentasi yang ada Dokumen yang ada yang berhubungan dengan aplikasi-aplikasi dipelajari dan dianalisa. Dokumen-dokumen lainnya (seperti: kebijaksanaan-kebijaksanaan, form, report, dan bagan organisasi) diuji dan ditinjau kembali untuk menguji apakah dokumen-dokumen tersebut berpengaruh terhadap kumpulan data dan proses spesifikasi. 3. Analisa lingkungan operasi dan pemrosesan data Informasi yang sekarang dan yang akan datang dipelajari. Termasuk juga analisa jenisjenis transaksi dan frekuensi-frekuensi transaksinya dan juga arus informasi dalam sistem. Input-output data untuk transaksi-transaksi tersebut diperinci.
4. Daftar pertanyaan dan wawancara Tuliskan tanggapan-tanggapan dari pertanyaan-pertanyaan yang telah dikumpulkan dari para pemakai basis data yang berpotensi. Ketua kelompok (individu utama) dapat diwawancarai sehingga input yang banyak dapat diterima dari mereka dengan memperhatikan informasi yang berharga dan mengadakan prioritas.
Suzan Agustri
40
Basis Data
Proses Perancangan Basis Data
Fase 2 : Perancangan basis data secara konseptual Tujuan dari fase ini adalah menghasilkan conceptual schema untuk basis data yang tergantung pada sebuah DBMS yang spesifik. Sering menggunakan sebuah high-level data model seperti ER/EER model selama fase ini. Dalam conceptual schema, kita harus memerinci aplikasi-aplikasi basis data yang diketahui dan transaksi-transaksi yang mungkin.
Fase perancangan basis data secara konseptual mempunyai 2 aktivitas paralel: 1. Perancangan skema konseptual: menguji kebutuhan-kebutuhan data dari suatu basis data yang merupakan hasil dari fase 1, dan menghasilkan sebuah conceptual database schema pada DBMSindependent model data tingkat tinggi seperti EER (enhanced entity relationship) model. Skema ini dapat dihasilkan dengan menggabungkan bermacam-macam kebutuhan pemakai dan secara langsung membuat skema basis data atau dengan merancang skema-skema
yang terpisah dari
menggabungkan
skema-skema
kebutuhan tiap-tiap
tersebut.
Model
data
pemakai yang
dan kemudian
digunakan
pada
perancangan skema konseptual adalah DBMS-independent, dan langkah selanjutnya adalah memilih sebuah DBMS untuk melaksanakan rancangan tersebut. 2. Perancangan transaksi: menguji aplikasi-aplikasi basis data dimana kebutuhan-kebutuhannya telah dianalisa pada fase 1, dan menghasilkan perincian transaksi-transaksi ini. Kegunaan fase ini yang diproses secara paralel bersama fase perancangan skema konseptual adalah untuk merancang karakteristik dari transaksi-transaksi basis data yang telah diketahui pada suatu DBMS-independent. Transaksi-transaksi ini akan digunakan untuk memproses dan memanipulasi basis data suatu saat dimana basis data tersebut dilaksanakan.
Fase 3 : Pemilihan DBMS Pemilihan basis data di tentukan oleh beberapa faktor, diantaranya: faktor teknik, ekonomi, dan politik organisasi. Contoh faktor teknik: keberadaan DBMS dalam menjalankan tugasnya seperti jenis-jenis DBMS (relational, network, hierarchical, dan lain-lain), struktur penyimpanan, dan jalur akses yang mendukung DBMS, pemakai, dan lain-lain.
Faktor-faktor ekonomi dan organisasi yang mempengaruhi satu sama lain dalam pemilihan DBMS: 1. Struktur data Jika data yang disimpan dalam basis data mengikuti struktur hirarki, maka suatu jenis hirarki dari DBMS harus dipikirkan. Suzan Agustri
41
Basis Data
Proses Perancangan Basis Data
2. Personal yang telah terbiasa dengan suatu sistem Jika staf programmer dalam suatu organisasi sudah terbiasa dengan suatu DBMS, maka hal ini dapat mengurangi biaya latihan dan waktu belajar. 3. Tersedianya layanan penjual Keberadaan
fasilitas
pelayanan
penjual
sangat
dibutuhkan
untuk
membantu
memecahkan beberapa masalah sistem.
Fase 4 : Perancangan basis data secara logika (pemetaan model data) Fase selanjutnya dari perancangan basis data adalah membuat sebuah skema konseptual dan skema eksternal pada model data dari DBMS yang terpilih. Fase ini dilakukan oleh pemetaan skema konseptual dan skema eksternal yang dihasilkan pada fase 2. Pada fase ini, skema konseptual ditransformasikan dari model data tingkat tinggi yang digunakan pada fase 2 ke dalam model data dari DBMS yang dipilih pada fase 3.
Pemetaannya dapat diproses dalam 2 tingkat: 1. Pemetaan system-independent: pemetaan ke dalam model data DBMS dengan tidak mempertimbangkan karakteristik atau hal-hal yang khusus yang berlaku pada implementasi DBMS dari model data tersebut. 2. Penyesuaian skema ke DBMS yang spesifik: mengatur skema yang dihasilkan pada langkah 1 untuk disesuaikan pada implementasi yang khusus di masa yang akan datang dari suatu model data yang digunakan pada DBMS yang dipilih.
Hasil dari fase ini memakai perintah-perintah DDL dalam bahasa DBMS yang dipilih yang menentukan tingkat skema konseptual dan eksternal dari sistem basis data. Tetapi dalam beberapa hal, perintah-perintah DDL memasukkan parameter-parameter rancangan fisik sehingga DDL yang lengkap harus menunggu sampai fase perancangan basis data secara fisik telah lengkap.
Fase ini dapat dimulai setelah pemilihan sebuah implementasi model data sambil menunggu DBMS yang spesifik yang akan dipilih. Contoh: jika memutuskan untuk menggunakan beberapa relational DBMS tetapi belum memutuskan suatu relasi yang utama. Rancangan dari skema eksternal untuk aplikasi-aplikasi yang spesifik seringkali sudah selesai selama proses ini.
Suzan Agustri
42
Basis Data
Proses Perancangan Basis Data
Fase 5 : Perancangan basis data secara fisik Perancangan
basis
data
secara
fisik
merupakan
proses
pemilihan
struktur-struktur
penyimpanan dan jalur-jalur akses pada file-file basis data untuk mencapai penampilan yang terbaik pada bermacam-macam aplikasi.
Selama fase ini, dirancang spesifikasi-spesifikasi untuk basis data yang disimpan yang berhubungan dengan struktur-struktur penyimpanan fisik, penempatan record dan jalur akses. Berhubungan dengan internal schema (pada istilah 3 level arsitektur DBMS).
Beberapa petunjuk dalam pemilihan perancangan basis data secara fisik: 1. Response time: waktu yang telah berlalu dari suatu transaksi basis data yang diajukan untuk menjalankan suatu tanggapan. Pengaruh utama pada response time adalah di bawah pengawasan DBMS yaitu: waktu akses basis data untuk data item yang ditunjuk oleh suatu transaksi. Response time juga dipengaruhi oleh beberapa faktor yang tidak berada di bawah pengawasan DBMS, seperti penjadwalan sistem operasi atau penundaan komunikasi. 2. Space utility: jumlah ruang penyimpanan yang digunakan oleh file-file basis data dan struktur-struktur jalur akses. 3. Transaction throughput: rata-rata jumlah transaksi yang dapat diproses per menit oleh sistem basis data, dan merupakan parameter kritis dari sistem transaksi (misal: digunakan pada pemesanan tempat di pesawat, bank, dan lain-lain). Hasil dari fase ini adalah penentuan awal dari struktur penyimpanan dan jalur akses untuk file-file basis data.
Fase 6 : Implementasi sistem basis data Setelah perancangan secara logika dan secara fisik lengkap, kita dapat melaksanakan sistem basis data. Perintah-perintah dalam DDL (Data Definition Language) dan SDL (Storage Definition Language) dari DBMS yang dipilih, dihimpun dan digunakan untuk membuat skema basis data dan file-file basis data (yang kosong). Sekarang basis data tersebut dimuat (disatukan) dengan datanya.
Jika data harus dirubah dari sistem komputer sebelumnya, perubahan-perubahan yang rutin mungkin diperlukan untuk format ulang datanya yang kemudian dimasukkan ke basis data yang baru. Transaksi-transaksi basis data sekarang harus dilaksanakan oleh para programmmer aplikasi.
Suzan Agustri
43
Basis Data
Proses Perancangan Basis Data
Spesifikasi secara konseptual diuji dan dihubungkan dengan kode program dengan perintah-perintah dari embedded DML yang telah ditulis dan diuji. Suatu saat transaksitransaksi tersebut telah siap dan data telah dimasukkan ke dalam basis data, maka fase perancangan dan implementasi telah selesai, dan kemudian fase operasional dari sistem basis data dimulai.
Suzan Agustri
44
Sistem Basis Data
Suzan Agustri
Distributed Database
79