Anda di halaman 1dari 26

11/24/2012

Desain Database (DDB)


N. Tri Suswanto Saptadi

11/24/2012

nts/ps/ft/uajm

11/24/2012

nts/ps/ft/uajm

11/24/2012

Definisi
Basis data (database) merupakan kumpulan dari data yang saling berhubungan satu dengan yang lainnya, tersimpan di simpanan luar komputer dan digunakan perangkat lunak tertentu untuk memanipulasinya. Database merupakan salah satu komponen yang penting di sistem informasi, karena berfungsi sebagai basis penyedia informasi bagi para pemakainya. Penerapan database dalam sistem informasi disebut dengan database systems.
11/24/2012 nts/ps/ft/uajm 3

Database system
Sistem basis data (database system) adalah suatu sistem informasi yang mengintegrasikan kumpulan dari data yang saling berhubungan satu dengan lainnya dan membuatnya tersedia untuk beberapa aplikasi yang bermacam-macam di dalam suatu organisasi.

11/24/2012

nts/ps/ft/uajm

11/24/2012

Tujuan Desain
Tujuan dari desain database adalah untuk menentukan data-data yang dibutuhkan dalam sistem, sehingga informasi yang dihasilkan dapat terpenuhi dengan baik. Terdapat beberapa alasan mengapa desain database perlu untuk dilakukan, salah satu adalah untuk menghindari pengulangan data.

11/24/2012

nts/ps/ft/uajm

Metode meminimalisasi pengulangan data


Normalisasi. Dekomposisi lossless. Diperlukan jika ada indikasi bahwa tabel yang kita buat tidak baik (terjadi pengulangan informasi, potensi inkonsistensi data pada operasi pengubahan, tersembunyinya informasi tertentu) dan diperlukan supaya jika tabel-tabel yang didekomposisi kita gabungkan kembali dapat menghasilkan tabel awal sebelum didekomposisi, sehingga diperoleh tabel yang baik. ERD (Entity Relationship Diagram). Menentukan kardinalitas relasi.
11/24/2012 nts/ps/ft/uajm 6

11/24/2012

Pengertian KEY
Superkey adalah gugus dari sejumlah atribut entiti yang dapat digunakan untuk mengidentifikasi obyek secara unik. Candidate key adalah superkey dengan jumlah atribut minimal dan dapat berdiri sendiri. Primary key adalah superkey yang dipilih oleh desainer atau administrator basis data.

11/24/2012

nts/ps/ft/uajm

Normalisasi
Adalah proses yang berkaitan dengan model data relational untuk mengorganisasi himpunan data dengan ketergantungan dan keterkaitan yang tinggi atau erat. Hasil dari proses normalisasi adalah himpunanhimpunan data dalam bentuk normal (normal form). Kegunaan : meminimasi pengulangan informasi, memudahkan indentifikasi entiti / obyek.
11/24/2012 nts/ps/ft/uajm 8

11/24/2012

Bentuk Normal
Bentuk Normal I (First Normal Form / 1-NF). Bentuk Normal II (Second Normal Form / 2-NF). Bentuk Normal III (Third Normal Form / 3-NF). Bentuk Normal IV (Fourth Normal Form / 4-NF). Bentuk Normal Boyce-Codd (Boyce-Codd Normal Form / BCNF). Project-Join Normal I Form (PJNF). Domain-Key Normal I Form (DKNF). Bentuk Normal V (Fifth Normal Form / 5-NF).
11/24/2012 nts/ps/ft/uajm 9

Bentuk Normal I (First Normal Form / 1-NF)


Suatu relasi memenuhi 1-NF jika dan hanya jika setiap atribut dari relasi tersebut hanya memiliki nilai tunggal dalam satu baris atau record. Bentuk tidak Unnormalized Form (Non 1-NF table)
StudentID 61521 61300 Studenst Jones Devi CourseID MAT231, ECO220, HST211 HST211

61425
61230

Tony
Paula

ENG202, MAT231
MAT231, ENG202

11/24/2012

nts/ps/ft/uajm

10

11/24/2012

Bentuk 1-NF table


StudentID Student CourseID

61521
61521 61521

Jones
Jones Jones

MAT231
ECO220 HST211

61300
61425 61425

Devi
Tony Tony

HST221
ENG202 MAT231

61230
61230

Paula
Paula

MAT231
ENG202

11/24/2012

nts/ps/ft/uajm

11

Bentuk Normal II (Second Normal Form / 2-NF)


Suatu relasi memenuhi 2-NF jika dan hanya jika :
Memenuhi 1-NF. Setiap atribut yang bukan kunci utama tergantung secara fungsional terhadap semua atribut kunci dan bukan hanya sebagian atribut.

Jika suatu relasi memenuhi 1-NF dan relasi tersebut memiliki tepat satu atribut yang membentuk kunci utama, maka relasi tersebut memenuhi 2-NF. Rasionalisasi 2-NF :
Memiliki semantik yang lebih eksplisit dari 1-NF. Mencegah beberapa kondisi anomali dalam update data.
11/24/2012 nts/ps/ft/uajm 12

11/24/2012

Bentuk 2-NF table (satisfying 1-NF)


StudentID
61521 61521 61521 61300 61425 61425 61230 61230

Student
Jones Jones Jones Devi Tony Tony Paula Paula

BirthDate
12/05/77 12/05/77 12/05/77 04/28/78 11/01/78 11/01/78 06/14/77 06/14/77

Couse
Math Economic History History English Math Math English

CourseID
MAT231 ECO220 HST211 HST211 ENG202 MAT231 MAT231 ENG202

Credit
3 3 2 2 2 3 3 2

Grade
B A B A C B B C

Weight
3 4 3 4 2 3 3 2

Ketergantungan fungsional dilakukan untuk :


StudentID => Student, BirthDate (SC1). CourseID => Course, Credit (SC2). StudentID, CourseID => Grade (SC3, SC3A). Grade => Weight (SC3B).
11/24/2012 nts/ps/ft/uajm 13

Tabel yang memenuhi 2-NF


StudentID Course
61521 61521 61521 61300 61425 61425 61230 61230 MAT231 ECO220 HST211 HST211 ENG202 MAT231 MAT231 ENG202 B A B A C B B C 3 4 3 4 2 3 3 2

StudentID
61521 61300 61425 61230

Student
Jones Devi Tony Paula

BirthDate
12/05/77 04/28/78 11/01/78 06/14/77

SC1 table

Grade Weight CourseID


MAT231 ECO220 HST211 ENG202

Course
Math Economic History English

Credit
3 3 2 2

SC2 table

SC3 table
11/24/2012 nts/ps/ft/uajm 14

11/24/2012

Tabel yang memenuhi 3-NF


Akhirnya semua tabel SC1, SC2, SC3A, SC3B berada dalam kondisi 3-NF, sehingga semua databases mengalami kondisi 3-NF
11/24/2012

StudentID
61521 61521 61521 61300 61425 61425 61230 61230

CourseID
MAT231 ECO220 HST211 HST211 ENG202 MAT231 MAT231 ENG202

Grade
B A B A C B B C

SC3B table Grade


A B C D E

Weight
4 3 2 1 0
15

SC3B table
nts/ps/ft/uajm

Bentuk Normal III (Third Normal Form / 1-NF)


Suatu relasi memenuhi bentuk III (3-NF) jika dan hanya jika :
Relasi tersebut memenuhi 2-NF. Setiap atribut bukan kunci tidak tergantung secara fungsional kepada atribut bukan kunci yang lain dalam relasi tersebut.

Suatu relasi yang memenuhi 2-Nf dan hanya memiliki satu atribut bukan kunci selalu memenuhi 3-NF.
11/24/2012 nts/ps/ft/uajm 16

11/24/2012

Bentuk Normal Boyce-Codd


(Boyce-Codd Normal Form / BCNF)
Suatu relasi memenuhi BCNF jika dan hanya jika setiap determinan yang ada pada relasi tersebut adalah kunci kandidat (candidate keys). Determinan adalah gugus atribut di mana satu atau lebih atribut lain tergantung secara fungsional.

11/24/2012

nts/ps/ft/uajm

17

Model Hubungan atau Relasi Entiti


(Entity Realtionship (E-R) Model) (1 dari 2)
Model relasi entiti didasarkan pada persepsi dunia nyata yang terdiri dari himpunan obyek dasar yang disebut entiti dan relasi antar entiti. Entiti adalah obyek yang dapat diidentifikasi secara unik. Entiti dikarakterisasi dan dipresentasikan dengan suatu gugus atribut. Contoh gugus atribut dari entiti PEKERJA adalah nama, tanggal lahir, NIP, golongan/pangkat. Sekelompok entiti yang memiliki karakterisasi entiti disebut gugus entiti (entity set).
11/24/2012 nts/ps/ft/uajm 18

11/24/2012

Model Hubungan atau Relasi Entiti


(Entity Realtionship (E-R) Model) (2 dari 2)
Setiap entiti dari gugus tersebut disebut anggota gugus (member of set). Contoh gugus entiti adalah gugus entiti pegawai bank, gugus entiti nasabah bank. Dari beberapa gugus tadi mungkin terjadi suatu relasi, misalnya relasi antara gugus bank dengan gugus nasabah bank. Berdasarkan jumlah gugus yang terlibat maka relasi antar entiti dibedakan menjadi :
Relasi biner (binary), yaitu relasi antar 2 gugus entiti. Relasi trio (ternary), yaitu relasi antar 3 gugus entiti. Relasi N-ary, yaitu relasi antar n gugus entiti.
11/24/2012 nts/ps/ft/uajm 19

Relasi Biner
Khusus untuk relasi biner maka relasi antar anggota dari dua gugus yang terlibat (kardinalitas relasi biner) dapat bersifat :
Relasi 1-1 (one-to-one relationship) Relasi 1-banyak (one-to-many relationship) Relasi banyak-1 (many-to-one relationship)

11/24/2012

nts/ps/ft/uajm

20

10

11/24/2012

Tipe Hubungan
Jenis hubungan antara dua tipe entitas:
a) b) c) d) One to One One to Many Many to One Many to Many

11/24/2012

nts/ps/ft/uajm

(c)

(d)

21

Relasi 1-1 (one-to-one relationship)


adalah satu entiti anggota gugus diasosiasikan dengan tepat satu entiti anggota gugus yang lain.

11/24/2012

nts/ps/ft/uajm

22

11

11/24/2012

Relasi 1-banyak (one-to-many relationship)


Adalah satu entiti anggota gugus diasosiasikan dengan satu atau lebih entiti anggota gugus yang lain. Sebaliknya satu entiti anggota gugus yang lain tersebut diasosiasikan dengan tepat satu entiti anggota gugus pasangannya

11/24/2012

nts/ps/ft/uajm

23

Relasi banyak-1 (many-to-one relationship)


Adalah satu entiti anggota gugus diasosiasikan dengan satu atau lebih entiti anggota gugus yang lain dan berlaku pula sebaliknya

11/24/2012

nts/ps/ft/uajm

24

12

11/24/2012

Simbol dalam Diagram E-R


ENTITAS Kardinalitas: Selalu hanya satu
Hubungan

Satu atau banyak Nol atau satu

Atribut Garis bawah: Kunci atau pengenal (identifier)


11/24/2012 nts/ps/ft/uajm 25

Nol, satu, atau banyak

Simbol Lain-Lain
Entitas kuat
Entitas lemah Atribut Hubungan Atribut nilai berganda Atribut turunan
26

Entitas asosiatif

Hubungan pengidentifikasi
11/24/2012 nts/ps/ft/uajm

13

11/24/2012

Menterjemahkan ERD ke Tabel

(1 dari 2)

11/24/2012

nts/ps/ft/uajm

27

Menterjemahkan ERD ke Tabel

(2 dari 2)

11/24/2012

nts/ps/ft/uajm

28

14

11/24/2012

Tipe file
Database dibentuk dari kumpulan file. File di dalam pemrosesan aplikasi dapat dikategorikan ke dalam beberapa tipe, diantaranya sebagai berikut :
File induk (master file) File transaksi (transaction file) File laporan (report file) File sejarah (history file) File pelindung (backup file) File kerja (working file)
11/24/2012 nts/ps/ft/uajm 29

Tipe file File induk (master file)


(1 dari 6)

Di dalam aplikasi, file ini merupakan file yang penting. File ini tetap terus ada selama hidup dari sistem informasi.

File induk dapat dibedakan lagi menjadi :


File induk acuan (reference master file), yaitu file induk yang recordnya relatif statis, jarang berubah nilainya. Contoh : file daftar gaji, file daftar matakuliah. File induk dinamik (dynamic master file), yaitu file induk yang nilai dari record-recordnya sering berubah atau sering dimutakhirkan (updated) sebagai akibat dari suatu transaksi. Contoh : file induk persediaan, file induk langganan.
11/24/2012 nts/ps/ft/uajm 30

15

11/24/2012

Tipe file File transaksi (transaction file)


(2 dari 6)

Nama lain adalah file input (input file). Berguna untuk merekam data hasil dari suatu transaksi yang terjadi. Misalnya nilai unit suatu barang dapat diketahui dari file induk persediaan. File induk ini hanya menunjukkan status unit akhir dari barang yang dimaksud. Sedang unit akhir ini berasal dari transaksitransaksi yang pernah terjadi. Untuk melihat transaksi-transaksi yang mempengaruhi nilai di file induk, maka dapat dilihat pada file transaksinya. Contoh : file transaksi penjualan yang berisi data tentang transaksi penjualan yang terjadi. Biasanya file transaksi memuat rekaman tanggal dari transaksinya yang menunjukkan kapan transaksi tersebut terjadi
11/24/2012 nts/ps/ft/uajm 31

Tipe file File laporan (report file)


(3 dari 6)

File ini disebut juga dengan file output (output file), yaitu file yang berisi dengan informasi yang akan ditampilkan. File ini dibuat untuk mempersiapkan pembuatan suatu laporan dan biasanya dilakukan bila printer belum siap atau masih digunakan oleh proses yang lain.

11/24/2012

nts/ps/ft/uajm

32

16

11/24/2012

Tipe file File sejarah (history file)


(4 dari 6)

File sejarah disebut juga dengan file arsip (archival file), yaitu file yang berisi dengan data masa lalu yang sudah tidak aktif lagi, tetapi perlu disimpan untuk keperluan mendatang

11/24/2012

nts/ps/ft/uajm

33

Tipe file File pelindung (backup file)


(5 dari 6)

File pelindung merupakan salinan dari file-file yang masih aktif di database pada suatu saat tertentu. File ini digunakan sebagai cadangan atau pelindung bila file database yang aktif rusak atau hilang

11/24/2012

nts/ps/ft/uajm

34

17

11/24/2012

Tipe file File kerja (working file)


(6 dari 6)

File kerja disebut juga dengan nama file sementara (temprorary file). File ini dibuat oleh suatu proses program secara sementara karena memori komputer tidak mencukupi atau untuk menghemat pemakaian memori selama proses dan akan dihapus bila proses telah selesai.

11/24/2012

nts/ps/ft/uajm

35

Akses dan organisasi file


Akses file (access file) adalah suatu metode yang menunjukkan bagaimana suatu program komputer akan membaca record-record dari suatu file. File dapat diakses dengan dua cara yaitu secara urut (sequential access) atau secara langsung (direct access atau random access). Metode akses urut (sequential access method) dilakukan dengan membaca atau menulis suatu record di file dengan membaca terlebih dahulu mulai dari record pertama, urut sampai dengan record yang diinginkan. Metode akses langsung (direct access method) dilakukan dengan cara langung membaca record pada posisinya di file tanpa membaca dari record pertama terlebih dahulu.
11/24/2012 nts/ps/ft/uajm 36

18

11/24/2012

Organisasi File
adalah pengaturan dari record secara logika didalam file dihubungkan satu dengan yang lainnya. File dapat diorganisasikan secara urut (sequential organization) atau secara acak (random organization). Walaupun organisasi file dan pengaksesan file dapat dipandang secara terpisah, tetapi biasanya pembahasan mengenai organisasi file menyangkut keduanya.
11/24/2012 nts/ps/ft/uajm 37

Pembahasan organisasi file


File urut (sequential file) merupakan file dengan organisasi urut (sequential organization) dengan pengaksesan secara urut (sequential access). File urut berindeks (indexed sequential file) atau sering disebut dengan ISAM (indexed sequential access method) merupakan file dengan organisasi urut (sequential organization) dengan pengaksesan secara langsung (direct access). File akses langsung (direct access file) atau disebut dengan file alamat langsung (direct address file) merupakan file dengan organisasi acak (random organization) dengan pengaksesan langsung (direct access)
11/24/2012 nts/ps/ft/uajm 38

19

11/24/2012

Karakteristik Struktur Data Hubungan


File dalam bentuk tabel yang persis dengan file urut. Hubungan antara record didasarkan pada nilai dari field kunci, bukan berdasarkan alamat atau pointer.

Struktur data hubungan makin banyak digunakan pada paket-paket DBMS, seperti misalnya MS. Access, Dbase, Foxbase, MySql, Postgresql, Oracle dan sebagainya.
11/24/2012 nts/ps/ft/uajm 39

Langkah-langkah desain database


Untuk tahap desain database yang perlu dilakukan adalah mengidentifikasi terlebih dahulu file-file yang diperlukan dalam sistem informasi yang dibangun. File-file database yang dibutuhkan oleh sistem dapat dilihat pada desain model yang digambarkan dalam bentuk diagram arus data (DFD) dan kamus data (DD).
11/24/2012 nts/ps/ft/uajm 40

20

11/24/2012

Desain database secara umum


Menentukan kebutuhan file database untuk sistem yang baru. File yang dibutuhkan dapat ditentukan dari DFD dan DD sistem baru yang telah dibuat. Menentukan parameter dari file database. Setelah filefile yang dibutuhkan telah dapat ditentukan, maka parameter dari file selanjutnya juga dapat ditentukan. Parameter tersebut, meliputi:
Tipe dari file : file induk, file transaksi, file sementara (temporary). Media dari file : hardisk, disket, pita magnetik, CD. Organisasi dari file : fila sequential, random, berindek. Field kunci dari file.
11/24/2012 nts/ps/ft/uajm 41

Analisis Sistem

(1 dari 2)

Dapat menggunakan formulir berikut untuk mengidentifikasi file database yang akan didesain Tabel identifikasi kebutuhan file
No/ Kode File
Tr000 Tr001 Tr002 Tr003

Nama File
Tari

Tipe File

Media File
Hardisk Hardisk Hardisk Hardisk

Organisasi File
Urut berindek Urut berindek Urut berindek Urut berindek

Field Kunci

Induk acuan

Kod_tari Kod_pjr Nim_sis Nim_sis+Byr_ke

Pengajar Induk acuan Siswa Bayar Induk dinamik Transaksi

11/24/2012

nts/ps/ft/uajm

42

21

11/24/2012

Analisis Sistem

(2 dari 2)

Tabel identifikasi atribut (field) dalam sebuah file


Nama file database Nama file index Nama atribut kunci Fungsi file No
1 2 3 4 11/24/2012

: Tipe file : ... : Organisasi file : . : : ... Domain


Char(2) Char(20) Char(1) Num(2)

Nama Atribut
Kod_tari Nam_tari Jen_kel Lat_ke

Constraint
Not Null Not Null Not Null Not Null nts/ps/ft/uajm

Keterangan
Primary key pada tabel daftar tarian

P=Pria; W=Wanita >0 43

Studi Kasus
Gambar di bawah ini menunjukkan system flow diagram dari suatu sistem penggajian sementara untuk menghasilkan paycheck berdasarkan timecard dan payroll information. Buatlah Tabel yang menunjukkan klasifikasi file dari sistem flow diagram

22

11/24/2012

Sistem Flow Diagram

FILE Time cards Sort Program Sort Work File Sorted Time Cards Payroll Master Pay Record Update Program Reject Time Cards Pay Check Detail Reconciliation Detail List Utility Program Reject Report Paycheck Writer Program Pay Checks Reconciliation Report Writer Program Reconciliation Report

FUNGSI Transaction Program Work Transaction Master Program Work Work Work Program Report Program Report Program Report

23

11/24/2012

Model Akses File


Ada 3 model akses yang mungkin oleh sebuah program terhadap file, yaitu :
Input Output Input / Output

Input File
adalah file yang hanya dapat dibaca dengan program. Contoh :
Transaction file merupakan input file untuk meng-update program Program file dari source code merupakan input file untuk program compiler

24

11/24/2012

Output File
adalah file yang hanya dapat ditulis oleh sebuah program / file yang dibuat dengan program. Contoh :
Report file merupakan output dari program yang meng-update master file. Program file yang berupa object code merupakan output file dari program compiler.

Input / Output File


adalah file yang dapat dibaca dari dan ditulis ke selama eksekusi program. Contoh :
Master File (Berkas Induk) Work File dengan sort program (Berkas Kerja)

25

11/24/2012

Program File
Sort

Input File
timecard

Output File
sorted timecards

I/O File sort workfile

Pay record update sorted timecards Paycheck writer Reconciliation report writer List utility paycheck detail reconciliation detail reject timecards

reject timecards paycheck payroll detail reconciliation detail master paychecks reconciliation report

reject report

Sebuah file mempunyai lebih dari satu fungsi jika digunakan oleh lebih dari satu program

26

Anda mungkin juga menyukai