perancangan basisdata part 1

40
Perancangan Database Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 1 Sistem Manajemen Basis Data (DBMS) Kumpulan data berisi informasi yang sesuai untuk sebuah perusahaan. Sistem manajemen basis data (DBMS) adalah kumpulan data yang saling berhubungan dan kumpulan program untuk mengakses data. Tujuan utama sistem manajemen basis data adalah menyediakan cara menyimpan dan mengambil informasi basis data secara mudah dan efisien. (Silberschatz, dkk; Database System Concepts) Perangkat lunak yang didesain untuk memelihara dan memanfaatkan kumpulan data yang besar. (Ramakrishnan, R., Database Management Systems) Perangkat lunak yang didesain untuk memudahkan pekerjaan pengelolaan data. Menyediakan suatu lingkungan yang nyamandan ‘efisienuntuk digunakan. Definisi Data & Basis Data, Informasi Data adalah fakta tentang sesuatu di dunia nyata yang dapat direkam dan disimpan pada media komputer. (Fred McFadden, dkk., Database Management) Contoh : Dalam basis data Mahasiswa, yang dinamakan datanya adalah NIM, Nama, Tanggal_Lahir, Alamat, Nomor_Telpon. Basis Data adalah kumpulan terorganisasi dari data-data yang berhubungan sedemikian rupa sehingga mudah disimpan, dimanupulasi, serta dipanggil kembali oleh pengguna. Informasi adalah data yang telah diolah sedemikian rupa sehingga memiliki makna tertentu bagi pengguna.

Upload: dian-pamungkas

Post on 02-Aug-2015

87 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 1

SSiisstteemm MMaannaajjeemmeenn BBaassiiss DDaattaa ((DDBBMMSS)) Kumpulan data berisi informasi yang sesuai untuk sebuah perusahaan. Sistem manajemen basis data (DBMS) adalah kumpulan data yang saling berhubungan dan kumpulan program untuk mengakses data. Tujuan utama sistem manajemen basis data adalah menyediakan cara menyimpan dan mengambil informasi basis data secara mudah dan efisien. (Silberschatz, dkk; Database System Concepts)

Perangkat lunak yang didesain untuk memelihara dan memanfaatkan kumpulan data yang besar. (Ramakrishnan, R., Database Management Systems)

Perangkat lunak yang didesain untuk memudahkan pekerjaan pengelolaan data.

Menyediakan suatu lingkungan yang ‘nyaman’ dan ‘efisien’ untuk digunakan.

DDeeffiinniissii DDaattaa && BBaassiiss DDaattaa,, IInnffoorrmmaassii Data adalah fakta tentang sesuatu di dunia nyata yang dapat direkam dan disimpan pada media komputer. (Fred McFadden, dkk., Database Management) Contoh : Dalam basis data Mahasiswa, yang dinamakan datanya adalah NIM, Nama, Tanggal_Lahir, Alamat, Nomor_Telpon.

Basis Data adalah kumpulan terorganisasi dari data-data yang berhubungan sedemikian rupa sehingga mudah disimpan, dimanupulasi, serta dipanggil kembali oleh pengguna.

Informasi adalah data yang telah diolah sedemikian rupa sehingga memiliki makna tertentu bagi pengguna.

Page 2: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 2

Contoh : jika kita mendapatkan deret angga ‘5305123’ tanpa keterangan apapun, kita tidak bisa menarik makna apapun dari deret angga tersebut.

Lain halnya jika kita hubungkan deret angka tersebut dengan ‘data’ lainnya yaitu : ‘NIM yang dimiliki oleh Donni Susanto sewaktu kuliah di LPKIA’ barulah deret angka tersebut bermakna bagi pengguna; dalam hal yang terakhir ini deret angga ‘5305123’’ menjadi sebuah informasi; sebuah data yang memiliki makna tertentu.

Dalam banya kasus, suatu informasi mungkin menjadi sebuah data bagi pengolahan data yang lainnya.

MMEETTAA DDAATTAA Data hanya akan berguna jika ia dihubungkan dengan konteks tertentu. Mekanisme untuk menyediakan konteks tersebut adalah meta data.

Secara definitif, meta data adalah ‘data yang menjelaskan data yang lainnya’. Penjelasan ini dapat berupa definisi data, struktur data, aturan, serta batasan.

Sebagai Ilustrasi

jika kita kaji deret angga ‘5305063’ diatas, meta datanya mungkin berupa NIM mahasiswa yang berkarakteristik : 7 karakter numerik, tidak diperkenankan ada huruf dan tanda baca, tidak diperkenankan ada angga negatif, deskripsi bahwa data yang bersangkutan adalah NIM seorang mahasiswa di LPKIA, dan sebagainya.

Dalam konteks basis data, meta data mengijinkan perancang basis data dan pengguna memahami segala sesuatu tentang data (jenisnya, maknanya, serta karakteristiknya).

Kesimpulan : Meta data sangat penting agar data yang bersangkutan tidak disalah-artika, tidak memiliki makna yang mendua-arti (ambigu), serta tidak membingungkan.

Page 3: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 3

SSiisstteemm PPeennggeelloollaahhaann DDaattaa DDeennggaann PPeemmrroosseessaann DDaattaabbaassee

Pengunaan DMBS untuk mengelola data mempunyai beberapa keuntungan, yaitu :

KKeeuunnttuunnggaann PPeenngguunnaaaann DDBBMMSS Pengunaan DMBS untuk mengelola data mempunyai beberapa keuntungan, yaitu :

Kebebasan data dan akses yang efisien

Mereduksi waktu Pengembangan Aplikasi Integritas dan Keamanan Data

Administrasi Keseragaman Data

Akses bersamaan dan perbaikan dari terjadinya crashes (tabrakan dari proses serentak).

KKeerruuggiiaann PPeenngguunnaaaann DDBBMMSS Keputusan menggunakan DBMS mengikat perusahaan atau pengguna untuk :

Perangkat lunak yang mahal, Membutuhkan konfigurasi perangkat keras yang besar,

Membutuhkan seorang DBA.

Page 4: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 4

LLEEVVEELL AABBSSTTRRAAKKSSII Tingkatan abstraksi berguna untuk menyederhanakan interaksi pengguna dengan sistem, dalam hal ini dibagi menjadi 3 yaitu :

Tingkatan Fisik / Physical Level Merupakan tingkatan abstarksi paling rendah,

Menggambarkan / mendeskripsikan bagaimana data sebenarnya (media fisikal) disimpan,

Mendeskripsikan detil struktur data.

Tingkatan Logis / Logical Level Mendeskripsikan data yang disimpan

dalam basisdata (representasi abstark) dan relasi antar data tersebut,

Digunakan oleh DBA.

Tingkatan View / View Level Merupakan tingkatan abstarksi paling tinggi, Program aplikasi yang digunakan untuk mengolah data,

Digunakan oleh user.

View Level

Logical Level

Physical Level

View-... View-n View-1

Page 5: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 5

DDaattaabbaassee SSyysstteemm EEnnvviirroonnmmeenntt UUsseerrss // PPrrooggrraammmmeerrss

IINNSSTTAANNSSII DDAANN SSKKEEMMAA //IInnssttaannccee aanndd SScchheemmaa Kumpulan informasi yang simpan dalam basisdata pada

suatu waktu disebut Instansi / Instance suatu basisdata.

Instance, isi aktual dalam basisdata pada suatu data tertentu (contoh : dalam program isi variabel)

Skema / Schema basisdata merupakan rancangan basisdata secara keseluruhan.

Schema, struktur logik dari basisdata (contoh : dalam program tipe data atau variabel)

DBMS SYSTEM

DBMS SOFTWARE

Store Database Definition

(Meta-Data)

Store Database

Software to Access Stored Data

Application Program / Queries

Software to Process Queries / Programs

Page 6: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 6

DDBBMMSS LLAANNGGUUAAGGEE && IINNTTEERRFFAACCEE DBMS harus menyediakan language dan interface untuk setiap kategori pemakai. Dikenal ada beberapa language:

VDL (View Definition Language)

DDL (Data Definition Language)

SDL (Storage Definition Language)

DML (Data Manipulation Language)

DDaattaa DDeeffiinniittiioonn LLaanngguuaaggee Skema basisdata ditentukan sekumpulan difinisi oleh suatu bahasa tertentu yang disebut dengan Data-definition Language (DDL). Sebagai contoh, pernyataan berikut dalam bahasa SQL untuk mendefinisikan tabel mahasiswa :

Eksekusi pernyataan DDL diatas akan membuat tabel mahasiswa. Pernyataan ini menambahkan kumpulan tabel yang disebut kamus data atau direktori data. Kamus data adalah istilah basisdata yang mnegacu pada definisi data yang disimpan dalam basisdata dan dikendalikan oleh sistem manajemn basisdata.

Create table mahasiswa (NIM char(7), Nama char(30), Kelas char(6))

Page 7: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 7

DDaattaa--MMaanniippuullaattiioonn LLaanngguuaaggee Manipulasi data adalah :

Mengambil informasi yang disimpan dalam basisdata,

Menambahkan informasi baru ke dalam basisdata,

Menghapus informasi dari basisdata,

Modifikasi informasi yang disimpan dalam basisdata.

Bahasa manipulasi data (DML) adalah bahasa yang memungkinkan pengguna mengakses atau memanipulasi data seperti yang telah diatur oleh model data.

Ada dua tipe DML, yaitu : Procedural DML, mengharuskan pengguna untuk menentukan

data yang dibutuhkan dan bagaimana mendapatkannya. Nonprocedural DML / Declarative DML, mengharuskan

pengguna menentukan data yang dibutuhkan tanpa menentukan bagaimana mendapatkannya.

Nonprocedural DML / Declarative DML lebih mudah untuk digunakan daripada Procedural DML.

Dikarenakan pengguna tidak harus menentukan cara mendapatkan data dalam basisdata, maka sistem basisdata harus mencari alat yang efektif untuk mengakses data. Komponen DML dari bahasa SQL merupakan nonprocedural. Query adalah pernyataan yang digunakan pengguna untuk mengambil data. Dibawah ini contoh bahasa SQL untuk mendapatkan data mahasiswa yang memiliki NIM sama dengan 5303333.

Select mahasiswa.nama form mahasiswa where mahasiswa.nim=”5303333”

Page 8: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 8

DDaattaabbaassee UUsseerrss aanndd AAddmmiinniittrraattoorr Pengguna basisdata dapat berupa orang atau aplikasi, dari tipe pengguna basisdata dapat dibedakan dari cara mereka mengharapkan interaksi dengan sistem.

Pengguna Naif / Naive users, pengguna unsophisticated yang berinteraksi dengan sistem menggunakan suatu program aplikasi (biasanya antamuka dalam bentuk formulir) yang dibuat Programmer aplikasi.

Programmer aplikasi / Application Programmers, profesional komputer yang membuat program aplikasi yang memanipulasi data dengan DML. Rapid Application Development (RAP) merupakan tool yang memungkinkan programmer aplikasi membuat formulir dan laporan tanpa menulis program.

Sophisticated Users, yang berinteraksi dengan sistem tanpa menulis program, biasa menggunakan bahasa SQL.

Specialized Users, pengguna Sophisticated yang menulis aplikasi basisdata yang tidak cocok untuk kerangka kerja pemrosesan data tradisional, biasa berupa Computer Aided Design System (CADS) sistem yang berdasarkan ilmu pengetahuan dan keahlian, sistem yang menyimpan data dengan tipe data kompleks. Misalnya : data garfik dan data audio.

Page 9: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 9

DDaattaabbaassee AAddmmiinniissttrraattoorr Orang yang memiliki kontrol penuh baik untuk data maupun program yang mengakses data disebut administrator basisdata (DBA).

Fungsi DBA meliput : Menentuka schema, membuat

schema basisdata dengan mengeksekusi kumpulan pernyataan definisi data dalam DDL.

Menentukan struktur penyimpanan dan metode akses.

Memodifikasi schema dan organisasi fisik, dengan tujuan untuk meningkatkan kinerja.

Memberikan otorisasi untuk akses data.

Perawatan rutin sistem basisdata (mem-backup basisdata, monitoring kinerja HW/SW, dll.)

Reff: Abraham Silberschatz & Henry F. Korth, Database System Concepts,

Fourth Edition.

Page 10: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 10

MMeerreekkaa mmeennggaattaakkaann TTeennttaanngg BBaassiissddaattaa Mekanisme yang digunakan untuk menyimpan informasi

atau data. (Stephens, R.K. dan Plew, R.R., Database Design)

Kumpulan data berisi informasi yang sesuai untuk sebuah perusahaan. (Silberschatz et al., Database System Concept)

Kumpulan data, umumnya mendeskripsikan aktivitas satu organisasi atau lebih yang berhubungan. (Ramakrishnan, R., Database Management Systems)

Sebutkan contoh-contoh basisdata dalam kehidupan kita sehari-hari, ingat basisdata dapat dikelompokan

berdasarkan perubahan datanya (Statis dan Dinamis).

MMooddeell BBaassiissddaattaa Model Basisdata File (Flat file database model) Model Basisdata Hierarki (Hierarchical database model) Model Basisdata Jaringan (Network database model) Model Basisdata Relasional (Relational database model) Model Basisdata Berorientasi Objek (Object oriented database model) Model Basisdata Relasi Objek (Object relational database model)

!!

Page 11: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 11

Model Basisdata File /Flat file database model Basisdata file tersusun atas satu atau lebih file dan disimpan dalam format teks. Informasi dalam file teks disimpan sebagai field.

Field-field bisa memiliki panjang yang tetap (fixed width) atau berubah-ubah yang dipisahkan oleh karakter pemisah (delimited).

Kelemahan basisdata file, diantaranya :

Tidak mempunyai struktur,

Pengaksesan data,

Perawatan data,

Kesulitan untuk mengatur hubungan data,

Pengulangan data,

Program yang dibuat harus dapat mengatur data.

3304102 Maharani P 3304201 Gunawan Rahmat L 3304098 Ronaldo Soleh L 3304245 Ai P 3304176 Mamat L 3304231 Fitria p

3304102;Maharani;P 3304201;Gunawan Rahmat;L 3304098;Ronaldo Soleh;L 3304245;Ai;P 3304176;Mamat;L 3304231;Fitria;p

delimited

fixed width

Page 12: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 12

Model Basisdata Hierarki Hierarchical database model

Arsitektur basisdata hierarki berdasarkan pada konsep hubungan orangtua dan anak. Pada basisdata hierarki, tabel akar / tabel orangtua berada pada puncak struktur dan menunjuk pada tabel anak yang mengandung data yang berhubungan.

Tabel-tabel yang berhubungan dalam struktur hierarki dihubungkan dengan pointer, yang menunjuk ke lokasi fisik redord anak.

Tabel orangtua dapat memiliki banyak tabel anak, tetapi tabel anak hanya dapat memiliki satu tabel orangtua. Untuk dapat mengakses tabel anak, kita harus mengakses tabel orangtua terlebih dahulu.

Keuntungan basisdata hierarki dibanding basisdata file :

Data dapat diakses secara cepat,

Integritas data lebih mudah diatur.

Kelemahan basisdata hierarki, diantaranya :

Pengguna harus memahami struktur basisdatanya,

Pengulangan data.

Penerbit

pengarang Toko buku

Daftar buku Judul buku pesanan

!!

Page 13: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 13

Model Basisdata Jaringan Network database model

Basisdata jaringan merupakan hasil pengembangan dari basisdata hierarki. Keuntungan utama basisdata jaringan adalah kemampuan tabel orangtua untuk berbagi hubungan dengan tabel anak. Ini berarti bahwa tabel anak dapat memiliki beberapa tabel orangtua.

Dengan demikian dapat disimpulkan : Data dapat diakses dari sembarang tabel dalam struktur, baik ke bawah maupun ke atas. Tidak diharuskan mengakses tabel orangtua terlebih dahulu untuk mengakses tabel anak.

Hungungan antar tabel pada basisdata jaringan disebut set structure. Set stucture dapat mewakili hubungan one-to-many antara tabel-tabel. Program yang dibuat dalam model basisdata jaringan menggunakan set structure untuk mengakses data, jadi bila set stucture diubah maka program harus diubah pula.

Keuntungan basisdata jaringan adalah :

Data dapat diakses secara cepat, Pengguna dapat mengakses data dari sembarang tabel.

Kelemahan basisdata jaringan, diantaranya :

Struktur tidak mudah untuk diubah, Perubahan stuktur basisdata memengaruhi program aplikasi yang dibuat untuk mengakses basisdata.

Penerbit

pengarang Toko buku

Daftar buku Judul buku pesanan

!!

Page 14: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 14

Model Basisdata Relasional Relational database model

Basisdata relasional merupakan tipe basisdata yang paling populer saat ini. Tabel atau kelompok data yang saling berhubungan merupakan tempat penyimpanan data.

Sebuah tabel terdiri dari baris (record) dan kolom (field), tabel dapat dihubungkan satu sama lain melalui nilai kolom yang disebut kunci (key). Ada tiga tipe hubungan diantaranya One-to-one, One-to-many, dan Many-to-many. Hubungan antar tabel ditentukan oleh integritas referensial (referential integrity). Integritas referensial adalah penggunaan batasan untuk membuat valid data yang disimpan ke dalam tabel dan mengatur hubungan antara tabel orangtua dan anak.

Keuntungan basisdata relasional adalah :

Data dapat diakses secara cepat, Struktur basisdata mudah untuk diubah, Data sering lebih akurat, Program aplikasi mudah dibuat dan dimodifikasi, Bahasa standar (SQL) sudah dibuat.

Kelemahan basisdata relasional, diantaranya :

Pengguna harus memahami hubungan tabel, Kelompok informasi atau tabel yang berbeda harus dihubungkan untuk mengambil data.

!!Penerbit

Pengarang

Toko Buku

Judul

Pesanan

supply

menulis

menjual

pesanan

kontrak

Page 15: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 15

Model Basisdata Berorientasi Objek Object oriented database model

Basisdata berorientasi objek adalah basisdata di mana data dapat ditentukan, disimpan dan diakses menggunakan pendekatan pemrograman berorientasi objek.

Ada dua struktur dasar dalam basisdata berorientasi objek, yaitu objek dan literal. Objek adalah struktur yang memiliki pengenal, di mana melalui pengenal inilah sebuah objek dapat dihubungkan dengan objek lain.

Literal adalah nilai yang berhubungan dengan objek dan tidak memiliki pengenal.

Keuntungan basisdata berorientasi objek adalah :

Programer hanya perlu mengerti konsep berorientasi objek,

Objek dapat mewariskan properti ke objek lain, Banyak proses dalam program aplikasi terjadi secara otomatis,

Secara teori, pengguna lebih mudah menangani objek. Kelemahan basisdata berorientasi objek, diantaranya :

Pengguna harus memahami konsep basisdata berorientasi objek, Model belum standar, Stabilitas model basisdata berorientasi objek belum terjamin karena model masih baru.

Page 16: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 16

Model Basisdata Relasional Objek Object relational database model

Model basisdata relasional objek dibuat dengan tujuan menggabungkan kosep model basisdata relasional dengan pemrograman berorientasi objek.

Model basisdata relasional objek dianggap yang terbaik (relasional dan berorientasi objek) meskipun model ini masih dalam tahap awal perkembangan.

Gambar diatas merupakan contoh penerapan relasional objek dalam RDBMS (relational database management system) pada Oracle 8.

Ada dua tipe yang ditetntukan oleh pengguna (user defined) yaitu : Orang dan Alamat.

Keuntungan basisdata relasional objek adalah :

Basisdata relasional memiliki banyak arsitektur 3D, Tipe yang ditentukan oleh oleh pengguna dapat dbiuat.

Kelemahan basisdata relasional objek, diantaranya :

Pengguna harus mengerti, baik konsep relasional maupun berorientasi objek.

MAHASISWA INFO_MHS ORANG INFO_ALAMAT ALAMAT IDENTITAS NIM

ORANG

NAMA_DEPAN VARCHAR NAMA_BELAKANG VARCHAR

ALAMAT

NAMA_JALAN VARCHAR KOTA VARCHAR KODE_POS VARCHAR

Page 17: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 17

EEnnttiittyy--RReellaattiioonnsshhiipp MMooddeell ((EERRDD))

Entity-relationship (E-R) data model didasarkan pada persepsi terhadap dunia nyata yang tersusun atas kumpulan objek-objek dasar yang disebut entitas dan relasi.

Entitas digambarkan dalam basisdata dengan kumpulan atribut. Kumpulan semua entitas bertipe sama disebut kumpulan entitas / entity set. Contoh : atribut nim, nama, alamat dan kota dapat

menggambarkan data mahasiswa. Atribut-atribut membentuk entitas mahasiswa.

Relasi adalah hubungan antara beberapa entitas. Kumpulan relasi bertipe sama disebut kumpulan relasi / relationship set. Contoh : relasi menghubungkan mahasiswa dengan mata-

kuliah yang diambinya.

NNoottaassii EEnnttiittyy--RReellaattiioonnsshhiipp

Notasi Description

Entity Set

Relationship Set

Penghubung atribut dengan entitas dan relasi dengan entitas

Relasi

Entitas

Page 18: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 18

UmurTgl_LahirNama

NIM

Kode PosKota Jalan

Alamat

Mahasiswa Belajar Matakuliah

KODE

NmKul SKS

1 M M 1

Hobby

Attribute

Key Attribute

Derived Attribute

Multi-value Attribute

Composite Attribute

Contoh :

Attribute Attribute

Attribute

Attribute

Attribute

Attribute

Attribute

Page 19: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 19

A

a1

a2

a3

B

b1

b2

b3

KKaarrddiinnaalliittaass // CCaarrddiinnaalliittiieess

Pemetaan Kardinalitas ( Mapping Cardinalities ) menyatakan jumlah entitas dimana entitas lain dapat dihubungkan ke entitas tersebut melalui sebuah himpunan relasi (relationship set). Pemetaan kardinalitas sangat berguna dalam menentukan himpunan relasi biner meskipun pemetaan dapat berperan dalam deskripsi himpunan relasi yang melibatkan lebih dari dua himpunan entitas.

Untuk suatu himpunan relasi biner R antara entity A dan B, pemetaan kardinalitas harus salah satu dari berikut ini :

One to one, sebuah entitas pada A berhubungan dengan paling banyak satu entitas pada B dan sebuah entitas pada B berhubungan paling banyak satu entitas pada A.

One to many, sebuah entitas pada A berhubungan dengan nol atau lebih entitas pada B dan sebuah entitas pada B berhubungan paling banyak satu entitas pada A.

A

a3

a1

a2

B

b1

b2

b3

b4

b5

Page 20: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 20

Many to one, sebuah entitas pada A berhubungan paling banyak satu entitas pada B dan sebuah entitas pada B berhubungan nol atau lebih entitas pada A.

Many to many, sebuah entitas pada A berhubungan nol atau lebih entitas pada B dan sebuah entitas pada B berhubungan nol atau lebih entitas pada A.

Cardinality menyatakan jumlah kemunculan suatu entity di suatu entity lain yang terkait dengannya dalam

satu kali proses pemunculan.

Reff: Abraham Silberschatz & Henry F. Korth, Database System Concepts,

Fourth Edition.

A

a1

a2

a3

B

b1

b2

b3

a1

A

a1

a2

a3

B

b1

b2

b3

!!

Page 21: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 21

BBaattaassaann PPaarrttiissiippaassii //PPaarrttiicciippaattiioonn CCoonnssttrraaiinnttss

Partisipasi sebuah himpunan entitas E pada himpunan relasi R dikatakan total jika setiap entitas pada E berpartisikasi pada setidaknya satu relasi pada R.

Jika hanya beberapa entitas pada E berpartisikasi pada relasi di R, partisipasi himpunan entitas E pada relasi R disebut parsial / partial.

Ilustrasi : Kita mengharapkan setiap entitas pinjaman direlasikan ke setidaknya satu nasabah melalui relasi pinjaman. Partisipasi pinjaman pada himpunan relasi peminjam adalah Total. Sebaliknya, seorang dapat menjadi nasabah sebuah bank, baik dia mempunyai pinjaman pada bank maupun tidak. Oleh karena itu, hanya beberapa entitas nasabah mungkin dihubungkan ke himpunan entitas pinjaman melalui relasi peminjam dan partisipasi nasabah pada himpunan relasi peminjam disebut parsial.

Pinjaman

p1

p2

p3

Nasabah

n1

n2

n3

n4

Relasi Pinjaman

Page 22: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 22

MMeemmbbaanngguunn EERRDD //EEnnttiittyy--RReellaattiioonnsshhiipp DDiiaaggrraamm DDeessiiggnn

Entity Relationship Diagram merupakan suatu alat utama pemodelan data dan membantu menggambarkan data ke dalam entitas dan hubungan antar entitas.

Proses ini telah terbukti memungkinkan seorang analis untuk menghasilkan suatu struktur database yang baik, sehingga data dapat disimpan dan dimunculkan kembali secara efisien.

MMeettooddoollooggii EERRDD

1. Menentukan Entitas

Menentukan peran, kejadian/kegiatan, lokasi, hal nyata dan kosenp dimana pengguna akan menyimpan data.

2. Menentukan Relasi Tentukan hubungan antara sepasang entity menggunakan matrks relationship.

3. Gambar ERD sementara

Gambarkan entity-entity dan relationship diantara entity untuk menghubungkannya.

4. Tentukan Kardinalitas

Tentukan kardinalitas (pemunculan suatu entity di entity lainnya yang berhubungan).

5. Tentukan kunci utama (Primary-keys)

Identifikasi atribut data yang secara ‘unik’ mengidentifikasi setiap entity.

6. Gambar ERD berdasarkan kunci Sertakan primary di setiap entity.

7. Menentuka Atribut Kumpulkan informasi detil yang penting dalam sistem yang sedang dikembangkan.

8. Pemetaan Atribut Untuk setiap atribut, letakkan dalam satu entity yang tepat. Cari juga atribut yang ada dalam relationship.

9. Gambar ERD dengan Atribut

Sesuaikan ERD hasil langkah 6 dengan entity atau relationship hasil langkah 8.

10. Periksa Hasil Apakah Entity Relationship Diagram akhir telah secara tepat mencerminkan data sistem?

Page 23: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 23

CCoonnttoohh KKaassuuss :: Sebuah perusahaan mempunyai beberapa bagian. Masing-masing bagian mempunyai pengawas dan setidaknya satu pegawai.

Pegawai harus ditugaskan pada paling tidak satu bagian, tetapi dapat pula beberapa bagian.

Paling tidak satu pegawai mendapat tugas sebuah proyek. Namun, seorang pegawai dapat libur dan tidak mendapat tugas proyek.

Field data yang penting adalah Nama Bagian, Proyek, Pengawas, Nomor Pengawas, Nomor Pegawai dan Nomor Proyek.

1. Menentukan Entitas

Entitas pada sistem adalah Bagian, Pegawai, Pengawas dan Proyek. Entitas perusahaan tidak termasuk dalam sistem karena dia hanya memiliki satu instansi. Entitas yang benar harus mempunyai lebih dari satu instansi.

2. Menentukan Relasi

Kita membuat matriks relasi entitas, sebagai berikut :

Bagian Pegawai Pengawas Proyek

Bagian - Milik Dipimpin oleh x

Pegawai Bekerja di - x Bekerja pada

Pengawas memimpin x - x

Proyek x menggunakan x -

3. Gambar ERD sementara

Page 24: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 24

Kita menghubungkan entitas yang mempunyai relasi seperti yang ditunjukan pada matriks relasi entitas.

4. Tentukan Kardinalitas

Dari deskripsi permasalahan kita, kita mengetahui bahawa : Setiap bagian dipimpin oleh satu pengawas. Seorang pengawas hanya memimpin satu bagian. Setiap bagian memiliki paling sedikit satu Pegawai. Setiap Pegawai bekerja di paling sedikit satu bagian. Setiap proyek menggunakan paling sedikit satu Pegawai. Seorang Pegawai dapat bekerja dalam banyak proyek atau bahkan

tidak sama sekali. 5. Tentukan kunci utama (Primary-keys)

Bagian Dipimpin oleh

Pengawas

Pegawai Bekerja pada

Proyek

Bekerja di

Bagian Dipimpin oleh

Pengawas

Pegawai Bekerja pada

Proyek

Bekerja di

Page 25: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 25

Kunci utama adalah Nama Bagian, Nomor Pengawas, Nomor Pegawai dan Nomor Proyek.

6. Gambar ERD berdasarkan kunci

7. Menentuka Atribut

Atribut yang diperlukan adalah Nama Bagian, Nama Proyek, Nama Pengawas, Nama Pegawai selain primary-keys.

8. Pemetaan Atribut

Atribut Entitas Atribut Entitas Nama Bagian Bagian NmBag Bagian

Nama Proyek Proyek NoPryk Proyek

Nama Pengawas Pengawas NoPgw Pengawas

Nama Pegawai Pegawai NoPeg Pegawai

NoPgw NmBag

NoPryk NoPeg

Bagian Dipimpin oleh

Pengawas

Pegawai Bekerja pada

Proyek

Bekerja di

Page 26: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 26

Atribut Relasi Masa Jabatan Dipimpin oleh

Masa Kerja Bekerja di

Masa Kerja Proyek Bekerja pada

9. Gambar ERD dengan Atribut

Jika ada suatu relasi (hubungan antara 2 entitas) yang tidak digambarkan atributnya, hal ini berarti relasi tersebut hanya

memiliki atribut minimal, yaitu atribut yang berasal dari key atribut 2 entitas yang dihubungkannya.

10. Periksa Hasil

Lakukan pemeriksaan terhadap ER-D, bila tidak ada koreksi maka ER-D dapat memodelkan data dalam sistem dengan baik.

NoPgwNmBag

NoPryk

NoPeg

Bagian Dipimpin oleh

Pengawas

Pegawai Bekerja pada

Proyek

Bekerja di

MasaKerjaPryk

MasaKerja

MasaJab

NamaPengawas

NamaProyek

NamaPegawai

NamaBagian

!!

Page 27: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 27

EEnnttiittyy--RReellaattiioonnsshhiipp MMooddeell ((LLaannjjuuttaann))

Single-Valued Attribute // AAttrriibbuutt BBeerrnniillaaii TTuunnggggaall Atribut bernilai tunggal ditujukan pada atribut-atribut yang memiliki paling banyak satu nilai untuk setiap baris data.

Contoh : Pada tabel mahasiswa nim, nama_mhs dan alamat_mhs merupa atribut bernilai tunggal, karena atribut-atribut tersebut hanya dapat berisikan satu nilai.

Multi-Valued Attribute // AAttrriibbuutt BBeerrnniillaaii BBaannyyaakk atribut bernilai banyak ditunjukan pada atribut-atribut yang dapat kita isi dengan lebih dari satu nilai, tetapi jenisnya sama.

Contoh : Atribut hobby pada tabel mahasiswa, termasuk atribut bernilai banyak.

TABEL : MAHASISWA NIM NAMA_MHS ALAMAT_MHS HOBBY

5303123 Ali Burhan Jl. Merdeka 12, Bandung 42123 Sepak Bola Berenag

5303214 Budi Sonjaya Jl. Riau 234, Bandung 42256 -

5303312 Doni Susanto Jl. Haji Surip 17, Padalarang 60111 Membaca Sepak Bola

5303054 Wati Haryati Jl. Raya Garut 345 10 KM, Garut Musik

5303089 Sumiati Jl. Nun Jauh 999, Soreang 61453 Filateli Menggambar

Atribut bernilai banyak

MAHASISWA

NIM

Nama_mhsAlamat_mhs

TelpHobby

Page 28: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 28

Derived Attribute / AAttrriibbuutt TTuurruunnaann Atribut turunan adalah atribut yang nilainya diperoleh dari pengolahan atau dapat diturunkan dari atribut atau tabel lain yang berhubungan.

TABEL : MAHASISWA

NIM NAMA_MHS ALAMAT_MHS HOBBY Angkatan

… … … …

5303089 Sumiati Makan Bakso 2003

Kesimpulan : angkatan sebetulnya dapat diambil dari NIM karekter yang ke 3 dan 4.

MAHASISWA

NIM

Nama_mhs Alamat_mhs

TelpHobby

Angkatan

Simple Attribute // AAttrriibbuutt SSeeddeerrhhaannaa ddaann Composite Attribute // AAttrriibbuutt KKoommppoossiitt Atribut sederhana adalah atribut atomik yang tidak dapat dipilah lagi, sedangkan atribut komposit merupakan atribut yang masih dapat diuraikan lagi menjadi sub-sub atribut yang masing-masing memiliki makna.

Atribut bernilai banyak

MAHASISWA

NIM

Nama_mhs Alamat_mhs

TelpHobby

Angkatan

Kode_PosKotaAlamat

Page 29: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 29

NIM NAMA_MHS ALAMAT_MHS HOBBY

5303123 Ali Burhan Jl. Merdeka 12, Bandung 42123 …

… Budi Sonjaya Jl. Riau 234, Bandung 42256 …

… … … …

ALAMAT KOTA KODE_POS

Jl. Merdeka 12 Bandung 42123

Jl. Riau 234 Bandung 42256

… … …

Kesimpulan : penggunaan atribut komposit, didasarkan pada pengolahan data pada tabel.

Page 30: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 30

KKoonnvveerrssii MMooddeell EE--RR KKee SSkkeemmaa RReellaassii

A. Secara Umum

Entity sama dengan Relasi /Table Atribut sama dengan Item Data /Field

Contoh :

MAHASISWA

NRP

Nama

Alamat

B. BINARY RELATIONSHIP (1:1 mandatory di kedua entity) Menjadi 2 relasi yang dihasilkan dari 2 entity, dimana key atribut entity pertama harus diletakkan sebagai atribut (foreign key) dari entity kedua, atau sebaliknya.

MAHASISWA

NRP

Nama

Alamat

memiliki KTMElektronik

NoKTM TglValid

1,1 1,1

Peletakan key atribut salah satu entity boleh dibalik, karena tidak akan menghasilkan nilai NULL. Sebagai contoh, MAHASISWA pasti memiliki 1 KTM elektronik, dan 1 KTM elektronik hanya dimiliki oleh 1 MAHASISWA.

MAHASISWA (NRP,Nama,Alamat)

MAHASISWA (NRP,Nama,Alamat)

KTM Elektronik (NoJTM, TglValid, NRP)

!!

Page 31: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 31

C. BINARY RELATIONSHIP (1:1 mandatory di salah satu entity) Menjadi 2 relasi yang dihasilkan dari 2 entity, dimana key atribut entity yang mandatory (1,1) harus diletakkan sebagai atribut (foreign key) dari entity yang bukan mandatory (0,1)

MAHASISWA

NRP

Nama

Alamat

mendapat IJAZAH

NoIjazah

TglLulus

GelarAkademik

1,1 0,1

Yudisium

Peletakan key atribut salah satu entity tidak boleh salah, karena akan mengakibatkan adanya nilai NULL, yang tidak efisien dalam media penyimpanan. Sebai Contoh, satu IJAZAH pasti dimiliki oleh satu MAHASISWA, dan MAHASISWA pasti hanya memiliki satu IJAZAH atau tidak memiliki IJAZAH jika ia dinyatakan tidak lulus. Karena itulah, maka atribut NRP yang harus ditambahkan pada relasi IJAZAH, bukan sebaliknya.

D. BINARY RELATIONSHIP (1:M atau M:1) Menjadi 2 relasi yang dihasilkan dari 2 entity, dimana key atribut entity yang “one” (1) harus diletakkan sebagai atribut (foreign key) dari entity yang “Many” (M)

MAHASISWA

NRP

Nama

Alamat

melakukan

NoKwitansi TglBayar

1,1 1,mJmlByr

REGISTRASI

MAHASISWA (NRP, Nama, Alamat, Yudisium) IJAZAH (NoIjazah,TglLulus, GelarAkademik, NRP)

!!

MAHASISWA (NRP, Nama, Alamat) REGISTRASI (NoKwitansi,TglBayar, JmlByr, NRP)

Page 32: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 32

E. BINARY RELATIONSHIP (M:N) Menjadi 3 relasi yang dihasilkan dari 2 entity dan 1 relationship, dimana key atribut relasi yang dihasilkan dari relationship berasal dari key atribut 2 entity yang dihubungkannya.

MAHASISWA

NRP

Nama

Alamat

mengikuti MATA KULIAH

KdMK

NmMK

SKS

1,m 1,n

Nilai

F. UNARY RELATIONSHIP (1:1) Menjadi 1 relasi dengan menambahkan peran lain dari entity tersebut sebagai atribut

MAHASISWA

NRP

Nama

Alamat

menjadi

AnggotaPerpus

1,1 1,1

MAHASISWA (NRP, Nama, Alamat) MENGIKUTI (NRP, KdMK, Nilai)

MATAKULIAH(KdMK, NmMk, SKS)

MAHASISWA (NRP, Nama, Alamat, AnggotaPerpus)

Page 33: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 33

G. UNARY RELATIONSHIP (1:M) Sama dengan kardinalitas 1,1. Menjadi 1 relasi dengan menambahkan peran lain dari entity tersebut sebagai atribut

MAHASISWA

NRP

Nama

Alamat

dipimpin oleh

KetuaKelas

1,m 1,1

H. UNARY RELATIONSHIP (M:N) Menjadi 2 relasi yang berasal dari entity dan relationship. Atribut relasi yang berasal dari relationship memiliki 2 key atribut yang berasal dari key atribut entity dan key atribut relationship tersebut.

MAHASISWA

NRP

Nama

Alamat

dibantu oleh

Co-Asisten

1,m 1,n

DaftarMtKulNoCoAss

MAHASISWA (NRP, Nama, Alamat, KetuaKelas)

MAHASISWA (NRP, Nama, Alamat) Co-Asisten (NRP, NoCoAss, DaftarMtKul)

Page 34: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 34

TTiippee FFiillee Database dibentuk berdasarkan kumpulan file. File data dapat digolongan menurut jenisnya adalah sebagai berikut :

11.. FFiillee IInndduukk ((master file))

Didalam aplikasi, file ini merupakan file yang penting. File ini tetap terus ada selama hidup dari sistem informasi. File induk dapat dibedakan lagi menjadi :

a. File induk acuan (reference master file), yaitu file induk yang recordnya relatif statis, jarang berubah nilainya. Contoh : file daftar matakuliah, file daftar golongan, dll.

b. 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 pelanggan, file induk barang, dll.

22.. FFiillee TTrraannssaakkssii ((transaction file))

File transaksi disebut juga dengan nama file input (input file). File ini digunakan untuk merekam data hasil dari suatu transaksi yang terjadi, dan biasanya mempengaruhi nilai record file induk.

Contoh : file transaksi penjualan yang berisi data tentang transaksi penjualan yang terjadi (tanggal, nama barang, jumlah), maka record file induk akan di-updated sesuai dengan transaksi penjualan yang terjadi.

33.. FFiillee llaappoorraann ((report file))

File ini disebut juga dengan file output (output file), yaitu file yang berisi informasi yang akan ditampilkan. File ini dibuat

Page 35: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 35

untuk mempersiapkan pembuatan suatu laporan dan biasanya dilakukan bila printer belum siap atau masih digunakan oleh proses yang lain.

44.. FFiillee sseejjaarraahh ((history file))

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.

55.. FFiillee ppeelliinndduunngg ((backup file))

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.

66.. FFiillee kkeerrjjaa ((working file))

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

Page 36: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 36

AAkksseess FFiillee AAkksseess ffiillee (access file) merupakan suatu metode yang menunjukkan bagaimana suatu program komputer / Aplikasi akan membaca atau menulis record-record pada suatu file. File dapat diakses dengan dua cara yaitu :

MMeettooddee AAkksseess UUrruutt (sequential access method) Dilakukan dengan membaca atau menulis suatu record di file, pembacaan di mulai dari record pertama, urut sampai dengan record yang diinginkan atau terakhir.

MMeettooddee AAkksseess LLaannggssuunngg (direct access method) Dilakukan dengan cara langung membaca record pada posisinya di file tanpa membaca dari record pertama terlebih dahulu.

Page 37: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 37

OOrrggaanniissaassii FFiillee

OOrrggaanniissaassii ffiillee 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, yaitu sebagai berikut : FFiillee uurruutt (sequential file), merupakan file dengan organisasi urut (sequential organization) dengan pengaksesan secara urut (sequential access). FFiillee uurruutt bbeerriinnddeekkss (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). FFiillee aakksseess llaannggssuunngg (direct access file) atau disebut dengan file alamat langsung (direct address file) merupakan file dengan organisasi acak (random organization) dengan pengaksesan langsung (direct access). Organisasi file seperti ini disebut dengan organisasi file tradisional atau konvensional, karena telah ada sebelum struktur database dikembangkan.

Page 38: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 38

SSOOAALL--SSOOAALL LLAATTIIHHAANN

EERR--DD :: KKaassuuss--11 Pada sebuah perguruan tinggi terdapat sistem perkuliahan, yang dapat dijabarkan sebagai berikut :

Seorang dosen dapat mengajar paling tidak satu matakuliah, tetapi dapat pula mengajar beberapa matakuliah pada semester berjalan.

Seorang mahasiswa paling tidak dapat mengambil satu matakuliah pada semester berjalan. Namun, seorang mahasiswa dapat cuti semester dan tidak kuliah. Setiap matakuliah dapat diikuti sedikitnya 30 mahasiswa.

EERR--DD :: KKaassuuss--22 Sebuah penerbit buku mempunyai proses produksi buku, yang dapat dijabarkan sebagai berikut :

Penerbit mempunyai beberapa penulis tetap, Masing-masing penulis setidaknya pernah menulis buku.

Setiap buku yang ditulis oleh penulis, minimal dicetak 1000 buku.

Buku-buku tersebut kemudian akan dikirim kepada customer buku yang terdaftar, tidak semua customer memesan buku tersebut.

EERR--DD :: KKaassuuss--33 Pada sebuah organisasi kemahasiswaan terdapat sistem keanggotaan, dapat dijabarkan sebagai berikut :

Mahasiswa dapat menjadi anggota organisasi kemahasiswaan tersebut. Namun, tidak semua mahasiswa menjadi anggota organisasi kemahasiswaan.

Setiap anggota organisasi kemahasiswaan ditugaskan pada satu departemen dalam organisasi dan dapat diperbantukan

Page 39: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 39

pada departemen lain. Pada setiap departemen dapat berangotakan lebih dari satu mahasiswa.

Bila ada kegiatan kemahasiswaan yang akan diselenggarakan, maka disusun suatu kepanitiaan. Anggota kepanitiaan terdiri lebih dari satu anggota organisasi.

EERR--DD :: KKaassuuss--44 Pada sebuah toko swalayan terdapat sistem penjualan, yang dapat dijabarkan sebagai berikut :

Seorang pembeli dapat membeli paling tidak satu barang, tetapi dapat pula pembeli tidak membeli barang apapun hanya melihat-lihat saja.

Seorang kasir dapat melayani pembayaran setidaknya satu pembeli dalam sehari. Namun, seorang kasir dalam seminggu mendapatkan jatah libur satu hari.

EERR--DD :: KKaassuuss--55 Pada sebuah Koperasi terdapat sistem simpan pinjam, yang dapat dijabarkan sebagai berikut :

Seorang anggota koperasi dapat meminjam sejumlah uang pada unit simpan pinjam koperasi dengan jumlah maksimum 5 juta, tetapi tidak semua anggota melakukan pinjaman uang pada koperasi.

Setiap anggota diwajibkan melakukan simpanan wajib pada unit simpan pinjam koperasi setiap bulannya.

EERR--DD :: KKaassuuss--66 Pada sebuah Rental VCD terdapat sistem pendaftaran anggota baru dan peminjaman, yang dapat dijabarkan sebagai berikut :

Seorang calon anggota dapat mendaftar menjadi anggota rental VCD dengan memiliki satu kartu anggota.

Page 40: Perancangan Basisdata Part 1

Perancangan Database

Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 40

Seorang anggota dapat meminjam VCD paling banyak 3 judul film setiap kali meminjam dan paling lama 3 hari. Namun syarat meminjam VCD, seorang anggota dalam keadaan tidak meminjam, bila meminjam hanya boleh selisih dari pimjaman maksimal atau keanggotaannya tidak kadaluarsa.

Bila anggota mengembalikan VCD melebihi waktu yang telah ditentuka, maka anggota dapat dikenakan denda.

EERR--DD :: KKaassuuss--77 Di PKN-LPKIA Bandung terdapat sistem Proyek Akhir, yang dapat dijabarkan sebagai berikut :

Seorang dosen dapat membimbing proyek akhir paling sedikit lima mahasiswa pada semester enam. namun tidak semua dosen dapat membimbing proyek akhir, dan juga seorang mahasiswa dapat tidak menyusun proyek akhir.

Setiap dosen pembimbing pasti menjadi dosen penguji, untuk menyidang mahasiswa.

Mahasiswa dalam mempertanggung jawabkan proyek akhir akan disidang oleh dua orang dosen penguji. Dan seorang dosen penguji dapat menyidang lebih dari satu mahasiswa.