POLA PENDEKATAN YANG BERBEDA Pola pendekatan yang terpisah seperti dibicarakan dalam lima bab pertama dalam buku ini adalah baik, apabila tidak terlalu banyak simbul dipakai. Berapa banyak simbul dan FD yang dianggap sebagai "terlalu banyak " adalah masalah pendapat pribadi; akan tetapi, kebanyakan orang berpendapat bahwa bila jumlah simbul yang lebih dari duapuluh, sistim terpisah-pisah akan menjadi agak susah. Dalam hal sepeni ini, di mana jumlah simbul akan menyulitkan dipakainya sistem terpisah-pisah , harns dipikirkan pola-pola sistem yang lain. Pola sistem yang dapat dipakai dalam hal ini adalah "Entity Relationship Method" (sistem kesatuan hubungan). sistem ini berbeda di mana FD akan terlibat hanya pada akhir pemrosesan daripada permulaan.
6. 1
KESATUAN-KESATUAN HUBUNGAN
DAN
HUBUNGAN-
Untuk mendapatkan suatu perasaan bagaimana sistem itu bekerja, suatu contoh yang khusus akan diselidiki. Ambillah bahan suatu database dirancang untuk menyimpan keterangan atau informasi mengenai anggota-anggota fakultas suatu universitas danjurusan -jurusan yang mereka ajarkan. Dua objek utama, atau kesatuan-kesatuan yang penting di sini adalah Fakultas (faculty) dan jurusan (course). 56
Kedua kesatuan ini berhubungan satu sarnalain, atau bersekutu, dengan perkembangan kata ajarkan (teach), dengan demikian kita katakan : FACULTY TEACH COURSE (Falkutas Ajarkan Jurusan) Hubungan TEACH yang berada antaraduakesatuan FACULTY dan COURSEdapat dilukiskan dengan gambar melalui banyak cara, tetapi di sini hanya dibicarakan dua saja. Gambar 6.1 memperlihatkan dipakainya suatu ER occlirrance diagram dengan suatu contoh memperlihatkan anggota falkutas mana persisnya mengajarkan (TEACH) jurusan yang mana. Dalam contoh ini, tiap anggota falkutas di-identifikasikan dengan nomor falkutas (FNO), dan tiap jurusan (Course) di-indentifikasikan dengan nomor jurusan (CNO). Gambar 6.2 disebut ER type diagram dengan menyimpan keterangan/informasi umum yang sarna seperti terdapat dalam gambar 6.1. Sekalipun tidak mungkin tidak jelas pada saat ini, gambar 6.2 mencakup semua keterangan yang diperlukan untuk mencapai/menghasilkan pola perhubungan tingkat pertama untuk database. Sebelum melanjutkan, beberapa terminologi yang dipakai perlu dijelaskan. Sayang, beberapa istilah yang dipakai dengan sistem ER hanya dapat ditentukan secara garis besarnya, tetapi mereka harus ditentukan. ENTITY ( KESATUAN ) : suatu kesatuan dapat merupakan sebagai suatu benda yang penting untuk perusahaan. Benda ini harus memiliki kejadian-kejadian yang dapat di-identifikasi secara khusus antara yang satu dengan yang lain. Yang hanya dapat menentukan untuk membantu dalam mendapatkan kesatuan-kesatuan adalah suatu kesatuan yang biasanya merupakan nama benda. Contoh-contoh kesatuan-kesatuan adalah mesin-mesin, rekening bank, karyawan, sekolah-sekolah dan perjanjian-perjanjian. Dalam gambar 6.1 dan 6.2, kesatuan-kesatuan adalah COURSE dan FACULTY, sedang kejadian-kejadian individual dari tiap kesatuan diindentifikasi masing-masing dengan nomor jurusan (course number) dan nomor fakultas (faculty number). FACULTY
TEACH
COURSE
FI
CIS I30
F2 0
o MTH234 PHYI09
F3 F4 0--
--0
HRD348
Gambar 6.1 sebuah contoh untuk diagram ER occurrance.
COURSE ~... Gambar 6.2 sebuah contoh untuk diagram type ER 57
RELATIONSHIP ( HUBUNGAN): Suatu hubungan adalah suatu assosiasi atau perhubungan antara dua atau lebih kesatuan. Bantuan utama dalam mendapatkan hubungan adalah memahami bahwa hubungan biasanya merupakan suatu kata kerja. Contoh yang khas dari hubungan antara dua kesatuan adalah Employees work for departements, student STUDY subjects dan workers maintain machInes. Ikatan dalam konsep suatu kesatuan dan hubungan adalah konsep ketiga yang penting, yaitu yang dinamakan attribute (simbul). ATTRmUTE ( SIMBUL ): Simbul merupakan suatu pemilikan dari su~tu kesatuan. Umpama, simbul-simbul yang dapat menjadi milik dari kesatuan jurusan ( entity course) adalah course number, section number, rubric, trem _ in _ which _ offered, enrollment (pendaftaran pegawai) dan prerequisite (syarat mutlak). Definisi-definisi untuk kesatuan, hubungan dan simbol tidak terlalu spesifik, tetapi cukup baik untuk dipergunakan melalui cara yang diperuntukkan bagi mereka. Satu fakta yang membingungkan, dengah menghargai sistim ER, adalah bahwa dua perancang dapatmelihat dua masalah yang sarna dari sudut pandangan yang lain, dan menghasilkan beberapa kesatuan dan hubungan yang berbeda. Untuk menentukan mana dari dua yang dua adalah paling baik, adalah melalui pilihan yang ketal. Untuk menggambarkan lebih lanjut bentuk-bentuk dari grafik penunjuk, harap dicatat bahwa dalam ER OCCUITance diagram (gambar 6.1) tiap kesatuan disebut dengan huruf besar diatas entity OCCUITances, sedangkan tiap entity OCCUITance diidentifikasi dengan simbol. Jadi COURSE (jurusan) adalah kesatuan dan CIS 130 adalah entity OCCUITance yang spesifik. Hubungan juga disebut dan berhuruf besar diatas relationship OCCUITances, masing-masing relationship OCCUITance diberikan garis antara kedua entity OCCUITances yang ada hubungannya. Relationship occurranees yang ada antara CIS 130dan F3, umpama,berarti bahwa anggota fakultas yang nomor fakultasnya adalah F3 mengajari jurusan dengan nomor jurusan .CIS130. Oalam beberapa hal dapat diambil suatu susunan/kelompok simbol-simbol untuk diidentifikasikan tiap entity occuITapce. Simbol itu, atau kelompok simbol yang dipakai untuk mengidentifikasikan suatu entity OCCUITance dinamakan entity key (kunci kesatuan). Tiap relationship OCCUITance dapat dibedakan dengan mempergunakan kelompok entity key yang ada hubungannya. Jadi, (F3, CIS 130) adalah satu relationship key. Pada titik ini dalam proses perencanaan, simbol-simbol yang dibutuhkan hanyalah yang terpaut dengannya, akan ditambah kemudian dalam proses perencanaan. Oalam ER type diagram, seperti gambar 6.2, kesatuan-kesatuan diidentifikasi dengan bentuk segi empat panjang, sedangkan hubungan diidentifikasi dengan bentuk berlian. Oi bawah tiap kesatuan ditempatkan simbol, atau kelompok simbol, yang merupakan entity key untuk kesatuan. Angka" 1" yang timbul dalam ER type diagram seperti dalam gambar 6.2, demikian juga titik bundar, akan dibicarakan dalam bagian berikutnya. Oalam kebanyakan hal, ER type diagram dipakai untuk menentukan kelompok hubungan untuk database yang dibuat, daripada OCCUITance diagfam. . 58
6. 2
TINGKAT DARI SUATU HUBUNGAN
Aspek yang penting dari suatu hubungan antara dua atau lebih kesatuan adalah "Tingkat dari suatu hubungan" (degress of relationship). Konsep ini akan dikembangkan melalui perluasan data sepeni tenera dalam gambar 6.1. Gambar 6.3 memperlihatkan semua kemungkinan bentuk dari ER occurrance diagrams yang terdapat antara kesatuan-kesatuan FACULTY (fakultas) dan COURSE (jurusan), bila tingkat hubungan adalah I: I. Tiap diagram mewakili suatu kelompok aturanaturan yang memungkinkan tapi berbeda di bawah nama perusahaan (dalam hal universitas) itu beroperasi. Hanya satu dari occurrance diagrams yang dapat dipakai oleh perusahaan pada suatu waktu tenentu. Kelompok aturan yang disimpan untuk bennacam-macam diagram seperti dalam gambar 6.3 yang benar adalah sebagai berikut : Gambar 6.3 (a): tiap anggota fakultas akan mengajari tidak lebih dari satu jurusan, dan tiap jurusan akan diajari oleh tidak lebih dari satu anggota fakultas. (Kesimpulan yang spesifik disini adalah bahwa mungkin ada fakultas yang tidak mengajari suatujurusan, dan bisa adajurusan yang tidak diajari oleh anggota fakultas. 01eh karena itu, tidak ada anggota fakultas yang akan mengajari lebih dari satu jurusan, dan tidak adajurusan yang akan diajari oleh lebih dari satu anggota fakultas). Gambar 6.3 (b): Tiap anggota fakultas hanya mengajari satu jurusan, dan tiap jurusan akan diajari oleh tidak lebih dari satu anggota fakultas. Gambar 6.3 (c): Tiap anggota fakultas akan mengajari tidak lebih dari satu jurusan, dan tiap jurusan diajari hanya oleh satu anggota fakultas. Gambar 6.3 (d): Tiap anggota fakultas hanya mengajari satu jurusan, dan tiap jurusan hanya diajari oleh satu anggota fakultas. Sejak tiap entity occurrance di sisi manapun dari diagram berhubungan dengan, paling banyak, satu entity occurrance yang berhadapan pada sisi dari diagram, tiap occurrance diagram dalam gambar 6.3 dianggap mempunyai tingkat I: 1. Beda antara macam-macam diagram dalam gambar berhubungan dengan keadaan dimana tiap entity occurrance harus berpanisipasi dalam hubungan atau tidak. Dalam gabar 6.3 (a), tidak semua entity occurrances dari suatu kesatuan yang harus berpanisipasi dalam hubungan. FACULTY
TEACH
FI
COURSE CIS130
F20
o MTH234
F3 F4
PHY109 HRD348
Gambar 6.3 (a)
59
TEACH
FACULTY
COURSE
FI
CIS 130
F2
MTH234
F3
PHYl09 HRD348 Gambar
6.3 (b)
TEACH
FACULTY
COURSE
FI
CIS 130
F2
MTH234
F3
PHY109
F40 Gambar
FACULTY
6.3 (c)
TEACH
COURSE
FI
CIS130
F2
MTH234
F3
PHY 109
F4
HRD348
(d) Tingkat
1 : 1 dengan kedua isi keanggotaan
obligatory.
Gambar 6. 3 Macam-macam kelas keanggotaan dengan tingkat 1 : 1 Dalam gambar 6.3 (b), tiap faculty occurrance harus berpartisipasi, sedangkan sebagian course hams berpartisipasi. Dalam gambar 6.3 (c), tiap course occurrance hams berpartisipasi, sedangkan sebagian faculty occurrance tidak perlu berpartisipasi. Dalam gambar 6.3 (d), semua entity occurrance dari kedua macam kesatuan harus berpartisipasi dalam hubungan sebagai berikut : FACULTY
COURSE
fno, ..
cno, .. (a)
FACULTY
COURSE
fnQ,..
cno,.. (b)
60
FACULTY
COURSE
Cno, ..
cno,.. (c)
FACULTY I 1
COURSE
Cno, ..
cno,.. (d)
Gambar 6. 4 Type diagram yang berhubungan dengan diagram menurut kejadian diagram dalam gambar 6. 3 Gambar 6.4 memperlihatkan bagaimana .informasi dari gambar 6.3 dapat ditempatkan dalam bentuk yang lebih ringkas. Bila kejadian-kejadian ( occurrances) dari satu kesatuan yang diberikan harus berpartisipasi dalam hubungan, partisipasi itu disebut sebagai berkewajiban ( obligatory ), dan fakta ini dicatat dengan menempatkan suatu titik bundar kecil dalam kotak kesatuan tersebut. Bila kejadiankejadian dari satu kesatuan yang diberikan tidak perlu berpartisipasi dalam hubungan, berpartisipasi dalam hubungan, partisipasi itu disebut "tidak berkewajiban" ( non obligatori ), dan titik bundar kecil tidak dimasukan dalam kotak kecil. Kelas keanggotaan ( membership class) dari satu kesatuan harus berkewajiban atau tidak berkewajiban, dan ditentukan oleh aturan-aturan di bawah perusahaan beroperasi. Sejak "1" tampak pada kedua sisi dari hubungan seperti dalam gambar 6.4, malcaini berarti bahwa tingkat dari hubungan semuanya 1:1.Tingkat-tingkat lain dari pada 1:1 mungkin saja, yang akan dibicarakan lebih lanjut dalam bagian ini. Dalam ER type diagram, kunci kesatuan ( entity key) untuk tiap kesatuan di bawah dan digaris bawahi, secepatnya di bawah tiap kotak kesatuan: fno ( faculty number) untuk FACULTY, dan cno (course number) untuk COURSE. Titik yang di depan setiap simbul ditempatkan disana untuk menunjukkan bahwa, sekalipun simbol-simbol lainikut terpaut dengan kesatuan yang khusus itu, tidak satu dari simbol-simbol tambahan itu termasuk bagian dari entity key. Simbol-simbollain ini akan ditambah kemudian, bila hubungan-hubungan telah dikembangkan. Peraturan-peraturan perusahaan untuk mengembangkan diagram-diagram dalam gambar 6.1 sid gambar6.4, semuanya tidak mempunyai anggota fakultas yang mengajar lebih dari satu jurusan, dan tidak ada jurusan yang diajari oleh lebih dari satu anggota fakultas. Dalam kebanyakan universitas pengaturan-pengaturan seperti ini tidak dilakukan. Ada aturan-aturan lain yang dipakai oleh banyak universitas. CASE 1: Tiap anggota fakultas boleh mengajar berbagai jurusan, tetapi tiap jurusan diajari, paling banyak oleh satu anggota fakultas.
61
CASE 2: Tiap anggota fakultas mengajari, paling banyak satujurusan, tetapi tiap jurusan boleh diajari oleh berbagai anggota fakultas. CASE 3: Tiap anggota fakultas boleh mengaj'lri berbagai jurusan dan tiap jurusan boleh diajari oleh berbagai anggota fakultas. Tiap kasus ( case) mempunyai beberapa variasi: umpama, kelas keanggotaan ( membership class) dapat sebagai berkewajiban dan tidak berkewajiban, baik untuk kesatuan atau bukan kesatuan, atau untuk kedua kesatuan. Bentuk-bentuk yang mungkin untuk setiap kasus akan dipelajari pada waktunya. Nampaknya kasus 1dan kasus 2 ada persamaam bentuk. Gambar 6.5 memperlihatkan berbagai occurrance diagram yang berhubungan dengan CASE 1, sedangkan gambar 6.6 memperlihat type diagram-diagram yang sarna. Dalam bagian-bagian (a), kelas keanggotaan dari tiap sisi bukanlah berkewajiban. Di dalam bagian-bagian (b) dan (c) satu sisi dari kelas keanggotaan yang berkewajiban. Dalam bagian (d) kedua sisi dari kelas keanggotaan yang berkewajiban. Dalam tiap bagian, tingkat dari hubungan ditentukan l:n ( 1 berbanding n ), karena tiap course occurrance diikat ke, paling banyak, satu faculty occurrance dapat diikat pada lebih dari satu course occurrance ( yang diberikan n ). FACULTY FI 0 F2 F3 F4 0 F5 F6 F7
TEACH
COURSE CSI130 MTH234 PHY 109 HRD348
o MUS333 MTH257 PHY456
(a) Degree 1 : n with neither entity's membership obligatory FACULTY FI F2 F3 F4
TEACH
COURSE CSIl30 t-1TH234 PHYI09 HRD348
o MUS333 MTH257 PHY456 (b) Degree 1: n with the FACULTY entily's membership obligatory.
62
FACULTY Fl F2 F3 F4 0 F5 F6 0 F7 0
TEACH
COURSE CSIl30 MTH234 PHYI09 HRD348 MUS333 MTH257 o PHY456
(c) Degree 1 : n with the COURSE entity's membership obligatory. FACULTY Fl F2 F3 F4
TEACH
COURSE CSI130 MTH234 PHYI09 HRD348 MUS333 MTH257 PHY456
(d) Degree 1 : n wilh bolh emily's membership obligalory.
Gambar
6. 5 Contoh dari ER kejadian diagram ketika tingkat hubungannya adalah 1 :r.
(d)
Gambar 6. 6 Diagram tipe ER berhubungan dengan kejadian ER dalam gambar 6. 5 Gambar 6.7 memperlihatkan berbagai occurrance diagrams yang berhubungan dengan CASE 2, sedangkan gambar 6.8 memperlihatkan type diagrams yang sarna. Dalam bagian (a), kelas keanggotaan dari tiap sisi berkewajiban. Dalam bagian (b) dan (c), hanya satu sisi dari kelas keanggotaan yang berkewajiban. Dalam masingmasing bagian, tingkat dari hubungan ditentukan n: I (n berbanding 1), karena tiap course occurrance dapat diikat pada lebih dari satu faculty occurance diikat pada paling banyak satu course occurrance (yang diberi 1). Gambar 6.9 memperlihatkan berbagai occurrance diagrams yang berhubungan dengan CASE 3, sedangkan gambar 6.10 memperlihatkan type diagram yang sarna. Dalam bagian (a), kedua sisi dari kelas keanggotaan bukanlah berkewajiban. Dalam bagian (b) dan (c) hanya satu sisi yang berkewajiban. Dalam bagian (d) kedua sisi dari kelas keanggotaan berkewajiban. Dalam tiap bagian t:ngkat dari hubungan ditentukan m:n, karena tiap course occurrance dapat diikat pada lebih dari satu faculty occurrance ( yang diberi m ), dan tiap faculty occurrance dapat diikat pada lebih dari satu occurrance (yang diberi n).
6.3
TANGGAPAN
ATAS PEMBUATAN
GRAFIK
Tidak ada satu bentuk, yang diterima secara umum, dalam pembuatan grafik yang dipakai dalam sistem ER. Sekalipun sistem-sistem yang dikeluarkan oleh berbagai penulis adalah sarna sifatnya, tetapi tidak berbeda dari satu dengan yang lain dalam arti kata kecil maupun besamya. Pembuatan grafik dan terminologi yang diberikan di sini mengikuti pendapat Howe. Suatu standart pembuatan yang baik dipakai oleh Ullman, sedangkan pendekatan yang lebih rumit, dengan memakai semantic nets, dikemukakan oleh Hawryszkiewycz. Pembaca dipaha untuk mencari sistem':sistem lain, dan memakai yang paling baik. Dirasakan sistem yang diberikan di sini adalah langsung dan mudah dipakai.
64
FACULTY
TEACH
Fl F2 F3 F4 F5 F6 0 F7
o o o o
COURSE CSI130 MTH234 PHYI09 HRD348 MUS333 MTH257 PHY456
(a) Degree n : 1 with neither entity's membership obligatory. FACULTY FI F2 F3 F4 F5 F6 F7
TEACH
COURSE CSI130 o MTH234 PHYI09 HRD348 MUS333
(b) Degree n : 1 with the FACULTY entity's membership obligatory. FACULTY Fl F2 F3 F4 F5 F6 F7 0
TEACH
COURSE CSI130 MTH234 PHY 109 HRD348
(c) Degree n : 1 with the COURSE entity's membership obligatory. FACULTY FI F2 F3 F4 F5 F6 F7
TEACH
COURSE CSI130 MTH234 PHYI09 HRD348
(d) Degree n : 1 with both entity's membership obligatory
Gambar 6. 7 65
Cd)
Gambar 6. 8
6. 4
SOAL-SOAL UNTUK BAB 6
1. Gambarkan diagram-diagram entity oeeurranee yang khas untuk tiap keadaan seperti berikut ini. Catat perkiraan-perkiraan yang diperoleh untuk masingmasing kasus. a). Seorang penjual rantai ingin menyimpan keterangan untuk tiap-tiap toko dan penjual dari siapa tiap toko membeli barangnya. Tiap toko membeli barang dari berbagai penjual dan setiap penjual menyerahkan barang kepada berbagai toko. b). Suatu Biro Jasa Pengecatan rumah ingin mengawasi sejumlah orang pengeeat dan rumah yang sedang diear oleh tiap orang pengeeat. Tiap orang pengeeat, mengecat hanya satu rumah untuk waktu tertentu, tetapi berapa orang pengeeat dapat inengeeat satu rumah. Beberapa pengeeat dapat saja tidak bekerja. Hanya rumah-rumah yang dieat dapat dipertimbangakan.
66
FACULTY Fl F2 F3 F4 F5 F6 0 F7 0
TEACH
COURSE CSIl30
o MTH234 PHY109 HRD348 MUS333 o MTH257 o PHY456
(a) Degree m : n with neither entity's membership obligatory. FACULTY Fl F2 F3 F4
TEACH
COURSE C~130 MTH234 PHYI09 HRD348
F5
.
F6 F7 0
MUS333
0 MTH257 0 PHY456
(b) Degree m : n with the FACULTY entity's membership obligatory. FACULTY Fl F2 0 F3 F4 F5 F6 F7
TEACH
COURSE CSIl30 MTH234 PHYI09 HRD348 MUS333 MTH257 PHY456
(c) Degree m : n with the COURSE entity's membership obligatory. FACULTY Fl F2 F3 F4 F5 F6 F7
TEACH
COURSE CSI130 MTH234 PHYI09 HRD348 MUS333 MTH257 PHY456
(d) Degree m : n with both entity's membership obligatory.
Gambar 6.9 Contoh-contoh diagram pemunculan ER ketika tingkatan dari hubungan adalah m : n 67
c). Suatu bengkel mobil mempunyai montir-montir yang sedang memperbaiki mobil-mobil. Setiap montir memperbaiki beberapa mobil, tetapi tiap mobil hanya dikerjakan oleh satu montir. 2. Gambarkan ER type diagram untuk tiap occurrance diagram dari soal nomor I. Perhatikan entity key dalam tiap gambar.
(d)
Gambar 6. 10
68
Tipe diagram ER yang berhubungan dengan diagram pemunculan dalam gambar 6. 9