Title: Modul 5 CSDP Step 6
1Modul 5CSDP Step 6
- Dosen Wimmie Handiwidjojo, MIT.
- Email whanz_at_ukdw.ac.id
2CSDP 6 value dan subtype Batasan Nilai dan
Entitas Malas
Ambillah contoh kita sedang memodelkan hasil
perolehan medali dari pertandingan olimpiade yang
diselenggrakan di Seoul, Korea 1988. Ada tiga
macam medali yang dipertandingkan yaitu emas,
perak dan tembaga yang disingkat G, S, dan
B. Batasannya di notasikan diskema dengan
mendaftar semua himpunan yang mungkin G, S,
B disamping tipe entitas MedalKind. Kita
menyebutnya sebagai value constraint (batasan
nilai) karena menunjukkan semua nilai yang
mungkin dari tipe nilai secara jelas pada skema.
Lihat skema berikut.
3CSDP 6 value dan subtype Batasan Nilai dan
Entitas Malas (2)
4CSDP 6 value dan subtype Batasan Nilai dan
Entitas Malas (3)
Mendaftar semua kemungkinan nilai dalam skema
untuk beberapa nilai tidaklah soal, tetapi jika
ada banyak nilai maka penulisannya menjadi tidak
praktis. Sebagai contoh pada olimpiade 1988
diperebutkan 237 cabang olahraga maka ada 237
medali baik emas, perak dan perunggu yang
diperebut-kan. Dengan demikian kita mendapatkan
bahwa nilai tertinggi adalah 237, berapakah nilai
terrendahnya?. Jika kita ingin menyimpan dalam
database negara yang tidak mendapatkan medali
apa-2 dengan nilai 0 maka kita harus mencantumkan
nilai 0, tetapi dalam konsep database kita
berusaha untuk meminimalkan ukuran dari database.
Jadi yang ingin kita catat hanyalah negara yang
sungguh-2 memperoleh medali. Maka nilai minimal
yang kita tetapkan adalah 1.
5CSDP 6 value dan subtype Batasan Nilai dan
Entitas Malas (4)
Karena kita mencatat nilai yang kontinu dari
1,2,3 dst sampai dengan 237, maka kita cukup
menulisnya dengan 1..237 dimaana .. berarti
ada bilangan bulat (integer) diantaranya. Kita
juga dapat menuliskan pola format dari suatu tipe
fakta. Dalam skema diatas untuk negara tertulis
a20 yang artinya setiap nama negara adalah
suatu karakter string dengan panjang maksimal 20
karakter. Konvensi format penulisan menyaatakan
bahwa c menandakan suatu karakter, a satu
huruf, dan d satu digit (09). Huruf n
sebelum/sesudah salah satu dari tanda diatas
berarti tepat/paling besar n kejadian.
6CSDP 6 value dan subtype Batasan Nilai dan
Entitas Malas (5)
Sebagi contoh kode matakuliah CS114 formatnya
dapat ditulis sebagai (aaddd) atau (2a3d). Simbol
- berarti tanda atau -, sedang . adalah
untuk tanda titik desimal. Untuk komponen
optional diletakkan pada kurung persegi .
Perhatikan contoh berikut c20 suatu string
dengan panjang maksimum 20 karakter 20c suatu
string panjangnya tepat 20 kaarakter a15 suatu
string dengan panjang maksimum 15
huruf d6.2d) maksimal 6 digit, diikuti dengan
titik desimal 2 digit dddaaa 3 digit diikuti
oleh 3 huruf 3d3a) sama dengan
diatas -d3 tanda dan - optional, diikuti
oleh maks 3 digit
7CSDP 6 value dan subtype Batasan Nilai dan
Entitas Malas (6)
Kita tahu tidak semua negara di dunia dapat
mengikuti pertandingan olimpiade. Andaikan kita
mendaftar semua negara didunia agar jika
sewaktu-waktu diperlukan sudah ada datanya dengan
mengabaikan ukuran database. Negara-2 yang ada
namun tidak berkompetisi dalam pertandingan
olimpiade disebut sebagai entitas malas karena
kita tidak dapat menambahkan suatu predikat yang
berperan sebagai bukan negara yang berkompetisi
dalam skema diagram. Entitas malas diletakkan
disaamping entitas yang sebenarnya. Lihat diagram
berikut
8CSDP 6 value dan subtype Batasan Nilai dan
Entitas Malas (7)
9CSDP 6 value dan subtype Batasan-2 untuk
subset, equality
Perhatikan tabel berikut
Tabel diatas berisi daftar keanggotaan dari suatu
klub kebugaran. Aturan main dari klub ini adalah
seorang anggota dapat bermain satu jenis
permainan raket dengan membayar uang ekstra dan
mendapat kesempatan untuk memesan hari dan waktu
untuk mempergunakan lapangan.
10CSDP 6 value dan subtype Batasan-2 untuk
subset, equality (2)
Dari tabel dapat kita simpulkan bahwa himpunan
anggota yang dapat memesan waktu haruslah subset
dari himpunan anggota yang bermain suatu sport
tertentu. Kita sebut hal ini sebagai subset
constraint yang dinyatakan dengan ----gt.
Sebagai contoh data setuju jika Anderson PE,
Hume D ? Anderson PE, Fit IM, Hume D.
Kita tidak boleh menambahkan nama Jones karena
dia bukan subset. Batasan diatas dapat dinyatakan
dengan cara lain sbb If Member m booked some
Hour then Member m plays some sport or Member m
booked some Hour only if Member m plays some
soprts Salah satu alasan menggunakan batasan
subset jika ditemui hubungan logika
jika.maka..
11CSDP 6 value dan subtype Batasan-2 untuk
subset, equality (3)
Perhatikan diagram penulisan subset berikut
Batasan lain dapat kita temukan pada catatan
Reaction time dan heart rate. Semua anggota entah
yang membayar ekstra untuk sport atau tidak jika
mereka melakukan pengamatan dan mencatat reaction
time secara otomatis mereka juga akan dicatat
heart ratenya. Hubungan logika disini adalah jika
dan hanya jika. Batasan yang dimekian disebut
dengan
12CSDP 6 value dan subtype Batasan-2 untuk
subset, equality (4)
Batasan yang dimekian disebut dengan equality
constraint. Member m has some ReactionTime iff
member m has some HeartRate
13CSDP 6 value dan subtype Batasan-2 untuk
subset, equality (5)
Skema diagram yang telah dilengkapi dengan kedua
batasan diatas nampak seperti gambar berikutz
14CSDP 6 value dan subtype Membuat subtype
Diagram disamping menunjukkan suatu subtype,
dimana D merupakan subtype dari B dan C yang
merupakan subtype dari A. Untuk memahami suatu
subtype perhatikan tabel berikut
15CSDP 6 value dan subtype Membuat subtype (2)
Tabel diatas jika kita buat skema diagramnya akan
seperti diagram berikut
16CSDP 6 value dan subtype Membuat subtype (3)
Jika kita perhatikan tabel diatas, maka kita
jumpai bahwa pregnancy (kehamilan) tidak akan
pernah dijumpai pada pasien berjenis kelamin
pria, sebaliknya tidak ada kelainan prostat yang
dijumpai pada wanita. Disini berlaku hubungan
logika only if (hanya jika). Untuk kondisi yaang
demikian kita dapat membagi jenis tipe pasien
menjadi 2 bagian yaitu wanita dan pria dimana
masing-masing kita sebut subtype dari pasien.
Masing-2 subtype bermain dalam peraannya
masing-2. Skema diagram diatas akan menjadi
sempurna jika dilakukan subtyping seperti pada
skema diagram berikut
17CSDP 6 value dan subtype Membuat subtype (4)
18CSDP 6 value dan subtype Membuat subtype (5)
Latihan Perhatikan tabel berikut
19CSDP 6 value dan subtype Membuat subtype (6)
Skema Diagram konseptualnya seperti diagram
disamping
20CSDP 6 value dan subtype Generalisasi tipe obyek
Supertype ialah bentuk umum dari subtype. Sedang
subtype adalah bentuk khusus dari supertype.
Proses yang memperkenalkan suatu supertype bagi
tipe obyek yang sedang exist dikenal sebagai
generalisasi tipe obyek. Perhatikan skema berikut
21CSDP 6 value dan subtype Generalisasi tipe
obyek (2)
Kita dapat melihat bahwa doctor, dentist dan
chemist adalah orang-2 yang memiliki ketrampilan
khusus yang kita dapat sebut sebagai
practitioner. Dengan mengeneralisir 3 tipe obyek
menjadi 1 tipe obyek dan membuat tipe obyek baru
(JobName) untuk menentukan jenis tipe obyeknya,
maka skema diagramnya dapat dikembangkan sbb
22CSDP 6 value dan subtype Generalisasi tipe
obyek (3)
23PR 2
- 1. Dari output tabel dibawah ini, rancanglah
suatu skema diagram dengan menerapkan langkah 1-6.
24PR 2
- 2. Sebuah perusahaan taxi memiliki detail data
karyawan emplyee name address sex phone
salary dan weight. Juga data mobil seperti
reg model year manufactured cost and weight.
Data lainnya adalah siapa yang berhak menyopir
mobil apa (boleh mn) - a. Buatlah skema diagram tanpa melakukan
subtyping, gunakan dua predikat dengan nama
weight - b. Lakukan generalisasi karyawan dan mobil,
sehingga wieght hanya muncul sekali. - C. Solusi mana yang disukai, berikan alasannya