BAB VI PEMODELAN BASIS DATA LAINYYA
5.1
MODEL JARINGAN Jika dalam model relasional data & relasi diantara data direpresentasikan dengan
kumpulan tabel, maka dalam model jaringan (network model) ini data direpresentasikan dengan kumpulan record dan relasi diantaranya direpresentasikan dengan links. 5.1.1
Konsep Dasar
Suatu basis data jaringan terdiri dari kumpulan record yang terhubung satu dengan yang lain melalui link-link yang ada. Suatu record dibanyak hal sama dengan entity di model E-R. Setiap record adalah kumpulan dari atribut-atribut dimana setiap atribut berisi satu nilai data. Link adalah asosiasi antara dua record, yang dapat digambarkan relasi biner dalam model E-R. Sebagai ilustrasi, ada suatu basis data yang merepresentasikan relasi customeraccount di sistem perbankan. Ada dua tipe record : customer & account. Dengan menggunakan bahasa Pascal, kita dapat mendefinisikan suatu type record customer sebagai : type customer = record customer_name : string; customer_street : string; customer_city : string; end Hayes
Main
Harrison
A-102
400
Johnson
Alma
Palo Alto
A-101
500
A-201
900
A-305
350
Turner
Putnam
Stamford
Gambar 5.1
Contoh Basis Data
Sedangkan untuk tipe record account dapat didefinisikan sebagai berikut :
type account = record account_number : string; balance : integer; end pada contoh basis data di atas terlihat bahwa Hayes memiliki account A-102, Johnson memiliki account A-101 dan A-201 sedangkan Turner memiliki account A-305.
5.1.2 Diagram Struktur Data Suatu diagram struktur data adalah suatu skema yang merepresentasikan desain basis data jaringan. Diagram memiliki dua komponen : -
kotak : yang melambangkan tipe record
-
garis : yang melambangkan link
Diagram Struktur Data menspesifikasikan semua struktur lojik dari suatu basis data. Diagram E-R dapat ditranslasikan dalam diagram struktur data yang bersesuaian. Ilustrasi dapat dilihat pada gambar diagram E-R dibawah, dimana terdiri dari dua entity set : customer & account, yang terhubung dengan relasi biner, many-to-many depositor dengan tidak ada atribut penjelas.
customer_street customer_name
account_number
customer_city
customer
depositor
balance
account
(a) Diagram E-R customer_name
customer_street
customer_city
depositor
account_number balance
customer
account
(b) Diagram Struktur data
Gambar 5.2 Diagram E-R dan Diagram Struktur Data yang bersesuaian
Pada diagram E-R-nya terlihat customer bisa memiliki beberapa account, dan satu account dapat dimiliki oleh beberapa customer. Sedangkan kesesuaiannya dengan diagram struktur data terlihat bahwa tipe record customer sesuai dengan entity set customer yang berisi : customer_name, customer_street dan customer_city. Demikian pula untuk tipe record account bersesuaian dengan entity set account yang terdiri dari
account_number & balance. Sedangkan relasi depositor diganti dengan link depositor. Jika relasi depositor merupakan relasi one-to-one maka link depositor akan memiliki dua tanda panah, satu menunjuk ke tipe record account dan satu lagi menunjuk ke tipe record customer.
branch_city branch_name
assets
branch customer_street customer_name
account_number
customer_city
customer
CAB
balance
customer
(a) Diagram E-R
customer_name customer_street
customer_city
branch_name branch_city
customer
assets branch
account_number balance account
CustRlnk
BrnchRlnk
AcctRlnk
Rlink
(b) Diagram Struktur data
Gambar 5.3 Diagram E-R dan Diagram Struktur Data yang bersesuaian
Sedangkan untuk contoh pada gambar 5.3, E-R terdiri dari 3 entity sets : account, customer & branch, yang terhubung melalui relasi CAB dengan tanpa atribut. Diagram ini menerangkan bahwa suatu customer boleh memiliki sejumlah account, dimana setiap account ditempatkan pada suatu cabang bank tertentu dan suatu account bisa dimiliki oleh sejumlah customer yang berbeda. Karena satu link menghubungkan tepat dua tipe record yang berbeda, maka kita harus menghubungkan tiga tipe record tersebut
melalui
satu record baru yang
menghubungkan ketiganya secara langsung. Untuk mentransformasikan diagram E-R ke diagram Struktur Data Jaringan, kita harus membentuk satu record baru dengan type Rlink yang bisa tidak memiliki field atau hanya memiliki satu field dengan identifier yang unik. Identifier disediakan oleh sistem
dan tidak digunakan secara langsung oleh program aplikasi. Kita juga harus membentuk tiga link many-to-one : CustRlnk, AcctRlnk dan BrncRlnk seperti terlihat pada gambar 5.3 (b). Jika relasi CAB memiliki atribut, maka akan menjadi field di record Rlink. 5.2
MODEL HIRARKI Memegang prinsip yang sama dengan model jaringan, yaitu merepresentasikan
data dalam kumpulan record dengan link sebagai relasinya. Perbedaan terletak pada penggambaran record-nya, yaitu kumpulan record akan digambarkan sebagai kumpulan tree.
5.2.1
Konsep Dasar Suatu basis data hierarki terdiri dari kumpulan record yang terhubung satu dengan
yang lain melalui link. Suatu record sama dengan suatu record di model jaringan. Setiap record adalah kumpulan atribut, dimana masing-masing atribut hanya berisi satu nilai. Satu link menunjukkan hubungan antara dua record. Misalkan terdapat suatu basis data yang merepresentasikan relasi customeraccount di sistem perbankan. Terdapat dua tipe record : customer & account. Customer memiliki 3 field seperti yang telah dijelaskan sebelumnya. Demikian pula account yang memiliki 2 field.
Hayes
Main
Harrison
A-102
400
Johnson A-101
Alma 500
Palo Alto A-201
900
Turner
Putnam A-305
Stamford 350
Gambar 5.4 Contoh Basis Data
Pada contoh di atas terlihat customer Hayes memiliki account A-305, customer Johnson memiliki account A-101 dan A-201 sedangkan customer Turner memiliki account A305.
Semua kumpulan record customer dan account diorganisasikan dalam bentuk root dari suatu tree, dimana root dari suatu tree merupakan node dummy. Basis data hierarki adalah kumpulan root tree yang kemudian membantuk forest.
5.2.2 Diagram Struktur Tree Diagram struktur tree adalah skema dari basis data hierarki. Suatu diagram ini terdiri dari dua komponen dasar : box yang melambangkan tipe record dan garis yang melambangkan link. Seperti pemodelan yang lain diagram struktur tree juga menggambarkan struktur lojik dari suatu basis data. Ilustrasi E-R diagram untuk gambar 5.5.a. terdiri dari dua entity sets yaitu customer & account yang terhubung oleh relasi biner, relasi one-to-many depositor tanpa atribut. Diagram ini menerangkan satu customer dapat memiliki beberapa account, tetapi satu account hanya dapat dimiliki oleh satu customer. Kesesuaian diagram Struktur Tree dapat dilihat pada gambar 5.5.b. tipe record customer bersesuaian dengan entity set customer memiliki beberapa field yang dapat dilihat di gambar. Demikian juga account adalah tipe record yang bersesuaian dengan entity set account. Akhirnya relasi depositor diganti dengan link depositor dengan anak panah menunjuk ke tipe record customer.
customer_street customer_name
account_number
customer_city
customer
depositor
balance
account
(a) Diagram E-R
customer_name
customer_street
customer_city
account_number balance
customer
account
(b) Diagram Struktur Tree
Gambar 5.5 Diagram E-R dan Diagram Struktur Tree yang bersesuaian
customer_street customer_name
account_number
customer_city
customer
depositor
balance
account
(a) Diagram E-R customer_name customer_street
customer_city
account_number balance
customer
account
account_number balance
customer_name customer_street
account
customer_city customer
(b) Diagram Struktur Tree
Gambar 5.6 Diagram E-R dan Diagram Struktur Tree yang bersesuaian Suatu instance dari suatu basis data bersesuaian dengan skema berisi sejumlah record customer yang terhubung ke sejumlah record account.
5.3
MODEL BERORIENTASI OBJECT
5.3.1
Struktur Objek
5.3.2
Kelas Objek
5.3.3
Inheritance
5.3.4
Multiple Inheritance
5.3.5
Objek Identity
5.3.6
Objek Containment