Perancangan Database
SSiisstteemm MMaanajnajeemmenen BBaassiiss DaDattaa (D(DBMBMS)S)
‰ Kumpulan data berisi informasi yang sesuai untuk sebuah perusahaan. Sistemmanajemen basis data (DBMS) adalah
kumpulan data yang saling berhubungan dan kumpulan program untuk mengaksesdata. Tujuan utama sistem manajemen
basis data adalah menyediakan cara menyimpan dan mengambil informasi basis data secara mudah dan efisien. (Silberschatz, dkk; Database
SystemConcepts)
‰ 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.
DefDefiinniisisi DDaattaa && BBaassiiss DDaatta,a, IInfnfoorrmmaassii
‰ 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,
Perancangan DatabaseTanggal_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 telahdiolah sedemikian rupa sehingga
memiliki makna tertentu bagi pengguna.
Perancangan Database
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 tersebutbermakna 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.
METAMETA DATADATA
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 Ilustrasijika 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
Perancangan Databasedata (jenisnya, maknanya, serta karakteristiknya).
Kesimpulan : Meta data sangat penting agardata yang bersangkutan tidak disalah-
artika, tidak memiliki makna yang mendua-arti (ambigu), serta tidak membingungkan.
Perancangan Database
SSiisstteemm PPeennggeelloollaahhanan DaDattaa DeDennggaann
PePemmrroosessesaann DaDattaabbaassee
Pengunaan DMBS untuk mengelola data mempunyai beberapa keuntungan, yaitu :
KeunKeunttunungagann PenPenggununaaanan DBDBMSMSPengunaan 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).
KeruKeruggiianan PPenenggunaunaaann DDBBMSMS
Keputusan menggunakan DBMS mengikat perusahaan atau pengguna untuk :ƒ Perangkat lunak yang mahal,ƒ Membutuhkan konfigurasi perangkat keras yang besar,ƒ Membutuhkan seorang DBA.
Perancangan Database
LLEVELEVEL AABBSSTTRAKSIRAKSI
Tingkatan abstraksi berguna untukmenyederhanakan interaksi penggunadengan 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-1
View LevelView-... View-n
Perancangan Database
Logical
Level
Physical
Level
DaDatabtabasease SSystemystem EnvEnviiroronnmmentent
UsersUsers // ProgrPrograammersmmers
DBMS SYSTEM
Application Program / Queries
DBMS SOFTWARE
Software to ProcessQueries / Programs
Software to AccessStored Data
Store Database Definition
(Meta-Data)
Store Database
INSTANSIINSTANSI DANDAN SKSKEEMAMA //InstanceInstance andand SchemaSchema
ƒ 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 / Schemabasisdata merupakanrancangan basisdata secara keseluruhan.
ƒ Schema, struktur logik dari basisdata (contoh : dalam program tipe data atau variabel)
DDBBMSMS LLAANNGUAGEGUAGE && IINNTERTERFFACEACE
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)
DaDattaa DefDefiinniittiioonn LLaannguguaaggee
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 :
Create table mahasiswa(NIM char(7), Nama char(30), Kelas char(6))
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.
DaDattaa--MMaanniippuullatatiioonn LLaangnguuaaggee
Manipulasi data adalah :
ƒ Mengambil informasi yangdisimpan dalam basisdata,
ƒ Menambahkan informasi baru kedalam basisdata,
ƒ Menghapus informasi daribasisdata,
ƒ Modifikasi informasi yang disimpandalam basisdata.
Bahasa manipulasi data (DML) adalah bahasayang memungkinkan penggunamengakses 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, mengharuskanpengguna menentukan data yang dibutuhkan
tanpa menentukan bagaimana mendapatkannya.
Nonprocedural DML /Declarative DML
lebih mudah untukdigunakan daripada Procedural DML.
Dikarenakan pengguna tidak harus menentukan
caramendapatkan data dalam basisdata, maka sistem
basisdata harusmencari 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”
DaDatabtabasease UUseserrss aandnd AAdmdmiinniittrratatoorrPengguna 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 / ApplicationProgrammers, profesional komputeryang
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 berinteraksidengan sistem tanpa menulisprogram, biasa menggunakanbahasa
SQL.
ƒ Specialized Users, pengguna Sophisticated yang menulis aplikasi basisdata yang tidak cocok untuk kerangka kerja pemrosesan data tradisional,
biasa berupaComputer 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.
DaDatabtabasease AdmAdmiinniissttrraattoorrOrang 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 penyimpanandan 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.
!!
MerekaMereka mengatmengatakakanan TeTenntangtang BBasasiisdsdaatataƒ 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).
ModelModel BasBasiissddataata 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)
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).
fixed width
3304102 Maharani P3304201 Gunawan Rahmat L3304098 Ronaldo Soleh L3304245 Ai P3304176 Mamat L3304231 Fitria p
3304102;Maharani;P3304201;Gunawan Rahmat;L3304098;Ronaldo Soleh;L3304245;Ai;P3304176;Mamat;L3304231;Fitria;p
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.
!!
Model Basisdata Hierarki
Hierarchicaldatabase model
Arsitektur basisdata hierarki berdasarkan padakonsep hubungan orangtua dan anak. Pada
basisdata hierarki, tabel akar / tabel orangtua berada padapuncak 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.
Penerbit
pengarang Toko buku
Judul buku
Daftar buku
pesanan
Tabel orangtua dapat memilikibanyak tabel anak, tetapi tabelanak hanya dapat memiliki satutabel orangtua.Untuk dapatmengakses 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.
!!
Model Basisdata JaringanNetwork database model
Basisdata jaringan merupakanhasil pengembangandari basisdatahierarki. Keuntungan
utama basisdata jaringan adalah kemampuan tabel orangtua untuk berbagi hubungan dengantabel
anak. Ini berarti bahwa tabelanakdapat 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.
Penerbit
pengarang Toko buku
Judul buku
Daftar buku
pesanan
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,™ Perubahanstuktur basisdata memengaruhi
programaplikasi yang dibuat untuk mengakses basisdata.
!!
Model Basisdata RelasionalRelational 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 kolomyang 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.
Penerbitkontrak
Pengarang
supply
menulis
Toko Buku
menjualJudul
pesananPesana
n
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 harusdihubungkan untuk mengambil
data.
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 sebuahobjek dapat dihubungkan dengan objek lain.
Literal adalah nilai yang berhubungan dengan objek dan tidak memiliki pengenal.
Keuntungan basisdata berorientasi objek adalah :
¾ Programer hanya perlu mengertikonsep berorientasi objek,
¾ Objek dapat mewariskan properti ke objek lain,¾ Banyak proses dalam program
aplikasi terjadi secaraotomatis,
¾ Secara teori, pengguna lebih mudah menangani objek.
Kelemahan basisdata berorientasi objek, diantaranya :
™ Pengguna harus memahami konsepbasisdata berorientasi objek,
™ Model belum standar,™ Stabilitasmodel basisdata berorientasiobjek belum
terjamin karena model masih baru.
Model Basisdata Relasional ObjekObject relational database model
Model basisdata relasional objek dibuatdengan tujuan menggabungkankosep modelbasisdata relasional dengan
pemrograman berorientasi objek.Model basisdatarelasional objek dianggap yang
terbaik (relasional dan berorientasi objek) meskipun model ini masih dalam tahap awal perkembangan.
MAHASISWA
INFO_MHS ORANG INFO_ALAMAT ALAMAT IDENTITAS NIM
ORANGNAMA_DEPAN VARCHAR NAMA_BELAKANG VARCHAR
ALAMATNAMA_JALAN VARCHAR KOTA VARCHAR KODE_POS VARCHAR
Gambardiatas merupakan contoh penerapanrelasional 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 konseprelasional
maupun berorientasi objek.
EnEnttiittyy--ReRellaattiioonnsshhiipp MMododelel (E(ERRD)D)
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.
NoNotatassii EnEnttiittyy--RReellaattiiononsshhiipp
Notasi
Description
Entitas
Entity Set
Relasi
Relationship Set
Penghubung atribut dengan entitas dan relasi dengan entitas
Attribute Attribute
Attribute Key Attribute
Attribute Derived Attribute
Attribute Multi-value Attribute
Attribute
Attribute
Composite Attribute
Contoh :
Nama
Tgl_Lahir
Umur
KODE
NIM Mahasiswa 1 M Belajar
M 1 Matakuliah
Hobby
Alamat NmKul SKS
Jalan Kota
Kode Pos
KarKarddiinanalilittaass // CCaardrdiinnaalliittiiesesPemetaan 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 himpunanrelasi 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 BA berhubungan dengan palingbanyak satu entitas pada B dan a1 b1
sebuah entitas pada B a2 b2berhubungan paling banyak satuentitas pada A. a3 b3
A Bƒ One to many, sebuah entitaspada A berhubungan dengan nol b1atau lebih entitas pada B dansebuah entitas pada B a1 b2berhubungan paling banyak satu a2 b3entitas pada A.
a3 b4
b5
!!
A Bƒ Many to one, sebuah entitas
padaA berhubungan paling banyak satua1 b1entitas pada B dan sebuah entitaspada B berhubungan nol atau lebih a2 b2
entitas pada A. a3 b3
a1
A Bƒ Many to many, sebuah entitas
pada A berhubungan nol ataulebih entitas pada B dan sebuah a1 b1entitas pada B berhubungan nolatau lebih entitas pada A. a2 b2
a3 b3
Cardinality menyatakan jumlah kemunculan suatu
satu kali proses pemunculan.
entity di suatu entity lain yang terkait dengannya dalam
Reff:Abraham Silberschatz & Henry F. Korth, Database System
Concepts, Fourth Edition.
BBaattasasanan PPaarrttiissiippaassii //PPaarrttiiccipipatatiioonn
CCoonnststrraaiinntsts
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
Nasabah
p1 n1
p2 Relasi n2Pinjama
np3 n3
n4
MeMemmbbaannggunun ERDERD //EEnnttiityty--ReRellaattiioonsnshhiipp
DDiiaagrgramam DesDesiiggnn
Entity RelationshipDiagram merupakan suatu alatutama pemodelan data dan membantu
menggambarkan data ke dalam entitas dan hubungan antar entitas.Proses ini telah terbuktimemungkinkan seorang
analis untuk menghasilkan suatu struktur database yang baik, sehingga data dapat disimpan dan dimunculkan kembali secara efisien.
MetMetoododollogogii ERDERD
1.
Menentukan
Menentukan peran, kejadian/kegiatan, lokasi, hal nyata dan kosenp dimana pengguna akan menyimpan data.
2. Menentukan Relasi
Tentukan hubungan antara sepasang entitymenggunakan matrks relationship.3. Gambar ERD
sementaraGambarkan entity-entity dan relationshipdiantara entity untuk 4. Tentukan
KardinalitasTentukan kardinalitas (pemunculan suatuentity di entity lainnya yang 5. Tentukan
kunci utama (Primary- keys)
Identifikasi atribut data yang secara ‘unik’mengidentifikasi setiap entity.
6. Gambar ERDberdasarkan 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 ERDdengan Atribut
Sesuaikan ERD hasil langkah 6 dengan entityatau relationship hasil langkah 8.
10. Periksa HasilApakah Entity Relationship Diagram akhir telah secara tepat mencerminkan data sistem?
CCoontntoohh KaKassusus ::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 benarharus 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 padaPengawa
smemimpin
x - x
Proyek x menggunakan
x -
3. Gambar ERD sementara
Kita menghubungkan entitas yang mempunyai relasi seperti yang ditunjukan pada matriks relasi entitas.
BagianDipimpin oleh
Pengawas
Bekerja di
PegawaiBekerja pada
Proyek
4. Tentukan Kardinalitas
BagianDipimpin oleh
Pengawas
Bekerja di
PegawaiBekerja pada
Proyek
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)
Atribut EntitasNmBag BagianNoPryk ProyekNoPgw PengawasNoPeg Pegawai
Kunci utama adalah Nama Bagian, Nomor Pengawas, NomorPegawai dan Nomor Proyek.
6. Gambar ERD berdasarkan kunci
NmBag NoPgw
BagianDipimpin oleh
Pengawas
Bekerja di
PegawaiBekerja pada
Proyek
NoPeg
NoPryk
7. Menentuka AtributAtribut yang diperlukan adalah Nama Bagian, Nama Proyek,Nama Pengawas, Nama Pegawai selain primary-keys.
8. Pemetaan Atribut
Atribut EntitasNama Bagian BagianNama Proyek ProyekNama Pengawas PengawasNama Pegawai Pegawai
!!
Atribut RelasiMasa Jabatan Dipimpin olehMasa Kerja Bekerja diMasa Kerja Proyek
Bekerja pada
9. Gambar ERD dengan Atribut
NmBag
NamaBagian MasaJa
b
NoP g w
BagianDipimpin oleh
Pengawas
NamaPengawas
Bekerja di
MasaKerja
NoPeg
PegawaiBekerja pada
NamaProyek
Proyek
NamaPegawai
MasaKerjaPryk
NoPr y k
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 atribut2 entitas yang dihubungkannya.
10. Periksa HasilLakukan pemeriksaan terhadap ER-D, bila tidak ada koreksi makaER-D dapat memodelkan data dalam sistem dengan baik.
EnEnttiittyy--ReRellaattiioonnsshhiipp MMododelel ((LaLanjunjutatan)n)Single-Valued Attribute // AAttrriibbutut BBeerrnniillaiai TTunggunggaall
Atribut bernilai tunggal ditujukan pada atribut-atributyang 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 // AAttrriibutbut BBeerrnniillaiai BaBanyaknyakatribut 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.
NIM
Nama_mhsAlamat_mhs
HToeblpby
MAHASISWA
TABEL : MAHASISWA
Atribut bernilai banyak
NIM NAMA_MHS ALAMAT_MHS HOBBY
5303123 Ali Burhan Jl. Merdeka 12, Bandung 42123 Sepak BolaBerenag
5303214 Budi Sonjaya Jl. Riau 234, Bandung 42256 -
5303312 Doni Susanto Jl. Haji Surip 17, Padalarang 60111
MembacaSepak Bola
5303054 Wati Haryati Jl. Raya Garut 345 10 KM, Garut Musik5303089 Sumiati Jl. Nun Jauh 999, Soreang 61453 Filateli
Menggambar
Derived Attribute / AtAtriributbut TuTurrunanunanAtribut turunan adalah atribut yang nilainya diperoleh dari pengolahan atau dapat diturunkan dari atribut atau tabel lain yang berhubungan.
TABEL : MAHASISWA
Atribut bernilai banyak
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.
NIM
Nama_mhs Alamat_mhs
HToeblpby
Angkatan
MAHASISWA
Simple Attribute // AAttrriibutbut SSeeddeerhanarhana dandan CompositeAttribute // AtrAtriibutbut KomposKomposiittAtribut 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.
Alamat Kota Kode_Pos
NIM
Nama_mhs Alamat_mhs
HToeblpby
Angkatan
MAHASISWA
NIM NAMA_MHS ALAMAT_MHS HOBBY5303123 Ali Burhan Jl. Merdeka 12, Bandung 42123 …… Budi Sonjaya Jl. Riau 234, Bandung 42256 …… … … …
ALAMAT KOTAKODE_POS Jl. Merdeka 12Bandung 42123
Jl. Riau 234 Bandung 42256… … …
Kesimpulan : penggunaan atribut komposit, didasarkan pada pengolahan data pada tabel.
KonversiKonversi ModelModel EE--RR KeKe SkemaSkema ReRellasiasiA. Secara Umum
ƒ Entity sama dengan Relasi /Tableƒ Atribut sama dengan Item Data /Field
Contoh :
Nama
N RP Alamat
MAHASISWAMAHASISWA (NR P ,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.
Nama
NRP Alamat N o KT M TglValid
MAHASISWA1,1 1,1 KTMmemiliki Elektronik
MAHASISWA (NR P ,Nama,Alamat) KTM Elektronik (NoJTM, TglValid, NRP)
!!elektronik hanya dimiliki oleh 1 MAHASISWA.
Peletakan key atribut salah satu entity boleh dibalik, karena tidak akanmenghasilkan nilai NULL.Sebagai contoh, MAHASISWA pasti memiliki 1 KTM elektronik, dan 1 KTM
!!
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)
NamaYudisium
TglLulus
NRP Alamat NoIjazah GelarAkademik
MAHASISWA1,1 0,1
mendapat IJAZAH
MAHASISWA (NR P , Nama, Alamat, Yudisium) IJAZAH (NoIjazah,TglLulus, GelarAkademik, NRP)
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 harusditambahkan 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)
Nama
N R P Alamat NoKwitansi TglBayar
JmlByr
MAHASISWA1,1 1,m
melakukan REGISTRASI
MAHASISWA (NR P , Nama, Alamat) REGISTRASI (NoKwitans i ,TglBayar, JmlByr, NRP)
E. BINARY RELATIONSHIP (M:N)Menjadi 3 relasi yang dihasilkan dari 2 entity dan 1 relationship, dimanakey atribut relasi yang dihasilkan dari relationship berasal dari key atribut2 entity yang dihubungkannya.
Nama NmMK
NRP Alamat Nilai KdMK SKS
MAHASISWA1,m 1,n MATAmengikuti KULIAH
MAHASISWA (NR P , Nama, Alamat) MENGIKUTI (NRP,
KdMK, Nilai) MATAKULIAH(Kd M K , NmMk,
SKS)
F. UNARY RELATIONSHIP (1:1)Menjadi 1 relasi dengan menambahkan peran lain dari entity tersebut sebagai atribut
Nama
N RP Alamat
MAHASISWA 1,1 1,1 menjadi
AnggotaPerpus
MAHASISWA (NR P , Nama, Alamat, AnggotaPerpus)
G. UNARY RELATIONSHIP (1:M)Sama dengan kardinalitas 1,1. Menjadi 1 relasi dengan menambahkan peran lain dari entity tersebut sebagai atribut
Nama
NRP Alamat
MAHASISWA 1,m 1,1
KetuaKelas
dipimpin oleh
MAHASISWA (NRP, Nama, Alamat, KetuaKelas)
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.
Nama
NRP Alamat NoCoAss DaftarMtKul
MAHASISWA 1,m 1,n
Co-Asisten
dibantu oleh
MAHASISWA (NR P , Nama, Alamat)
Co-Asisten (NR P , NoCoAss, DaftarMtKul)
TTiippee FFililee
Database dibentuk berdasarkan kumpulan file. File data dapat digolongan menurut jenisnya adalahsebagai berikut :1.1. FFiillee InInddukuk ((master file))
Didalamaplikasi, file inimerupakan file yang
penting. File ini tetap terus adaselama hidup darisistem informasi. File induk
dapat dibedakan lagi menjadi :a. File induk acuan
(reference master file), yaitu file induk yangrecordnya 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.
2.2. FFiillee TrTraansaksinsaksi ((transaction file))File transaksi disebut juga dengan nama file input (input file).File ini digunakanuntuk merekam data hasildari
suatu transaksi yang terjadi, dan biasanya mempengaruhi nilai recordfile induk.Contoh : file transaksi penjualan yang berisi data
tentang transaksi penjualan yang terjadi(tanggal, namabarang, jumlah), maka record
file induk akan di-updated sesuai dengan transaksi penjualan yang terjadi.
3.3. FFiillee llaapporanoran ((report file))File ini disebut juga dengan file output (output file), yaitu file yang berisi 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.
4.4. FFiillee sseejjaraharah ((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.
5.5. FFiillee ppeleliindungndung ((backup file))File pelindung merupakan salinan dari file-file yang masih aktif di database pada suatu saat
tertentu. File ini digunakan sebagaicadangan atau pelindung bila file database yang
aktif rusak atau hilang.6.6. FFiillee kkeerrjjaa ((working file))
File kerja disebut juga dengan nama filesementara (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.
AksesAkses FilFilee
AksAkseess ffililee (access file) merupakan suatu metodeyang menunjukkan bagaimana suatu program
komputer / Aplikasi akan membaca atau menulis record-record padasuatu file.
File dapat diakses dengan dua cara yaitu :
MMeetotoddee AksAkseess UUrutrut (sequential access method)Dilakukan dengan membaca atau menulissuatu record di file, pembacaan di mulai dari record pertama, urut sampai dengan record yang diinginkan atau terakhir.
MMeetotoddee AksAkseess LangsungLangsung (direct access method)Dilakukan dengan cara langung membaca record pada posisinya di file tanpa membaca dari record pertama terlebih dahulu.
OrOrggaanniisasasisi FilFilee
OOrganrganiisasisasi ffililee adalah pengaturandarirecord 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 filemenyangkutkeduanya, yaitu sebagai
berikut :
FFiillee ururuutt (sequential file), merupakan file dengan organisasi urut (sequential organization)dengan pengaksesan secara urut (sequential access).
FFiillee ururuutt bbeerriinnddeeksks (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 akaksesess llangsungangsung (direct access file) atau disebut dengan file alamat langsung (direct address file)
merupakan file dengan organisasi acak (randomorganization) dengan pengaksesan langsung
(direct access). Organisasi file seperti ini disebutdenganorganisasi file tradisionalataukonvensional, karena telah ada sebelum struktur
database dikembangkan.
SOASOAL-L-SOSOAALL LLAATTIIHHANAN
EERR-D-D :: Kasus-1Kasus-1Pada 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 padasemester berjalan.
ƒ Seorang mahasiswapaling tidak dapatmengambilsatu matakuliah pada
semester berjalan. Namun, seorang mahasiswadapat cuti semesterdan tidak kuliah.Setiap
matakuliah dapat diikuti sedikitnya 30 mahasiswa.
EERR-D-D :: Kasus-2Kasus-2Sebuah 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-D-D :: Kasus-3Kasus-3Pada sebuah organisasi kemahasiswaan terdapat
sistem keanggotaan, dapat dijabarkan sebagai berikut :
ƒ Mahasiswa dapat menjadi anggotaorganisasi kemahasiswaan tersebut.
Namun, tidak semua mahasiswa
menjadi anggota organisasi kemahasiswaan.ƒ Setiap anggota organisasi kemahasiswaan
ditugaskan pada satu departemen dalam organisasi dan dapat diperbantukan
pada departemenlain. Pada setiap departemendapat berangotakan lebih dari satu mahasiswa.
ƒ Bila ada kegiatan kemahasiswaan yangakan diselenggarakan, maka disusun suatu
kepanitiaan. Anggota kepanitiaan terdiri lebih dari satu anggota organisasi.
EERR-D-D :: Kasus-4Kasus-4Pada sebuah toko swalayanterdapat 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-D-D :: Kasus-5Kasus-5Pada 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 maksimum5 juta, tetapi tidak semua anggota melakukan pinjaman uang pada koperasi.
ƒ Setiap anggota diwajibkan melakukan simpanan wajib pada unit simpan pinjam koperasi setiap bulannya.
EERR-D-D :: Kasus-6Kasus-6Pada 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.
ƒ Seorang anggota dapatmeminjam VCD palingbanyak 3 judul film setiap
kali meminjam dan paling lama 3 hari.Namun syarat meminjamVCD, seorang anggota
dalam keadaan tidak meminjam, bila meminjam hanya boleh selisih dari pimjaman
maksimal atau keanggotaannya tidakkadaluarsa.
ƒ Bila anggota mengembalikan VCD melebihi waktu yang telah ditentuka, maka anggota dapat dikenakan denda.
EERR-D-D :: Kasus-7Kasus-7Di PKN-LPKIA Bandung terdapat sistem Proyek Akhir, yang dapat dijabarkan sebagai berikut :
ƒ Seorang dosen dapat membimbing proyekakhir 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 menjadidosen 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.
Sumber :Perancangan Basisdata Part-1.doc / Sulistiawan / rev. Oktober 2008 / Hal. 73