Pertemuan 3 Pemodelan Data Oriented

45
Pertemuan 3 Pemodelan Data Oriented 1

description

Pertemuan 3 Pemodelan Data Oriented. TOPIK BAHASAN. Pemodelan Sistem Pemodelan Data : ERD Pemodelan Entity-Relationship Model sbg alat komunikasi. Pemodelan S istem. Model adalah representasi kenyataan . - PowerPoint PPT Presentation

Transcript of Pertemuan 3 Pemodelan Data Oriented

Page 1: Pertemuan 3 Pemodelan Data Oriented

Pertemuan 3Pemodelan Data OrientedPertemuan 3Pemodelan Data Oriented

1

Page 2: Pertemuan 3 Pemodelan Data Oriented

TOPIK BAHASAN

• Pemodelan Sistem• Pemodelan Data : ERD• Pemodelan Entity-Relationship• Model sbg alat komunikasi

2

Page 3: Pertemuan 3 Pemodelan Data Oriented

Model adalah representasi kenyataan.

Model Logika mendokumentasikan persyaratan bisnis apakah sistem tersebut atau apa yang dilakukannya. Model tersebut menggambarkan sistem independent (lepas) dari implementasi teknisnya.

Model Fisik tidak hanya menunjukkan apakah sistem tersebut atau apa yang dilakukannya, tetapi juga bagaimana sistem tersebut diimplementasikan secara fisik dan teknis.

Pemodelan Sistem

3

Page 4: Pertemuan 3 Pemodelan Data Oriented

Pemodelan Data adalah teknik untuk mengatur dan mendokumentasikan data sistem. Pemodelan data sering disebut pemodelan database karena model data biasanya diimplementasikan sebagai database. Hal ini biasanya disebut pemodelan informasi.

Atau dinamakan Entity Relationship Diagram (ERD) karena menggambarkan data dalam konteks entitas dan hubungan yang dideskripsikan oleh data.

Pemodelan data

4

Page 5: Pertemuan 3 Pemodelan Data Oriented

ERD merupakan tool analisis sistem pertama yg fokus pada DATA

Dan

Bagaimana data dihubungkan dan diorganisasi.

Pemodelan Data

5

Page 6: Pertemuan 3 Pemodelan Data Oriented

Contoh ERD

6

Page 7: Pertemuan 3 Pemodelan Data Oriented

Entitas kelompok orang, tempat, obyek, kejadian atau konsep tentang apa yang kita perlukan untuk menyimpan data

Orang : agen, kontraktor, costumer, pegawai, instruktur, siswa, supplier.

Tempat: wilayah sales, bangunan, ruangan, kantor cabang, kampus.

Objek : buku, mesin, produk, model kendaraan, kendaraan. Peristiwa : penerbangan, registrasi, pelayanan. Konsep : stok, laporan keuangan.

Konsep Pemodelan Data : Entitas

7

Page 8: Pertemuan 3 Pemodelan Data Oriented

• Atribut mendeskripsikan sifat atau karakteristik suatu entitas sama dengan field dalam tabel

• Atribut Composite adalah atribut yang terdiri dari atribut lain.

Konsep pemodelan data :atribut

8

Page 9: Pertemuan 3 Pemodelan Data Oriented

- Menjelaskan batasan jumlah keterhubungan satu entity dengan entity lainnya.

- Jenis Cardinality Ratio• 1 : 1• 1: M / M : 1• M : N

Konsep pemodelan data : Cardinality

9

Page 10: Pertemuan 3 Pemodelan Data Oriented

Relationship CardinalityE1 E2

E1

E1

E2

E2

One-to-ManyOne-to-Many

Many-to-ManyMany-to-Many

One-to-OneOne-to-One

1:1

1:M

M:N

Page 11: Pertemuan 3 Pemodelan Data Oriented

E-R model pada dasarnya penting untuk pengembangan sistem karena:

• Setiap entitas akan menjadi tabel.• Setiap atribut akan menjadi field (kolom)• Setiap kardinalitas akan menjadi jalan akses

(foreign key)

E-R modeE-R model untuk desain databasel untuk desain database..

11

Page 12: Pertemuan 3 Pemodelan Data Oriented

Cara Menemukan Entitas

• Buat ilustrasi/gambaran cerita tentang sistem yang akan dicari entitasnya

• Tandai setiap objek yang diwakili oleh kata benda yang ada di dalam ilustrasi tersebut

• Untuk setiap objek tersebut yakinkan bahwa ia memiliki karakteristik yang nanti disebut sebagai atribut

• Tentukan objek yang merupakan entitas (Jika memang ia memiliki karakteristik jadikan ia sebagai entitas)

Page 13: Pertemuan 3 Pemodelan Data Oriented

Contoh Cara Menemukan Entitas(1)• Contoh : Sistem Kepegawaian di perusahaan A• Langkah 1: Buat ilustrasi/gambaran cerita tentang sistem kepegawaian di

perusahaan A– Perusahaan A memiliki 100 pegawai. Setiap pegawai dipimpin

pengawas/mandor dari pegawai perusahaan itu sendiri dan tidak semua pegawai memimpin pegawai yang lain. sehingga satu pengawas dapat memimpin beberapa pegawai. Setiap pegawai bekerja untuk suatu departemen dan dalam suatu departemen dapat terdiri dari beberapa pegawai. Setiap departemen dikepalai oleh seorang pegawai yang bekerja mulai tanggal tertentu. Sebuah departemen dapat berada di beberapa lokasi. Selain bekerja di suatu departemen pegawai dapat bekerja pada beberapa proyek. Setiap proyek dikendalikan/diatur oleh suatu departemen, namun suatu departemen tidak harus mengendalikan/mengatur proyek. Satu departemen dapat mengendalikan beberapa proyek dan satu proyek hanya dikendalikan oleh satu departemen Satu proyek dapat terdiri dari beberapa pegawai. Untuk keperluan penggajian perusahaan memerlukan data tanggungan pegawai. Seorang pegawai dapat menanggung beberapa tanggungan. Jika seorang pegawai pindah maka datanya akan dipindahkan/dihapus berikut data tanggungan/keluarganya.

Page 14: Pertemuan 3 Pemodelan Data Oriented

Contoh Cara Menemukan Entitas(2)• Langkah 2: Tandai setiap objek yang diwakili oleh kata benda yang ada di

dalam ilustrasi tersebut– Perusahaan A memiliki 100 pegawai. Setiap pegawai dipimpin

pengawas/mandor dari pegawai perusahaan itu sendiri dan tidak semua pegawai memimpin pegawai yang lain. sehingga satu pengawas dapat memimpin beberapa pegawai. Setiap pegawai bekerja untuk suatu departemen dan dalam suatu departemen dapat terdiri dari beberapa pegawai. Setiap departemen dikepalai oleh seorang pegawai yang bekerja mulai tanggal tertentu. Sebuah departemen dapat berada di beberapa lokasi. Selain bekerja di suatu departemen, pegawai dapat bekerja pada beberapa proyek. Setiap proyek dikendalikan/diatur oleh suatu departemen, namun suatu departemen tidak harus mengendalikan/mengatur proyek. Satu departemen dapat mengendalikan beberapa proyek dan satu proyek hanya dikendalikan oleh satu departemen Satu proyek dapat terdiri dari beberapa pegawai. Untuk keperluan penggajian perusahaan memerlukan data tanggungan pegawai. Seorang pegawai dapat menanggung beberapa tanggungan. Jika seorang pegawai pindah maka datanya akan dipindahkan/dihapus berikut data tanggungan/keluarganya.

Page 15: Pertemuan 3 Pemodelan Data Oriented

Contoh Cara Menemukan Entitas(2)

• Langkah 3: Untuk setiap objek tersebut yakinkan bahwa ia memiliki karakteristik yang nanti disebut sebagai atribut– Perusahaan: NoPerusahaan, nama, alamat– Pegawai: NoKTP, Nama, Alamat, Jenis kelamin,gaji– Pengawas:NoKTP, Nama, Alamat, Jenis kelamin,gaji– Departemen: Nomor, Nama, lokasi, jumlah pegawai– Lokasi : lokasi – Proyek: Nomor, nama, lokasi– Tanggungan: nama, jenis kelamin, tanggal lahir, hubungan dengan

pegawai

Page 16: Pertemuan 3 Pemodelan Data Oriented

Contoh Cara Menemukan Entitas(3)

• Langkah 4: Tentukan objek yang merupakan entitas (Jika memang ia memiliki karakteristik jadikan ia sebagai entitas)– Perusahaan: NoPerusahaan, nama, alamat (hanya berisi satu

baris data) bukan entitas– Pegawai: NoKTP, Nama, Alamat, Jenis kelamin,gaji entitas

kuat– Pengawas:NoKTP, Nama, Alamat, Jenis kelamin,gaji sama

dengan entitas Pegawai– Departemen: Nomor, Nama, lokasi, jumlah pegawai

entitas kuat– Lokasi : lokasi (karakteristiknya departemen, tidak memiliki

karakteristik lain (unik)) bukan entitas – Proyek: Nomor, nama, lokasi entitas kuat– Tanggungan: nama, jenis kelamin, tanggal lahir, hubungan

dengan pegawai entitas lemah (tergantung pada pegawai)

Page 17: Pertemuan 3 Pemodelan Data Oriented

8lokasi

Pegawai Departemen

Proyek

Tanggungan

memimpin

menanggung

bekerjapada

mengatur

(1,1

)(0

,N)mengepalai

bekerjauntuk

Nama

NmDepan Inisial NmBlk

JenisKel

Alamat Gaji

NoKTP

NamaJenisKel TglLahir

Hubungan

Nomor Nama Lokasi

nama nomor

TglMulai

LamaJam

JmlPegawai(1

,1)

ERD PerusahaanERD Perusahaan

Page 18: Pertemuan 3 Pemodelan Data Oriented

Batasan Partisipasi (Participation Constraint) Menentukan apakah keberadaan sebuah entitas tergantung pada hubungannya ke entitas lain melalui jenis relasinya

Ada 2 jenis:Ada 2 jenis:

1. 1. Partisipasi TotalPartisipasi Total partisipasi pegawai dalam relasi “bekerja partisipasi pegawai dalam relasi “bekerja untuk”, memberikan arti bahwa setiap data pada pegawai, harus untuk”, memberikan arti bahwa setiap data pada pegawai, harus direlasikan pada sebuah departemen. Atau tidak ada data pegawai direlasikan pada sebuah departemen. Atau tidak ada data pegawai yang tidak berelasi dengan data departemen yang tidak berelasi dengan data departemen

2. 2. Partisipasi sebagianPartisipasi sebagian partisipasi pegawai dalam relasi partisipasi pegawai dalam relasi “mengepalai” terhadap departemen, tidak setiap data pada “mengepalai” terhadap departemen, tidak setiap data pada pegawai dihubungkan dengan departemen dengan relasi ini. Atau pegawai dihubungkan dengan departemen dengan relasi ini. Atau tidak semua pegawai mengepalai departementidak semua pegawai mengepalai departemen

Page 19: Pertemuan 3 Pemodelan Data Oriented

Partisipasi TotalContoh: Contoh: Semua Semua pegawaipegawai harusharus bekerja di bawah suatu bekerja di bawah suatu departemen departemen (relasi (relasi disisi pegawai adalah relasi total)disisi pegawai adalah relasi total)

Notasi :Notasi :Partisipasi total:Partisipasi total: digambarkan dengan digambarkan dengan garis ganda pada relasi garis ganda pada relasi disisi pegawaidisisi pegawai

Partisipasi totalPartisipasi total :: digambarkan dengan satu digambarkan dengan satu garis pada relasi disisi garis pada relasi disisi pegawai digabungkan pegawai digabungkan dengan minimum 1 dengan minimum 1 (minimum bekerja pada 1 (minimum bekerja pada 1 departemen)departemen)(Min,max)

Page 20: Pertemuan 3 Pemodelan Data Oriented

Partisipasi Parsial• Contoh:Beberapa pegawai mengepalai sebuah departemen (setiap pegawai

tidak harus mengepalai suatu departemen)• Notasi:

Partisipasi parsial:Partisipasi parsial: digambarkan dengan satu digambarkan dengan satu garis pada relasi disisi garis pada relasi disisi pegawaipegawai

Partisipasi parsialPartisipasi parsial :: ditandai dengan satu ditandai dengan satu garis pada relasi disisi garis pada relasi disisi pegawai digabungkan pegawai digabungkan dengan minimum 0 (tidak dengan minimum 0 (tidak mengepalai departemen)mengepalai departemen)

Page 21: Pertemuan 3 Pemodelan Data Oriented

Derajat Relasi MinimumMenunjukkan hubungan (korespondensi) minimum

yang boleh terjadi dalam sebuah relasi antar entitas.

Notasi (x,y) pada relasi menunjukkan derajat minimum (x) dan derajat maksimum (y) pada sebuah relasi

Partisipasi total bisa dinotasikan dengan memberikan derajat relasi minimum (x) = 1 ContohContoh

::pada relasi “bekerja untuk” pada entitas pegawai terhadap pada relasi “bekerja untuk” pada entitas pegawai terhadap departemen Derajat relasi minimumnya adalah satudepartemen Derajat relasi minimumnya adalah satu

Page 22: Pertemuan 3 Pemodelan Data Oriented

Notasi lain untuk relasi

Page 23: Pertemuan 3 Pemodelan Data Oriented

Macam relasi

• relasi Biner (binary relation)• relasi tunggal (unary relation)• relasi Multi entitas (n-ary relation)• relasi ganda (redundant relation)

Page 24: Pertemuan 3 Pemodelan Data Oriented

Relasi Biner (Binary Relation)

Merupakan relasi yang terbentuk antar 2 buah entitas

ContohContoh::relasi “bekerja pada” pada entitas pegawai terhadap relasi “bekerja pada” pada entitas pegawai terhadap

entitas proyekentitas proyek

Pegawai ProyekBekerja Pada(1,N) (1,N)

Page 25: Pertemuan 3 Pemodelan Data Oriented

Relasi Tunggal (Unary Relation)

Merupakan relasi yang terjadi dari sebuah entitas ke entitas yang sama

ContohContoh::

relasi memimpin pada entitas pegawairelasi memimpin pada entitas pegawai

Pegawai

memimpin

Page 26: Pertemuan 3 Pemodelan Data Oriented

Relasi Multi Entitas (N-ary Relation)Merupakan relasi dari 3 buah entitas atau lebih. Seharusnya dihindari, karena akan mengaburkan derajat relasi yang ada dalam relasi.

ContohContoh:: Instruktur SemesterMenawarkan

Kursus

Nama

NoKursus

Tahun IDSemester

Page 27: Pertemuan 3 Pemodelan Data Oriented

Relasi Ganda (Redundant Relation)

Relasi yang jumlahnya lebih dari satu untuk dua buah entitas

ContohContoh::

Pegawai Departemen

mengepalai

bekerjauntuk

Page 28: Pertemuan 3 Pemodelan Data Oriented

Mapping ER Diagram ke Tabel

Page 29: Pertemuan 3 Pemodelan Data Oriented

Konsep Foreign Key• Foreign key adalah kolom yang diambil dari primary key

entitas lain yang menggunakan hubungan antar 2 tabel tsb.

FaktaFakta

Adi, Budi dan Cici bekerja pada Adi, Budi dan Cici bekerja pada bagian Persinalia. Sedangkan bagian Persinalia. Sedangkan Rudi dan Santo bekerja pada Rudi dan Santo bekerja pada bagian Gudangbagian Gudang

Dari fakta diatas dan panah relasi Dari fakta diatas dan panah relasi sebelah kiri, bagaimana cara sebelah kiri, bagaimana cara menuliskan data yang menuliskan data yang menunjukkan hubungan/relasi menunjukkan hubungan/relasi antar tabel pegawai dan antar tabel pegawai dan departemen?departemen?

Page 30: Pertemuan 3 Pemodelan Data Oriented

Algoritma 1

• Untuk setiap entitas kuat EK, buat tabel baru EK yang memasukkan semua attribut sederhana (simple attribut)

• Untuk atribut komposit, hanya atribut sederhananya yang disertakan

• Pilih salah satu key attribute dari EK sebagai primary key. Jika key yang terpilih merupakan atribut komposit, seluruh atribut sederhananya merupakan primary key

Page 31: Pertemuan 3 Pemodelan Data Oriented

Algoritma 1

Pegawai

Nam a

Nm Depan Inisial Nm Blk

JenisKel

A lam at Gaji

NoKTP

Langkah 1

Tabel Tabel PEGAWAIPEGAWAI

NoKTPNmDepan

InisialNmBlk

JenisKelAlamat

Gaji

Atribut komposit nama tidak menjadi field/kolom pada tabel PEGAWAI, tetapi yg dimasukkan adalah bagian simple attributnya.

Page 32: Pertemuan 3 Pemodelan Data Oriented

Algoritma 2

• Untuk setiap entitas lemah EL yang dimiliki oleh entitas kuat EK, buat tabel baru EL yang memasukkan semua atribut sederhana EL

• Tambahkan pada EL foreign key yang diambil dari primary key EK

• Primary key yang dibentuk merupakan gabungan primary key EK dan partial key dari EL (jika ada)

Page 33: Pertemuan 3 Pemodelan Data Oriented

Algoritma 2

Pegawai

Tanggungan

menanggung

(0,N

)

NoKTP

NamaJenisKel TglLahir

Hubungan

(1,1)

Langkah 2

Tabel Tabel TANGGUNGATANGGUNGA

NNPeg_NoKTP

NamaJenisKelTglLahir

Hubungan

Page 34: Pertemuan 3 Pemodelan Data Oriented

Algoritma 3

Untuk setiap relasi 1:1 antara entitas EK1 dan EK2: •Jika sama-sama merupakan partisipasi total, pilih salah satu. Tambahkan semua semua simple attribut dari entitas yang lain •Jika sama-sama merupakan partisipasi parsial, pilih salah satu. Tambahkan foreign key dari primary key entitas yang lain •Jika salah satu merupakan partisipasi total, pilih yang berpartisipasi total. Tambahkan foreign key dari primary key entitas yang lain

Kemudian tambahkan semua simple atribut dari relasi tersebut

Page 35: Pertemuan 3 Pemodelan Data Oriented

Algoritma 3

Pegawai Departemenmengepalai

(0,1)NoKTP (1,1)

Langkah 1-3Tabel Tabel

DEPARTEMENDEPARTEMEN

……

Peg_NoKTPKepala

Kolom-kolom yang telah dibentuk pada langkah-langkah sebelumnya

Page 36: Pertemuan 3 Pemodelan Data Oriented

Algoritma 4

• Untuk setiap relasi 1:N antara entitas EK1 dan EK2, pilih entitas yang memiliki derajat maksimum relasi=1

• Tambahkan sebuah foreign key dari primary key entitas lain yang memiliki derajat maksimum relasi = N

• Tambahkan pula seluruh atribut dari relasi tersebut

Page 37: Pertemuan 3 Pemodelan Data Oriented

Algoritma 4

Pegawai Departem enbekerjauntuk

NoKTP nam a nom or

Langkah 4

Tabel PEGAWAITabel PEGAWAI

……

Dep_NomorBekerja

Dep_NamaBekerja

Kolom-kolom yang telah dibentuk pada langkah-langkah sebelumnya

Page 38: Pertemuan 3 Pemodelan Data Oriented

Algoritma 5

• Untuk setiap relasi M:N antara entitas EK1 dan EK2, buat tabel baru MN

• Tambahkan seluruh simple attribut dari relasi tersebut

• Tambahkan pula foreign key yang diambil dari primary key masing-masing entitas yang direlasikan

• Primary key merupakan gabungan dari seluruh foreign key tersebut

Page 39: Pertemuan 3 Pemodelan Data Oriented

Algoritma 5

Pegawai Proyekbekerja

pada

NoKTP

Nom or Nam aLam aJam

(1,N)(1,N)

Langkah 5

Tabel Tabel BEKERJAPADBEKERJAPAD

AAPeg_NoKTPPro_NomorPro_NamaLamaJam

Page 40: Pertemuan 3 Pemodelan Data Oriented

Algoritma 6

• Untuk setiap multivalued attribute, buat tabel baru MV

• Tambahkan seluruh simple attributnya • Tambahkan pula sebagai foreign key, primary key

dari entitas yang memiliki • Primary key merupakan gabungan dari dari seluruh

fieldnya

Page 41: Pertemuan 3 Pemodelan Data Oriented

Algortima 6

8lokasi

Departem en

nam a nom or

Jm lPegawai

Langkah 6

Tabel Tabel DEP_LOKASIDEP_LOKASIDep_NomorDep_Nama

Lokasi

Page 42: Pertemuan 3 Pemodelan Data Oriented

• Untuk membangun model yg tepat, hal yang penting dalam pemodelan adalah pandangan user.

• User mempelajari notasi secara cepat dengan menggunakan model ini, kemudian berdiskusi dan mengatasi permasalahan dengan sistem analis.

Penting diketahui....

42

Page 43: Pertemuan 3 Pemodelan Data Oriented

TUGAS• Buat ERD untuk sistem berikut :

- sistem informasi rumah sakit- sistem informasi perpustakaan- sistem informasi kependudukan- sistem informasi apotik- sistem informasi akademik

• Kerjakan hal-hal berikut untuk setiap sistem yang dibuat:- Buat ilustrasi/gambaran cerita tentang sistem tersebut- Tandai setiap objek yang diwakili oleh kata benda yang

ada di dalam ilustrasi tersebut- Untuk setiap objek tersebut yakinkan bahwa ia memiliki

karakteristik yang nanti disebut sebagai atribut- Tentukan objek yang merupakan entitas (Jika memang ia

memiliki karakteristik jadikan ia sebagai entitas) 43

Page 44: Pertemuan 3 Pemodelan Data Oriented

Tugas kelompok :

1. Ibnul klp 1 perpustakaan2. Roid klp 2 rumah sakit3. Alvi klp 3 akademik4. Andri klp 4 perpustkaan5. Holil klp5 rumah sakit6. Yuni klp 6 perpustakaan7. Reni klp 7 akademik8. Iqbal klp 8 apotik9. Ismail klp 9 kependudukan10. Wildan klp 10 apotik 44

Page 45: Pertemuan 3 Pemodelan Data Oriented

45