Pertemuan 9 By. Rita Wiryasaputra, ST., M. Cs.
Tugas 8/11/2016 Definisi Stored Procedure Fungsi stored procedure Contoh stored procedure
Tugas 8/11/2016 Perhatikan gambar, Buat ERD dari kasus pembangunan database Kontraktor
Perhatikan Gambar berikut: Mahasiswa NPM* Nama_mhs Alamat_mhs Tgl_lahir 2002240001 Yessy Jl. Kancil 19 15 mei 1983 2002240002 Martin Jl. Gajah 35 22 Juli 1983 2002240003 Cathy Jl. Merpati 46 14 Februari 1983 2002240004 Steven Jl. Elang 75 11 April 1983 NPM* Nama_mhs Mahasiswa Alamat_mhs Tgl_lahir
Tugas 8/11/2016 Jelaskan tentang Weak Entity Tentukan domain dari atribut Nama_mhs dari gambar tersebut Tentukan instance dari entitas dari gambar tersebut
Mahasiswa Buatlah ERDberikut: NPM* Nama_mhs Alamat_mhs Tgl_lahir 2002240001 Yessy Jl. Kancil 19 15 mei 1983 2002240002 Martin Jl. Gajah 35 22 Juli 1983 2002240003 Cathy Jl. Merpati 46 14 Februari 1983 2002240004 Steven Jl. Elang 75 11 April 1983 Kuliah Kode_kul* Nama_kul Sks SD-110 Struktur Data 4 BD-210 Basis Data 4 KD-410 Komunikasi Data 2 MD-315 Matematika Diskrit 4
Buatlah diagram ER untuk kasus pembangunan Database Kontraktor Sebuah perusahaan memiliki beberapa departemen. Setiap departemen dikepalai oleh seorang manajer dan Departemen setidaknya memiliki satu atau lebih pegawai. Perusahaan ini memiliki pegawai tetap dan pegawai harian untuk menangani dan menyelesaikan beberapa proyek. Satu pegawai bekerja hanya di satu departemen. seorang pegawai bisa mengerjakan beberapa proyek sesuai dengan penugasan, kecuali pegawai yang sedang cuti tidak mengerjakan satupun proyek. Tanggal pegawai mulai bekerja pada satu proyek juga harus dimasukkan. Satu proyek minimal melibatkan satu pegawai. 7
Data keluarga pegawai juga dimasukkan untuk keperluan tertentu. Data tersebut : nama, status. Dengan ketentuan : satu pegawai bisa memiliki Nol atau lebih keluarga, dan satu keluarga hanya memiliki satu anggota keluarga yang bekerja sebagai pegawai. Beberapa data penting yang dibutuhkan adalah nama departemen, nama dan lokasi proyek, nama manajer dan daftar pegawai. 8
Beberapa hal yang ditemukan : Penggabungan entitas Manajer dengan Pegawai, karena : Manajer juga termasuk pegawai Entitas Pegawai dengan Manajer memiliki jenis/tipe atribut yang sama. Entitas Pegawai dengan Manajer sama-sama memiliki relasi dengan entitas Departemen. 9
Pada data Pegawai tetap : Memiliki NIP Memiliki data keluarga (OrTu Suami Istri Anak) Pada data pegawai kontrak : Tidak memiliki NIP Ada masa kontrak, merupakan atribut komposit, masih dapat diuraikan lagi menjadi tanggal_mulai_kontrak dan tanggal_akhir_kontrak Ada nilai kontrak Dekomposisi entitas Pegawai menjadi dua, yaitu : Pegawai tetap dan Pegawai Kontrak. 10
Kardinalitas/Derajat relasi Kardinalitas relasi menunjukkan hubungan maksimal yang terjadi dari himpunan entitas yang satu ke himpunan entitas yang lain dan begitu pula sebaliknya. Diagram ER juga menunjukkan tingkat hubungan yang terjadi antar entitas dimana dibagi menjadi 3 tingkat yaitu ; one to one, one to many, many to many Contoh: entitas buku, distributor, pengarang Satu pengarang dapat menulis banyak buku Satu buku ditulis satu pengarang Banyak buku didistribusikan oleh satu distributor
Kardinalitas One to One Kasus: Pelajaran privat, dimana satu guru mengajar satu siswa Business Rule: Satu siswa hanya diajar oleh satu guru Contoh lain hubungan kardinalitas one to one adalah Nomor pegawai dengan nomor ktp
A. ERD menurut Chen One to one ( 1 : 1 ) contoh : Universitas 1 1 Dipimpin Rektor Kd_dos Dosen Kd_dos 1 1 Mengepalai Kd_jur Jurusan Alamat_dos Nama_dos Kd_jur Nama_jur
Kardinalitas one to many Kasus: Sistem Pengajaran di Sekolah Dasar Business Rule: Satu guru mengajar banyak siswa Siswa hanya diajar oleh satu guru
One to many ( 1 : M atau 1 : N ) contoh : Bapak 1 M Memimpin Anak Kd_dos Dosen Kd_dos 1 M Mengajar Kd_jur Kuliah Alamat_dos Nama_dos Kd_jur Nama_jur
Kardinalitas many to many Kasus: Sistem pengajaran di perguruan tinggi dimana satu dosen mengajar banyak mahasiswa Business Rule: Satu mahasiswa diajar oleh banyak dosen Dosen mengajar banyak mahasiswa
Many to many ( M : M atau N : N ) contoh : NPM NPM Kd_kul Mahasiswa M Mengambil M Kuliah Alamat_mhs Nama_mhs Kd_kul Nama_kul
Kd_plg Kd_plg Kd_brg Pelanggan M Membeli M Barang Alamat_plg Nama_plg Kd_brg Nama_brg
III. Tahapan Pembuatan Diagram E-R Langkah-langkah teknis yang diambil dalam menghasilkan ERD : 1. Mengidentifikasi dan menetapkan seluruh himpunan entitas yang akan terlibat. 2. Menentukan atribut-atribut key dari masing-masing himpunan entitas. 3. Mengidentifikasi dan menetapkan seluruh himpunan relasi diantara himpunan entitas yang ada beserta foreign key. 4. Menentukan derajat / kardinalitas relasi untuk setiap himpunan relasi. 5. Melengkapi himpunan entitas dan himpunan relasi dengan atribut-atribut deskriptif (non key)
Kamus Data Kamus data adalah suatu aplikasi khusus dari jenis kamus-kamus yang digunakan sebagai referensi kehidupan setiap hari. Kamus data merupakan hasil referensi data mengenai data (metadata) suatu data yang disusun oleh penganalisis sistem untuk membimbing mereka selama melakukan analisis dan desain. Sebagai suatu dokumen, kamus data kamus data mengumpulkan dan mengkoordinasi istilah-istilah data tertentu, dan menjelaskan apa arti setiap istilah yang ada. Kamus data menjelaskan desain logika sebagai basis yang diperlukan untuk menetapkan sistem yang akan dibuat. Jadi kamus data menjelaskan secara rinci atribut yang ada pada tabel secara logika.
Perhatikan Diagram ER berikut: NIM NIM Kd_kul Mahasiswa M Mengajar M Kuliah Alamat_mhs Nama_mhs Kd_kul Nama_kul Dari diagram ER diatas dapat diambil contoh entitas Mahasiswa Dengan atribut NIM, Nama_Mhs dan Alamat_Mhs yang akan dibuat kamus datanya.
Tabel Mahasiswa No Nama Field Tipe Panjang Keterangan 1. NIM Karakter 10 Nomor Induk Mahasiswa 2. Nama_Mhs Karakter 50 Nama Mahasiswa 3. Alamat_Mhs Karakter 50 Alamat Mahasiswa Desain Outputnya : NIM Nama_Mhs Alamat_Mhs xxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx xxxxxxxxxx
(0,M) (0,M) (0,M) (1,1) mahasiswa belajar kuliah mengajar dosen Pemahaman diagram ER diatas adalah : Seorang mahasiswa dapat mempelajari banyak matakuliah sekaligus, tapi boleh juga tidak (belum) mempelajari matakuliah satu pun. Setiap matakuliah dapat diikuti oleh banyak mahasiswa, tapi bisa saja ada matakuliah yang tidak (belum pernah) diikuti oleh satu pun mhs.
Seorang dosen bisa mengajar banyak matakuliah sekaligus, tetapi bisa terjadi ada dosen yang tidak (belum diperbolehkan) mengajar satu matakuliah pun. Setiap matakuliah hanya boleh diajarkan oleh seorang dosen dan tidak boleh ada matakuliah yang belum ditentukan siapa dosennya.
Diagram ER dengan menurut James Martin Notasi Derajat Relasi Minimum-Maksimum Atau ( 0,N ) Atau ( 1,N ) / ( N,N ) Atau ( 1,1 ) Atau ( 0,1 ) mahasiswa belajar kuliah mengajar dosen
Terkadang, notasi untuk relasi-relasi yang bukan banyak-ke-banyak (many to many) ditiadakan dari diagram ER. Seperti relasi mengajar ditiadakan, karena hanya mewakili relasi dengan derajat one to many mahasiswa belajar kuliah mengajar dosen
CONTOH nama MAHASISWA (0,N) nim Tgl_lhr ambil Nama (0,N) KdMK nip alamat MATAKULIAH SKS semester Nama_mk (0,N) ajar (1,1) DOSEN Gelar 27
Seorang Mahasiswa boleh mengambil banyak matakuliah sekaligus, demikian pula sebaliknya. Tetapi boleh juga seorang mahasiswa tidak mengambil matakuliah satupun (karena cuti misalnya). Sehingga derajat minimum 0 terjadi pada entitas mahasiswa. Satu atau beberapa matakuliah bisa di ambil oleh banyak mahasiswa, dan dapat pula terjadi sebuah matakuliah tidak diikuti oleh mahasiswa manapun (misalnya, karena merupakan matakuliah pilihan), sehingga derajat relasi minimum 0 terjadi pada entitas matakuliah. 28
Seorang dosen boleh mengajar banyak matakuliah sekaligus, tetapi bisa juga belum/tidak mengajar satu matakuliahpun. Derajat relasi minimum 0 pada entitas matakuliah. Setiap matakuliah hanya boleh di ajarkan oleh seorang dosen dan tidak boleh ada matakuliah yang belum/tidak di tentukan siapa dosennya. Derajat relasi minimum 1 pada entitas dosen. 29
Tahap Optimasi ER-Diagram (Final Design) Melakukan koreksi terhadap hasil tahap pertama: Melakukan dekomposisi entitas, Penggabungan entitas, Pengubahan derajat relasi, Penambahan relasi baru, dan Perubahan atribut. 30
Bagaimana melakukan koreksi? Kembali melihat sumber-sumber informasi : Form, Report, Hasil interview dengan user dan pemilik sistem. Data dan informasi yang dikumpulkan (Requirement) Dan lain lain. Memastikan bahwa semua struktur dalam ERD yang telah dibuat telah memenuhi kebutuhan (requirement) sistem. 31