download

Metode Perancangan Program
Pert 25 – Data Management
Design
Persistence
Kebutuhan akan persistence
Sistem informasi membutuhkan persistent
data. Persistent data adalah data yang
akan tetap ada walaupun sistem tidak aktif
Persistent data dapat disimpan dalam file
ataupun database. Normalisasi dapat
digunakan untuk mendesain tabel pada
relational database
Persistence
Kebutuhan akan persistence
Dalam sistem object oriented yang menjadi
perhatian adalah persistent objects dan
transient objects
Persistent object akan tetap disimpan
dengan menggunakan mekanisme tertentu
Sedangkan transient object akan dihapus
dari memori setelah digunakan
Overview mekanisme
penyimpanan
DBMS menyediakan sebuah layer abstraksi yang
menyembunyikan dari user mengenai dimana data
tersebut disimpan di file.
Jika DB yang digunakan adalah relational database,
maka user database akan melihat tabel yang berisi
data. Setiap tabel akan dihubungkan dengan bagian
file ke satu atau banyak file.
Jika DB yang digunakan adalah object database,
maka user akan melihat object dan link diantara
object-object tersebut.
Overview mekanisme
penyimpanan
Bahasa object oriented menyediakan
mekanisme untuk mengubah object
menjadi bentuk yang dapat ditulis
dalam file.
File dapat digunakan untuk menyimpan
data, maupun informasi configuration.
Aristektur untuk persistence
Untuk mendesain arsitektur untuk persistence, beberapa
pertanyaan harus diperhatikan:
Apakah ada bagian sistem yang menyatakan bahwa penyimpan file
adalah tepat?
Apakah sistem tersebut adalah object oriented system atau
database system dengan menggunakan GUI sebagai interface?
Apakah sistem akan menggunakan DBMS yang ada atau dapat
memilih DBMS yang sesuai ?
Apakah sistem akan menggunakan relational DBMS?
Apakah sistem akan menggunakan object DBMS?
Logical layering apakah yang digunakan ?
Physical layering apakah yang digunakan?
Apakah jenis sistem distribusi nya ?
Protocol apakah yang akan digunakan untuk menghubungkan layer
yang ada pada sistem ?
File System
Struktur File dan record
Struktur file terdiri atas record, dan record
terdiri atas field yang berisi data data.
Sama halnya seperti setiap object terdiri
atas beberapa attribut, setiap attribute
berisi data mengenai object.
File System
Struktur File dan Record
Record dapat terbagi dalam beberapa bentuk:
Fixed-Length, setiap record terdiri dari beberapa field
yang mempunyai panjang byte yang sama
Variable length, setiap record terdiri dari beberapa field
yang mempunyai panjang byte yang berbeda
Header and detail, record hanya terdiri dari dua tipe
yaitu, yang pertama adalah header dan diikuti oleh detail
record.
Tagged data, data mempunyai struktur yang kompleks,
seperti di sistem object oriented
Organisasi File
Ada tiga cara dimana file dapat diorganisir:
Serial organization
Setiap record ditulis pada akhir dari record yang ada
Sequential organization
Record ditulis ke file dengan urutan yang sudah
ditentukan
Random organization
Record ditambahkan dengan sebuah algoritma sehingga
memungkin untuk ditulis dan dibaca tanpat harus
melewati seluruh file.
Akses file
Ada beberapa cara untuk akses file, yang utama adalah serial
access, index-sequential access , direct access:
Serial access
Serial dan sequential file hanya bisa diakses secara serial access.
Dimana untuk mencari record tertentu harus dicari satu persatu dari
awal sampai akhir
Index-sequential access
Akses ke file sequential dapat dikembangkan dengan menggunakan
index yang digunakan sebagai key. Index seguential file digunakan jika
ingin membaca record satu persatu ataupun jika ingin langsung menuju
record tertentu dengan menggunakan key
Direct access
Direct acces menggunakan algoritma yang akan mengubah key dalam
record menjadi alamat file
Akses file
Hashed addressing: key dapat berupa apa saja.
Key akan dihashed untuk menentukan block mana
record tertentu dialokasikan. Ada beberapa
pendekatan, yang termudah adalah, mengubah
karakter string dan mengubah menjadi ASCII.
Kemudian nilai ASCII tersebut dijumlahkan dan
dibagi sesuai dengan jumlah block, modulo dari
pembagian tersebut merupakan nomor block
Improving access, cara yang umum adalah akan
menambahkan index tambahan
Tipe file
Ada beberapa tipe file yaitu
Master file, adalah file yang berisi data
data persistent yang penting.
Transaction file, mencatat transaksi bisnis
ataupun event yang penting bagi
organisasi dan digunakan untuk update
master file
Index file, digunakan untuk mempercepat
akses ke record pada master file.
Tipe File
Temporary file atau work file, selama
proses data akan diperlukan file sementara
yang digunakan untuk menyimpan hasil
sebelum dilanjutkan ke proses selanjutnya
Backup file, file yang dicopy dari master
ataupun transaction file, sebagai backup
jika file yang asli rusak
Parameter file, file yang berisi informasi
data.
Database Management System
File dan database
File cocok untuk program sederhana dan
menyimpan data yang tidak dishare dan tidak
diupdate oleh banyak user
Untuk data yang lebih besar sebaiknya digunakan
database.
DBMS bukan hanya alat untuk menyimpan data
yang dapat dishare dapat juga menyediakan tool
dan fitur yang dapat digunakan untuk mengatur
data.
Database Management System
Fitur dalam DBMS:
Data Definition Language (DDL). DDL
digunakan untuk menentukan data yang
disimpan dan struktur yang digunakan untuk
menyimpan data
Data Manipulation Language (DML). DML
digunakan untuk menentukan update dan
retrieval (pengambilan) data dalam DBMS
Integrity Constraint. Batasan dapat ditentukan
untuk mmeastikan bahwa integritas data
terjaga
Database Management System
Transaction Management. Update ke
database dapat ditentukan sebagai
transaksi, dimana semua component
update harus sukses, jika tidak maka
tidak dapat ditulis ke database
Concurrency. Banyak user dapat
menggunakan secara simultan database
dan melakukan update terhada isinya
Security. Akses ke database dapat
dikendalikan
Tipe DBMS
Ada tiga tipe DBMS
Relational database
Di dalam relational database, digunakan normalisasi untuk
menyederhanakan data. Kemudian dari hasil normalisasi ini
akan dibuat tabel. Setiap tabel terdiri dari baris, setiap baris
berisi attribut yang terdapat dalam kolom
staff-no name
start-date
28 Pete Bywater
5/5/1987
152 Kelly Haris
24/10/1996
8 Tim Eng
1/6/1982
qualification
BA Hons
HND
MA
Tipe DBMS
Object database
Object di dalam object oriented system tidak
flat, bukan struktur dua dimensi. Setiap object
mungkin terdiri dari object lain didalamnya.
Object Database dikhusukan untuk menangani
object.
Object-relational database
Menggabungkan antara relational dan object
database
Designing for Relational Database
Management System
Ada dua cara untuk mengubah class
menjadi taebl dalam relational database
Menggunakan normalisasi
Menggunakan beberapa aturan yang sudah
ditentukan
Data modeling - Normalisasi
Ada 5 tingkat normalisasi, tetapi yang biasanya
dipakai sampai dengan tingkat 3
1st NF:
Jika dan hanya jika setiap baris / kolom terdiri dari satu data
2nd NF:
Jika dan hanya jika sudah 1st NF, dan setiap attribute nonkey bergantung penuh pada primary key
3rd NF :
Jika dan hanya jika sudah 2nd NF, dan setiap attribute
tergantung dari primary key dan bukan dengan attribute non
key
Contoh
International Campaign
campaign
Code
campaign Title location Code
SMGL
Soong Motor HK
Granda Launch NY
TO
HK
YPSC
Yellow
Partridge NY
locationM
location Name locationMgr
grTel
Hongkong
Vincent Sieuw
456
New York
Martina Duarte
312
Toronto
Pierre Dubois
37
Hongkong
Jenny Lee
413
New York
Martina Duarte
312
1st NF
International Campaign-1
campaign
Code
campaign Title
Soong Motor
Granda Launch
SMGL
Soong Motor
Granda Launch
SMGL
Soong Motor
Granda Launch
SMGL
location Code location Name locationMgr
locationM
grTel
HK
Hong Kong
Vincent Sieuw
456
NY
New York
Martina Duarte
312
TO
Toronto
Pierre Dubois
YPSC
Yellow Partridge
Summer Collection HK
Hong Kong
Jenny Lee
413
YPSC
Yellow Partridge
Summer Collection NY
New York
Martina Duarte
312
37
2nd NF
International Campaign-2
campaign
Code
SMGL
SMGL
SMGL
YPSC
YPSC
locationCode
HK
NY
TO
HK
NY
locationMgr
Vincent Sieuw
Martina Duarte
Pierre Dubois
Jenny Lee
Martina Duarte
Campaign
campaign
Code
CampaignTitle
SMGL
Soong Motor Granda Launch
YPSC
Yellow Partridge Summer Collection
LocationMgrT
el
456
312
37
413
312
Location
locationC
ode
HK
NY
TO
location
Name
Hongkong
NewYork
Toronto
International Campaign-3
campaign
Code
locationCode
SMGL
HK
SMGL
NY
SMGL
TO
YPSC
HK
YPSC
NY
Campaign
campaign
Code
SMGL
YPSC
3rd NF
locationMgr
Vincent Sieuw
Martina Duarte
Pierre Dubois
Jenny Lee
Martina Duarte
CampaignTitle
Soong Motor Granda Launch
Yellow Partridge Summer Collection
locationMgr
Vincent Sieuw
Martina Duarte
Pierre Dubois
Jenny Lee
LocationMg
rTel
456
312
37
413
Location
locationCode
HK
NY
TO
location
Name
Hongkong
NewYork
Toronto
Mapping Class ke Tabel
Berikut adalah petunjuk mapping class ke tabel
Class dengan simple struktur data. Class ini secara langsung
menjadi tabel
Object identifier menjadi primary key. Sebuah identifier unik,
dibuat untuk setiap object dan dapat digunakan sebagai
primary key pada re;ational tabel
Ckass yang berisi instance dari class lain sebagai attribute.
Tabel terpisah harus dibuat untuk class yang ada.
Classes yang berisi koleksi. Alokasikan object identifier bagi
class di dalam koleksi
One to many association dapat diperlakukan seperti koleksi
Many to many menjadi tabel terpisak
One to one , diimplementasikan sebagai foreign key
Designing for Object Database
Management System
Object DBMS berbeda dengan relational
DBMS, karena merka dapat menyimpan
object dengan strukturnya yang
kompleks.
Distributed datanases
Pada sistem yang sederhana, object dapat
disimpan pada mesin lokal, kemudian dibawa
ke memory kemudian dikirimkan message
untuk menjalankan operationnya.
Pada saat ini object dapat saja tidak berada
pada mesin yang sama pada user interface,
tetapi mereka dapat berada pada mesin yang
berbeda.
Ada beberapa cara untuk melakukan hal ini,
salah satunya adalah CORBA (the common
Object Request Broker Architecture)
Designing Data Management
Classes
Dalam mendesain presentation layer salah satu
tujuannya adalah mengisolasi entity class dalam
sistem dari cara class akan ditampilkan pada layar
dan laporan dan dokumen. Hal ini dilakukan untuk
memaksimalkan reusability class. Hal ini juga
dilakukan terhada data storage layer.
Class akan tidak reusable bila terkait erat dengan
mekanisme penyimpanan pada sebuah file atau
database. Hal yang sama juga dilakukan yaitu
memisahkan entity class dari logik bisnis.