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
NPM*
Buatlah ERDberikut: 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
Alamat_dos
1
Kd_dos
Kd_dos
Dosen
Dipimpin
1
Nama_dos
Mengepalai
Kd_jur
Rektor
Kd_jur
1
Jurusan 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
Alamat_dos
M
Kd_dos
Kd_dos
Dosen
Memimpin
1
Nama_dos
Mengajar
Kd_jur
Anak
Kd_jur
M
Kuliah 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
Mahasiswa Alamat_mhs
M
Nama_mhs
Mengambil
Kd_kul
Kd_kul
M
Kuliah Nama_kul
Kd_plg
Kd_plg
Pelanggan Alamat_plg
M
Nama_plg
Membeli
Kd_brg
Kd_brg
M
Barang 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
Mahasiswa Alamat_mhs
M
Nama_mhs
Mengajar
Kd_kul
Kd_kul
M
Kuliah 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
mahasiswa
(0,M)
belajar
(0,M)
kuliah
(0,M)
mengajar
(1,1)
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
mahasiswa
Notasi
Derajat Relasi Minimum-Maksimum
Atau
( 0,N )
Atau
( 1,N ) / ( N,N )
Atau
( 1,1 )
Atau
( 0,1 )
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 MAHASISWA
nama
nim
Tgl_lhr
(0,N)
ambil
Nama KdMK
nip
(0,N) ajar
MATAKULIAH
(0,N)
SKS
alamat DOSEN
Gelar
(1,1)
semester Nama_mk 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