Perancangan Basis Data Pertemuan 2 ER Concept AER – 2013/2014 Universitas Pembangunan Jaya – SIF_TIF
Universitas Pembangunan Jaya – SIF_TIF Tujuan Pertemuan Mahasiswa akan mampu menjelaskan konsep dasar, istilah-istilah dan komponen ER (Entity Relationship) pada perancangan basis data. Mahasiswa akan mampu membuat Diagram ER sederhana. Mahasiswa akan mampu melakukan pemetaan Entity ke dalam tabel relasi. AER – 2013/2014 Universitas Pembangunan Jaya – SIF_TIF
Pemodelan Database (Database Modelling) Disain logical database disain database pemodelan database; “mempelajari sifat dasar dan hubungan antara item data, dengan tujuan untuk mendapatkan representasi setiap item dalam database”. Dalam membuat model database, DBA melakukan interview/diskusi (bekerja sama) dengan orang yang menguasai detil dari perusahaan tersebut, selain itu jika ada diagram proses bisnis dapat digunakan untuk mempermudah proses pemodelan database. Dari hasil interview atau diskusi tersebut DBA akan mendapatkan daftar item data dan object data yang disertai dengan rules (aturan), constraints (batasan-batasan) sehubungan dengan interelasi item-item data tersebut. AER – 2013/2014 Universitas Pembangunan Jaya – SIF_TIF
Pemodelan Database (Database Modelling) Berikut contoh rules (aturan-aturan) terkait registrasi siswa; Setiap siiswa yang sudah terdaftar memiliki satu nomer ID Siswa (sid) yang unik. Seorang siswa bisa terdaftar untuk (maksimal) satu kursus pada satu periode kelas. Ruang kelas dapat ditempati (maksimal) satu kursus pada satu periode kelas. Berdasarkan item-item data, constraints dan rules ini, DBA kemudian melakukan logical design database. Berikut ini adalah dua teknik yang umum dilakukan dalam melakukan logical design database; Pendekatan ER (Entity Relationship) Normalization AER – 2013/2014 Universitas Pembangunan Jaya – SIF_TIF
Intro ER Concept -Entity Nama_entity Entity (Entitas) “Sekumpulan object dunia nyata atau kejadian yang dapat dibedakan, tapi object-object tersebut memiliki atribut sama” Contoh; Pada registrasi kampus, dapat dikatakan memiliki object seperti berikut; Students , Instructors , Class rooms , Courses , Course sections , Class periods, dst… Penulisan nama entity-nya adalah sebagai berikut; Student , Instructor, Class_room, Course, Course_section, Class_period, dst… (catatan; nama entity diawali dengan huruf besar/kapital dan tidak ada spasi) Perhatikan: Entity Students, students merupakan object dunia nyata yang memiliki atribut yang sama (yaitu; sid , dan nama) dan tiap-tiap student dapat dibedakan berdasarkan student id (sid). Entity Class_rooms, class rooms merupakan merupakan object dunia nyata yang memiliki atribut yang sama dan tiap-tiap class rooms dapat dibedakan berdasarkan lokasi-nya (room number). AER – 2013/2014 Universitas Pembangunan Jaya – SIF_TIF
Intro ER Concept -Attribute nama_atribut Attribute (atribut) “Item data yang mendeskripsikan property/atribut suatu entity atau relationship” Setiap entity memiliki identifier, yaitu; atribut atau satu set atribut yang akan membuat nilai dari setiap isi baris entity menjadi unik. Atribut identifier ini dapat dikatakan sebagai primary identifier. Contoh; Atribut untuk entity Student adalah; sid, student_name. hobbies (catatan; nama atribut ditulis dengan huruf kecil dan tidak ada spasi, atribut primary identifier ditandai dengan garis bawah) Student sid student_name hobbies Perhatikan: Identifier pada entity Student, nilai atribut identifier sid tidak boleh ada duplikat pada entity Student, demikian juga halnya yang terjadi pada real world, setiap siswa hanya memiliki satu nomor sid demikian juga sebaliknya nomor suatu sid hanya bisa dimiliki oleh satu siswa. AER – 2013/2014 Universitas Pembangunan Jaya – SIF_TIF
Intro ER Concept -Attribute uid nama hobby 001 Ani membaca renang 002 Sari musik Atribut Multivalue (multivalued attribute) adalah: “Atribut yang dapat memiliki beberapa nilai dalam satu baris” Contoh: Atribut hobbies merupakan atribut yang dapat memiliki beberapa nilai dalam satu baris, karena seorang student mungkin memiliki lebih dari satu hobby. Untuk itu garis penghubung atibut hobbies digambarkan dengan dua garis (double line). Atribut komposit (composite attribute) adalah: “Atribut yang terdiri dari beberapa subset atribut yang membentuknya”. Atribut student_name sebenarnya terdiri dari lname (last name), midinitial (middle atau initial name) dan fname (first name). Dengan demikian berarti student_name adalah atribut komposit. Student sid student_name lname fname midinitial hobbies AER – 2013/2014 Universitas Pembangunan Jaya – SIF_TIF
Intro ER Concept -Relationship nama_relasi Relationship (Relasi) “Merupakan hubungan atau interaksi antara satu entitas dengan yang lainnya”. Contoh: entitas Cusomer berhubungan dengan entitas Product yang dibelinya, entitas instructor berhubungan dengan Course_section yang diajarnya, Employee berhubungan dengan Project yang dikerjakannya, dsb… Perhatikan: buy Customer Product morks_on Employee Project teaches Instructor Course_sections AER – 2013/2014 Universitas Pembangunan Jaya – SIF_TIF
Intro ER Concept -Relationship Relationship (Relasi) Jika Terdapat sekumpulan m entity sbb; E1, E2, …, Em (berurutan dan entity yang sama mungkin muncul lebih dari sekali), dan suatu relationship R merupakan definisi rule hubungan antar entity tersebut melalui atributnya. Maka; R adalah representasi dari hubungan antar entity tersebut, dan R berisi kolom/atribut yang menghubungkan antar entity tersebut. Secara matematika; R = E1 x E2 x Em (R represent set of m-tuples, a subset of the Cartesian product of entity instances). Perhatikan: buy Customer Product cid cust_name buy_price pid prod_name prod_price buy Customer Product cid cust_name buy_price pid prod_name prod_price AER – 2013/2014 Universitas Pembangunan Jaya – SIF_TIF
Intro ER Concept -Relationship Contoh Relasi sebagai Definisi Rule Project Employee works_on percent eid e_name prjid prj_name Perhatikan: eid ditambahkan pada relationship works_on, sebagai penghubung (relasi) antara Employee – works_on prjid ditambahkan pada relationship works_on, sebagai penghubung (relasi) antara Project – works_on Project Employee works_on percent prjid eid e_name prj_name AER – 2013/2014 Universitas Pembangunan Jaya – SIF_TIF
Intro ER Concept -Relationship Contoh Relasi sebagai Definisi Rule buy Customer Product cid cust_name buy_price pid prod_name prod_price buy Customer Product cid cust_name buy_price pid prod_name prod_price Perhatikan: cid ditambahkan pada relationship buy, sebagai penghubung (relasi) antara Customer – buy pid ditambahkan pada relationship buy, sebagai penghubung (relasi) antara Product – buy Buy_id ditambahkan sebagai identifer pada relasi buy, karena setiap entity atau relasi yang memiliki atribut dan nantinya akan ditransformasi menjadi tabel relasi harus memiliki atribut atau kombinasi atribut yang mimiliki nilai unik pada setiap baris-nya, sehingga setiap baris dalam tabel bernilai unik. Kombinasi cid dan pid tidak unik, karena ada kemungkinan Customer (cid) yang sama membeli product (pid) yang sama, sehingga kombinasi cid dan pid mungkin muncul lebih dari satu kali pada baris (row) tabel. Karena cid dan pid bukan merupakan identifier pada relasi, maka selanjutnya buy tidak bisa dibilang relationship, tapi menjadi suatu atribut. Suatu relationship yang memiliki atribut dapat dikatakan sebagai relationship, jika kombinasi atribut penghubung merupakan identifier. Untuk pemecahan masalah ini dijelaskan pada pertemuan 3 – ER Lanjutan. buy Customer Product cid cust_name buy_price pid prod_name prod_price buy_id AER – 2013/2014 Universitas Pembangunan Jaya – SIF_TIF
Intro ER Concept -Transformasi ER Menjadi Tabel Transformasi entity atau relasi menjadi tabel relasi. Terdapat dua aturan (rule) dalam melakukan transformasi ini: Transformation Rule 1: Setiap entity/relasi dalam ER dipetakan ke/menjadi tabel. Satu entity/relasi adalah satu tabel relasi, dan beri nama tabel tersebut sesuai dengan nama entity/relasi-nya. Kolom pada tabel merupakan representasi dari atribut yang bukan multivalue, atribut subset dari atribut komposit (catatan: atribut komposit-nya sendiri tidak dibuatkan kolom). Identifier suatu Entity dipetakan menjadi candidate key pada tabel, dan primary identifier dipetakan menjadi primary key. Catatan: primary identifier bisa saja berupa atribut komposit, jika hal tersebut terjadi, maka; semua atribut subset dari atribut komposit tersebut dipetakan menjadi primary key. Data kejadian dari entity kemudian dipetakan ke dalam tabel berupa baris (row) pada tabel. Catatan: Relasi yang di petakan menjadi tabel adalah hanya relasi yang memiliki atribut. AER – 2013/2014 Universitas Pembangunan Jaya – SIF_TIF
Intro ER Concept -Transformasi ER Menjadi Tabel Contoh transformation Rule 1 (entity to table) Student sid student_name lname fname midinitial hobbies Perhatikan: Atribut hobbies tidak dipetakan menjadi kolom, karena atribut hobbies adalah atribut multivalue Atribut student_name tidak dipetakan menjadi kolom, karena merupakan atribut komposit. Yang dipetakan menjadi kolom hanya subset dari atribut student_name student sid lname fname midinitial AER – 2013/2014 Universitas Pembangunan Jaya – SIF_TIF
Intro ER Concept -Transformasi ER Menjadi Tabel Contoh transformation Rule 1 (relationship with attribute to table) Project Employee works_on percent prjid eid e_name prj_name Perhatikan: buy adalah suatu relasi yang memiliki atribut, maka buy dipetakan menjadi tabel. Kolom cid merupakan kolom yang merelasikan dan me-refer (mengacu) ke kolom cid pada tabel customer. Kolom pid merupakan kolom yang merelasikan dan me-refer (mengacu) ke kolom pid pada tabel product. employee works_on project eid e_name eid prjid percent prjid prj_name AER – 2013/2014 Universitas Pembangunan Jaya – SIF_TIF
Intro ER Concept -Transformasi ER Menjadi Tabel Transformation Rule 2: (atribut multivalue menjadi entity) Jika pada entity terdapat atribut multivalue, buatkan entity baru untuk menampung atribut multivalue (a), juga sertakan atribut primary identifier dari entity asal (p) pada entity baru tersebut. Entity baru tersebut diberi nama yang sama dengan nama atribut multivalue. Petakan entity baru tersebut menjadi tabel dengan nama yang sama dengan nama entity-nya. Kolom pada tabel merupakan representasi dari p yang diikuti dengan a secara berurutan. Primary key dari tabel ini adalah kolom p dan kolom a. Data kejadian dari entity kemudian dipetakan ke dalam tabel berupa baris (row) tabel yang sesuai pasangannya (p,a). AER – 2013/2014 Universitas Pembangunan Jaya – SIF_TIF
Intro ER Concept -Transformasi ER Menjadi Tabel Contoh transformation Rule 2 (atribut multivalue menjadi entity) Student sid student_name lname fname midinitial hobbies Student student_name lname fname midinitial Hobbies sid hobbies punya Perhatikan: Atribut hobbies merupakan atribut multivalue, sehingga atribut hobbies dibuatkan menjadi entity baru (dengan nama Hobbies) dan di hilangkan dari entoty Student. Atribut hobbies yang dihilangkan dari entity Student karena multivalue dijadikan atribut pada entity baru (entity Hobbies), tapi sudah tidak multivalue lagi. Atribut hobbies dijadikan atribut pada entity Hobbies, karena atribut ini dihilangkan dari entity Student (krn multivalue) dan atas dasar untuk menampung atribut hobbies inilah entity Hobbies dibuat. Atribut sid dijadikan atribut pada entity Hobbies, karena atribut sid merupakan identifier pada entity Student, sehingga akan menjadi relasi yang menghubungkan antara entity Hobbies dengan entity Student. Kombinasi atribut sid dan hobbies merupakan primary identifier pada entity Hobbies. hobbies student sid hobbies sid lname fname midinitial AER – 2013/2014 Universitas Pembangunan Jaya – SIF_TIF
Intro ER Concept -Table Key Suatu atribut pada entity dapat dianalogikan sebagai kolom pada tabel relasi. Setiap tabel memiliki key yang akan membuat tiap-tiap baris (row) pada tabel tersebut berbeda (unik). Berikut ini adalah tipe key dan penjelasannya: Candidate key adalah: Kolom atau satu set kolom pada suatu tabel yang nilai-nya unik (tidak terjadi duplikat atau nilai kolom tersebut pada tiap baris dalam tabel tidak boleh sama), dan kolom tersebut tidak memiliki subset. Primary key adalah: Candidate key yang ditentukan untuk menjadi referensi eksternal oleh tabel lain. Unique key adalah: Candidate key yang bukan primary key. Primary key Candidate key hobbies student sid hobbies sid lname fname midinitial Primary key AER – 2013/2014 Universitas Pembangunan Jaya – SIF_TIF
Universitas Pembangunan Jaya – SIF_TIF Tugas Buat ER Diagram untuk proses bisnis sesuai diagram proses yang diberikan berikut: AER – 2013/2014 Universitas Pembangunan Jaya – SIF_TIF
Proses Peminjaman Buku Sederhana AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF
Universitas Pembangunan Jaya – SIF_TIF Tugas Buat ER Diagram untuk proses bisnis sesuai narasi yang diberikan berikut: Bisnis Proses di Perpustakaan UNIVERSITAS XYZ Pendaftaran: Bertanya kepada petugas perpustakaan mengenai pendaftaran sebagai anggota perpustakaan. Mendaftar sebagai anggota perpustakaan. Melampirkan Foto ukuran 2 x 2 sebanyak 2 (dua) lembar. Melampirkan fotokopi KTM (Kartu Tanda Mahasiswa) sebanyak 1 (satu) lembar. Menyerahkan syarat-syarat pendaftaran kepada petugas perpustakaan. Membayar uang pendaftaran kepada petugas perpustakaan. Petugas memberitahukan kartu anggota perpustakaan jadi dalam waktu 2 hari. Keluar dari perpustakaan. AER – 2013/2014 Universitas Pembangunan Jaya – SIF_TIF
Bisnis Proses di Perpustakaan UNIVERSITAS XYZ Peminjaman: Menuju perpustakaan universitas. Mengisi buku catatan kunjungan. Bertanya kepada penjaga perpustakaan letak buku yang akan di pinjam. Memilah-milah buku dan mengambil buku yang di cari. Membawa buku kepada petugas perpustakaan. Peminjam mengisi kartu buku (yang ada disampul buku bagian belakang) menulis nama dan nomor mahasiswa. Menyerahkan semua yang telah di isi tersebut dan menunjukkan KTM/ Kartu Anggota Perpustakaan ke Petugas perpustakaan. Buku dicatat dan di cap tanggal kembali oleh petugas perpustakaan. Petugas memberikan buku yang di pinjam, beserta kartu anggota perpustakaan. Mengucapkan terima kasih kepada petugas perpustakaan. Keluar dari perpustakaan. AER – 2013/2014 Universitas Pembangunan Jaya – SIF_TIF
Bisnis Proses di Perpustakaan UNIVERSITAS XYZ Pengembalian: Mempersiapkan buku yang akan di kembalikan serta membawa kartu anggota perpustakaan dan Kartu Tanda Mahasiswa (KTM). Mendatangi perpustakaan universitas. Menuju ke petugas perpustakaan. Menyerahkan buku perpustakaan yang telah di pinjam kepada petugas serta kartu anggota perpustakaan dan Kartu Tanda Mahasiswa (KTM). Petugas perpustakaan mengecek kelengkapan buku dan jumlah buku yang pinjam. Petugas mencocokkan tanggal pengembalian dengan tanggal peminjaman. Setelah selesai melengkapi syarat pengembalian buku, petugas mengembalikankartu anggota perpustakaan dan Kartu Tanda Mahasiswa (KTM). Mengucapkan terima kasih kepada petugas perpustakaan. Keluar dari perpustakaan. (data dari: http://naelashofa.blogspot.com/2012/11/contoh-studi-kasus-apb-analisis-proses.html ) AER – 2013/2014 Universitas Pembangunan Jaya – SIF_TIF
Universitas Pembangunan Jaya – SIF_TIF See You Next Session Thank’s AER – 2013/2014 Universitas Pembangunan Jaya – SIF_TIF