470 likes | 973 Views
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 .
E N D
TOPIK BAHASAN • Pemodelan Sistem • Pemodelan Data : ERD • Pemodelan Entity-Relationship • Model sbg alat komunikasi
PemodelanSistem Model adalahrepresentasikenyataan. • Model Logikamendokumentasikanpersyaratanbisnisapakah sistemtersebut atauapa yang dilakukannya. Model tersebutmenggambarkansistem independent (lepas) dariimplementasiteknisnya. • ModelFisiktidakhanyamenunjukkanapakahsistemtersebutatauapa yang dilakukannya, tetapijugabagaimanasistemtersebutdiimplementasikansecarafisikdanteknis.
Pemodelan data Pemodelan Data adalahteknikuntukmengaturdanmendokumentasikan data sistem. Pemodelan data seringdisebutpemodelan database karena model data biasanyadiimplementasikansebagai database. Hal inibiasanyadisebutpemodelaninformasi. Atau dinamakan Entity Relationship Diagram (ERD) karenamenggambarkan data dalamkonteksentitasdanhubungan yang dideskripsikanoleh data.
Pemodelan Data ERD merupakan tool analisis sistem pertama yg fokus pada DATA Dan Bagaimana data dihubungkan dan diorganisasi.
Konsep Pemodelan Data : Entitas • Entitaskelompokorang, tempat, obyek, kejadianataukonseptentangapa yang kitaperlukanuntukmenyimpan 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.
Konseppemodelan data :atribut • Atributmendeskripsikansifatataukarakteristiksuatuentitas sama dengan field dalam tabel • Atribut Composite adalahatribut yang terdiridariatribut lain.
Konseppemodelan data : Cardinality - Menjelaskanbatasanjumlahketerhubungansatu entity dengan entity lainnya. - Jenis Cardinality Ratio • 1 : 1 • 1: M / M : 1 • M : N
Relationship Cardinality E2 E1 One-to-One 1:1 E2 One-to-Many E1 1:M Many-to-Many E2 E1 M:N
E-R model untuk desain database. E-R model pada dasarnya penting untuk pengembangan sistem karena: • Setiap entitas akan menjaditabel. • Setiap atribut akan menjadifield(kolom) • Setiap kardinalitas akan menjadi jalan akses (foreign key)
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)
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.
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 tanggunganpegawai. Seorang pegawai dapat menanggung beberapa tanggungan. Jika seorang pegawai pindah maka datanya akan dipindahkan/dihapus berikut data tanggungan/keluarganya.
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
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)
BatasanPartisipasi (Participation Constraint) Menentukan apakah keberadaan sebuah entitas tergantung pada hubungannya ke entitas lain melalui jenis relasinya Ada 2 jenis: 1. Partisipasi Totalpartisipasi pegawai dalam relasi “bekerja untuk”, memberikan arti bahwa setiap data pada pegawai, harus direlasikan pada sebuah departemen. Atau tidak ada data pegawai yang tidak berelasi dengan data departemen 2. Partisipasi sebagianpartisipasi pegawai dalam relasi “mengepalai” terhadap departemen, tidak setiap data pada pegawai dihubungkan dengan departemen dengan relasi ini. Atau tidak semua pegawai mengepalai departemen
(Min,max) Partisipasi Total Contoh: Semua pegawaiharus bekerja di bawah suatu departemen (relasi disisi pegawai adalah relasi total) Notasi : • Partisipasi total:digambarkan dengan garis ganda pada relasi disisi pegawai • Partisipasi total:digambarkan dengan satu garis pada relasi disisi pegawai digabungkan dengan minimum 1 (minimum bekerja pada 1 departemen)
Partisipasi Parsial • Contoh:Beberapa pegawai mengepalai sebuah departemen (setiap pegawai tidak harus mengepalai suatu departemen) • Notasi: • Partisipasi parsial:digambarkan dengan satu garis pada relasi disisi pegawai • Partisipasi parsial:ditandai dengan satu garis pada relasi disisi pegawai digabungkan dengan minimum 0 (tidak mengepalai departemen)
Derajat Relasi Minimum • Menunjukkan 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 Contoh: padarelasi “bekerjauntuk” padaentitaspegawaiterhadapdepartemenDerajatrelasiminimumnyaadalahsatu
Macam relasi • relasi Biner (binary relation) • relasi tunggal (unary relation) • relasi Multi entitas (n-ary relation) • relasi ganda (redundant relation)
Relasi Biner (Binary Relation) Merupakan relasi yang terbentuk antar 2 buah entitas Contoh: relasi “bekerjapada” padaentitaspegawaiterhadapentitasproyek
Relasi Tunggal (Unary Relation) Merupakan relasi yang terjadi dari sebuah entitas ke entitas yang sama Contoh: relasi memimpin pada entitas pegawai
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. Contoh:
Relasi Ganda (Redundant Relation) Relasi yang jumlahnyalebihdarisatuuntukduabuahentitas Contoh:
Konsep Foreign Key • Foreign key adalah kolom yang diambil dari primary key entitas lain yang menggunakan hubungan antar 2 tabel tsb. Fakta Adi, Budi dan Cici bekerja pada bagian Persinalia. Sedangkan Rudi dan Santo bekerja pada bagian Gudang Dari fakta diatas dan panah relasi sebelah kiri, bagaimana cara menuliskan data yang menunjukkan hubungan/relasi antar tabel pegawai dan departemen?
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
Algoritma 1 Tabel PEGAWAI NoKTP NmDepan Inisial NmBlk JenisKel Alamat Gaji Langkah 1 Atribut komposit nama tidak menjadi field/kolom pada tabel PEGAWAI, tetapi yg dimasukkan adalah bagian simple attributnya.
Algoritma 2 • Untuksetiapentitaslemah EL yang dimilikiolehentitaskuat EK, buattabelbaru EL yang memasukkansemuaatributsederhana EL • Tambahkanpada EL foreign key yang diambildari primary key EK • Primary key yang dibentukmerupakangabungan primary key EK dan partial key dari EL (jikaada)
Algoritma 2 Tabel TANGGUNGAN Peg_NoKTP Nama JenisKel TglLahirHubungan Langkah 2
Algoritma 3 Untuksetiaprelasi 1:1 antaraentitas EK1 dan EK2: • Jikasama-samamerupakanpartisipasi total, pilihsalahsatu. Tambahkansemuasemua simple attributdarientitas yang lain • Jikasama-samamerupakanpartisipasiparsial, pilihsalahsatu. Tambahkan foreign key dari primary key entitas yang lain • Jikasalahsatumerupakanpartisipasi total, pilih yang berpartisipasi total. Tambahkan foreign key dari primary key entitas yang lain Kemudiantambahkansemua simple atributdarirelasitersebut
Algoritma 3 Tabel DEPARTEMEN ……Peg_NoKTPKepala Langkah 1-3 Kolom-kolom yang telah dibentuk pada langkah-langkah sebelumnya
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
Algoritma 4 Tabel PEGAWAI ……Dep_NomorBekerjaDep_NamaBekerja Langkah 4 Kolom-kolom yang telah dibentuk pada langkah-langkah sebelumnya
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
Algoritma 5 Tabel BEKERJAPADA Peg_NoKTP Pro_Nomor Pro_NamaLamaJam Langkah 5
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
Algortima 6 Tabel DEP_LOKASI Dep_Nomor Dep_Nama Lokasi Langkah 6
Penting diketahui.... • 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.
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)
Tugas kelompok : • Ibnul klp 1 perpustakaan • Roid klp 2 rumah sakit • Alvi klp 3 akademik • Andri klp 4 perpustkaan • Holil klp5 rumah sakit • Yuni klp 6 perpustakaan • Reni klp 7 akademik • Iqbal klp 8 apotik • Ismail klp 9 kependudukan • Wildan klp 10 apotik