Si t
B
i D t
Si t
B
i D t
P
P
P
P
k t L
k t L
k
k
Sistem Basis Data :
Tujuan
Mahasiswa mampu memahami analisis dan desain
Mahasiswa mampu memahami analisis dan desain
model database
model database
model database
model database
Mahasiswa paham dan mengerti konsep desain
Mahasiswa paham dan mengerti konsep desain
database
database
database
database
Mahasiswa mengerti desain arsitektur database
Mahasiswa mengerti desain arsitektur database
h i
i d
f h
k
d
h i
i d
f h
k
d
Mahasiswa mengerti dan faham keuntungan dan
Mahasiswa mengerti dan faham keuntungan dan
kerugian masing
Analisis kebutuhan dilakukan dengan menggunakan
b b
l t (t
l )
beberapa alat (tools)
¾ DFD (Data Flow Diagram) : gambaran bagaimana data
berubah sejalan dengan alirannya dalam sistem dan
berubah sejalan dengan alirannya dalam sistem dan
menggambarkan fungsi-fungsi yang mengubah data-data tadi.
¾ ERD (Entity Relationship Diagram) : menggambarkan
relasi antara objek data.
¾ STD (State Transition Diagram),
menggambarkan bagaimana kerja sistem melalui kondisi
menggambarkan bagaimana kerja sistem melalui kondisi
(state) dan kejadian yang menyebabkan kondisi berubah.
menggambarkan aksi yang dilakukan karena kejadian
tertentu
.
Hasil yang diperoleh dari analisis kebutuhan: Hasil yang diperoleh dari analisis kebutuhan:
¾ model analisis yang kemudian menjadi bekal untuk melakukan desain.
¾ ti b i d i li i d l j di b k l d
¾ setiap bagian dari analisis model menjadi bekal pada proses desain pada piramida model desain.
¾ Data design
9 mengubah menjadi struktur data untuk g j mengimplementasikan software.
9 data design dibuat berdasarkan data dictionary dan ERD (Entity Relationship Design)
(Entity Relationship Design).
¾ Architectural design
9 mendefinisikan relasi antara elemen elemen struktural 9 mendefinisikan relasi antara elemen-elemen struktural 9 utama, pola desain yang digunakan untuk mencapai
kebutuhan yang ditentukan untuk sistem dan
batasan-b hi b i d i i k l
batasan yang mempengaruhi bagaimana desain arsitektural ini diterapkan.
¾ Interface design
menjelaskan bagaimana software berkomunikasi
menjelaskan bagaimana software berkomunikasi
dalam dirinya, dengan sistem yang bertukar
informasi dengannya, dan dengan manusia yang
g
y ,
g
y
g
menggunakannya.
¾ Component le el design
¾ Component-level design
menghasilkan deskripsi prosedur software.
1. Abstraction
¾ adalah gambaran dari fungsi suatu program
1. Abstraction
¾ adalah gambaran dari fungsi suatu program ¾ adalah gambaran dari fungsi suatu program ¾ gambaran ini bisa bertingkat-tingkat
¾ tingkat yang paling atas Æ gambaran suatu fungsi
d k b h l i
¾ adalah gambaran dari fungsi suatu program ¾ gambaran ini bisa bertingkat-tingkat
¾ tingkat yang paling atas Æ gambaran suatu fungsi
d k b h l i
program dengan menggunakan bahasa alami.
¾ tingkat terendah, menghasilkan abstraksi yang bersifat procedural / langkah
program dengan menggunakan bahasa alami.
¾ tingkat terendah, menghasilkan abstraksi yang bersifat procedural / langkah
p g
¾ peralihan dari tingkat ke tingkat, menggunakan procedural dan data abstraction
9 procedural abstraction : urutan instrasi yang
p g
¾ peralihan dari tingkat ke tingkat, menggunakan procedural dan data abstraction
9 procedural abstraction : urutan instrasi yang 9 procedural abstraction : urutan instrasi yang
mempunyai tujuan khusus
9 data abstraction adalah koleksi data yang digunakan d f i t b t
9 procedural abstraction : urutan instrasi yang mempunyai tujuan khusus
9 data abstraction adalah koleksi data yang digunakan d f i t b t
pada fungsi tersebut pada fungsi tersebut
2
2 R fi
R fi
t
t
2.
2.Refinement
Refinement
¾
¾ penjelasan detil dari abstractionpenjelasan detil dari abstraction ¾
¾ membantu designer untuk memperlihatkan detil dari lowest membantu designer untuk memperlihatkan detil dari lowest gg pp level
level dari abstractiondari abstraction ¾
¾ aabstraction bstraction dan refinement merupakan konsep yang dan refinement merupakan konsep yang saling saling melengkapi
melengkapigg pp
3.
3. Modularity
Modularity
¾
¾ membagi software menjadi modulmembagi software menjadi modul ¾
¾ membagi software menjadi modulmembagi software menjadi modul ¾
¾ ssoftware oftware dibagidibagi--bagi menjadi beberapa component yang bagi menjadi beberapa component yang disebut modul
disebut modul--modul.modul. ¾
¾ mmodulodul--modul disatukan / diintegrasikan kembali untuk modul disatukan / diintegrasikan kembali untuk memenuhi
memenuhi kebutuhan sistemkebutuhan sistem.. ¾
¾ jjikaika C(p1) > C(p2)C(p1) > C(p2) ÆÆ C adalah complexityC adalah complexity modulmodul, maka, maka ¾
¾ jjika ika C(p1) C(p2) C(p1) C(p2) ÆÆ C adalah complexity C adalah complexity modulmodul, maka , maka E(p1)
E(p1) > E(p2> E(p2) ) ÆÆ E adalah waktu yang diperlukan.E adalah waktu yang diperlukan. ¾
¾ semakin rumit semakin rumit sebuah sebuah modulmodul, , ÆÆ waktu waktu untuk untuk menyelesaikan modul tersebut
menyelesaikan modul tersebut makinmakin banyakbanyak menyelesaikan modul tersebut
menyelesaikan modul tersebut makin makin banyakbanyak.. ¾
¾ semakin banyak modul, semakin banyak modul, ÆÆ waktu / biaya waktu / biaya untuk untuk integrasikan modul
Gambar 6: Hubungan jumlah modul dan harga/biaya integrasi
4.
4. Software Architecture
Software Architecture
4.
4. Software Architecture
Software Architecture
¾
¾struktur software secara keseluruhanstruktur software secara keseluruhan ¾
¾struktur hirarki/berjenjang dari modulstruktur hirarki/berjenjang dari modul--modul program.modul program. ¾
¾mmodel menggambarkan struktur modulodel menggambarkan struktur modul--modul adalah:modul adalah: 9
9 framework model : identifikasi pola yang framework model : identifikasi pola yang berulang.berulang. 9
9 dynamicdynamic model : identifikasi bagaimana konfigurasimodel : identifikasi bagaimana konfigurasi 9
9 dynamic dynamic model : identifikasi bagaimana konfigurasi model : identifikasi bagaimana konfigurasi sistem berubah
sistem berubah karena kejadiankarena kejadian--kejadian kejadian tertentutertentu 9
9 process process model: fokus pada proses teknis yang harus pp model: fokus pada proses teknis yang harus pp pp yy gg dikerjakan sistem
dikerjakan sistem 9
9 functional functional model : menggambarkan hirarki sistem model : menggambarkan hirarki sistem b d k
b d k ff ii berdasarkan
5. Software procedure
¾
¾ ffokusokus pada detil proses pada tiap modulpada detil proses pada tiap modul ¾
¾ ffokus okus pada detil proses pada tiap modul.pada detil proses pada tiap modul. ¾
¾ pprosedur rosedur menjelaskan proses, menjelaskan proses, urutan urutan kejadiankejadian, proses , proses perulangan, penentuan keputusan/arah
perulangan, penentuan keputusan/arah.. ¾
¾ ddii b kb k dd kk FlFl Ch tCh t ¾
¾ ddigambarkan dengan igambarkan dengan menggunakan Flow Chart yang menggunakan Flow Chart yang bertingkat.
bertingkat.
6. Information hiding
¾ ide dari information hiding (menyembunyikan informasi) ¾ modul dirancang sedemikian rupa sehinga informasi
¾ modul dirancang sedemikian rupa sehinga informasi
(prosedur dan data) yang di dalamnya tidak dapat di akses oleh modul lain yang tidak memerlukannya.
¾ modul yang efektif : modul yang berdiri sendiri dan berkomunikasi dengan modul lain
¾ Desain arsitektur adalah aktifitas desain yang pertama dalam pembangunan software
¾ Suatu sistem (besar / tidak) Î dibangun dari sub-sub sistem ( ) g yang lebih kecil.
¾ Sub-sub sistem ini memiliki fungsi sendiri-sendiri.
¾ Proses merancang untuk menentukan sub sub sistem dan ¾ Proses merancang untuk menentukan sub-sub sistem dan
membangun kerangka kerja untuk kendali dan komunikasi antar sub sistem disebut design arsitekturaldesign arsitektural.
¾ P i i h ilk i k f
¾ Proses merancang ini menghasilkan: arsitektur software atau arsitektur sistem.
D
i
it kt
b ik
3 k
t
it
D
i
it kt
b ik
3 k
t
it
Desain arsitektur memberikan 3 keuntungan yaitu
Desain arsitektur memberikan 3 keuntungan yaitu::
1.
1. arsitektur
arsitektur software menjadi media komunikasi dan
software menjadi media komunikasi dan
1.
1. arsitektur
arsitektur software menjadi media komunikasi dan
software menjadi media komunikasi dan
diskusi karena
diskusi karena mudah dipahami
mudah dipahami
2.
2. memberi
memberi kemudahan dalam melakukan analisis
kemudahan dalam melakukan analisis
2.
2. memberi
memberi kemudahan dalam melakukan analisis
kemudahan dalam melakukan analisis
terhadap software
terhadap software yang
yang akan
akan dibangun
dibangun
3.
3. arsitektur
arsitektur--nya
nya bisa digunakan lagi untuk sistem
bisa digunakan lagi untuk sistem
3
3 a s te tu
a s te tu
ya
ya b sa d gu a a
b sa d gu a a
ag u tu s ste
ag u tu s ste
selanjutnya (reusable)
Aktifitas-aktifitas dalam merancang sistem adalah
sebagai berikut
sebagai berikut
1. menyusun sistem (system structuring) : sistem
disusun menjadi beberapa subsistem utama
disusun menjadi beberapa subsistem utama,
dimana subsistem adalah unit bagian software yang
berdiri sendiri.
2. membuat model kendali (Control modelling) :
berkaitan dengan hubungan antara bagian dalam
sistem.
3. membuat
pembagian
sistem
menjadi
modul-modul
(modular decomposition)
Sistem Basis Data :
Sistem Basis Data : PerancanganPerancangan Perangkat LunakPerangkat Lunak
Bagian II
Bagian II
¾
¾
St kt
St kt
i t
i t
b k
b k
b
b
b i t
b i t
¾¾
Struktur sistem menggambarkan sub
Struktur sistem menggambarkan sub--sub sistem
sub sistem
dan interaksi antara
dan interaksi antara sub
sub--sub sistem
sub sistem..
Did
i
Did
i d
d
k
k
di
di
di
di
¾¾
Didesain
Didesain dengan menggunakan diagram
dengan menggunakan diagram--diagram
diagram
untuk
untuk menggambarkan
menggambarkan sub
sub sistem dan
sistem dan
interaksinya agar mudah dipahami
interaksinya agar mudah dipahami
interaksinya agar mudah dipahami
interaksinya agar mudah dipahami..
¾¾
Beberapa model dari struktur sistem
Beberapa model dari struktur sistem menjelaskan
menjelaskan
bagaimana
bagaimana sub
sub sistem berbagi
sistem berbagi data
data bagaimana
bagaimana
bagaimana
bagaimana sub
sub sistem berbagi
sistem berbagi data
data, bagaimana
, bagaimana
sub sistem terdistribusi dan bagaimana sub
sub sistem terdistribusi dan bagaimana sub--sub
sub
sistem saling berinteraksi
sistem saling berinteraksi
sistem saling berinteraksi
sistem saling berinteraksi
Interaksi sub-sub sistem adalah:
Interaksi sub-sub sistem adalah:
Repository Model
Repository Model Æ
p
p
y
y
Æ model ini data disimpan secara
model ini data disimpan secara
p
p
terpusat
terpusat.
. Ada dua cara terpusat pada
Ada dua cara terpusat pada model ini:
model ini:
1
1 D t b
D t b
t
t
t d
t d
d
d
t di k
t di k
l h
l h
1.
1. Database
Database terpusat dan dapat diakses oleh semua
terpusat dan dapat diakses oleh semua
sub sistem dalam
sub sistem dalam sistem tersebut
sistem tersebut.
.
Contoh
Contoh : sistem informasi perpustakaan : sistem informasi perpustakaan UPNV Jatim.p pp p UPNV Jatim.
2.
2. Setiap
Setiap sub sistem menyimpan database sendiri dan
sub sistem menyimpan database sendiri dan
bisa bertukar
bisa bertukar data dengan
data dengan sub sistem lain melalui
sub sistem lain melalui
bisa bertukar
bisa bertukar data dengan
data dengan sub sistem lain melalui
sub sistem lain melalui
pengiriman pesan (message
pengiriman pesan (message).
).
Contoh: Sistem Informasi Akademik UPNV Jatim Contoh: Sistem Informasi Akademik UPNV Jatim
..
Keuntungan Repository Model
Keuntungan Repository Model
¾¾ efisien untuk share jumlah data yang besar Tidak perluefisien untuk share jumlah data yang besar Tidak perlu
¾
¾ efisien untuk share jumlah data yang besar. Tidak perlu efisien untuk share jumlah data yang besar. Tidak perlu kirim data secara langsung dari satu sub sistem ke sub kirim data secara langsung dari satu sub sistem ke sub sistem yang lain
sistem yang lain
¾
¾ ssubub--sistem tidak perlu memikirkan bagaimana data sistem tidak perlu memikirkan bagaimana data digunakan oleh sub sistem lain.
digunakan oleh sub sistem lain.
¾
¾ manajeman data seperti backup keamanan remanajeman data seperti backup keamanan re--index danindex dan
¾
¾ manajeman data seperti backup, keamanan, remanajeman data seperti backup, keamanan, re--index, dan index, dan kontrol
kontrol akses dilakukan secara terpusat. Itu merupakan akses dilakukan secara terpusat. Itu merupakan tanggung jawab manager repository
Kerugian Repository Model
¾
¾ ssub
ub--system
system harus mengikuti model yang sudah
harus mengikuti model yang sudah
ditetapkan. Jadi jika ada
ditetapkan. Jadi jika ada sub sistem baru, maka yang
sub sistem baru, maka yang
b
h
ik
b
h
ik
d
d
d l
d l
d
d
baru harus menyesuaikan
baru harus menyesuaikan dengan model
dengan model yang ada.
yang ada.
¾
¾ e
evolusi
volusi data sulit dan mahal karena volume informasi
data sulit dan mahal karena volume informasi
b
dih
ilk
b
dih
ilk
d
d
d l t t
d l t t
t
t
yang
yang besar dihasilkan
besar dihasilkan dengan model tertentu.
dengan model tertentu.
mengubahnya
mengubahnya ke model
ke model yang lain
yang lain pun tidak mudah
pun tidak mudah
¾
¾ ssulit
ulit untuk distribusi layanan secara efisien karena
untuk distribusi layanan secara efisien karena
¾
¾ ssulit
ulit untuk distribusi layanan secara efisien, karena
untuk distribusi layanan secara efisien, karena
yang
¾ model ini terdiri dari server yang berdiri sendiri dan menyediakan layanan untuk client-client.y y
¾ client (sub-sistem) yang menggunakan layanan server dan
tersedia network yang mengijinkan client untuk akses layanan dari server komponen utama pada model ini :
dari server. komponen utama pada model ini :
1. ada stand-alone server yang menyediakan layanan ke sub-sub sistem
2 d b i di b j li il/
2. ada sub sistem yang disebut juga client yang memanggil/ mengakses layanan di server-server
3. ada jaringan memungkinkan sub-sub sistem mengakses j g g g layanan-layanan pada server.
¾ untuk mengakses server, sub sistem/client harus mengetahui alamat/nama server yang diakses dan layanan yang diberikan alamat/nama server yang diakses dan layanan yang diberikan
Arsitektur client server memiliki struktur yang terdiri
dari 3 lapisan yang harus ada yaitu:
dari 3 lapisan yang harus ada yaitu:
1. business logic/application
2. data management
3. presentation layer
¾Keuntungan
¾Keuntungan
¾ Distribusi data secara langsung melalui jaringan ¾ Penggunaan sistem jaringan secara efektif
¾ hardware jadi murah ¾ hardware jadi murah
¾ Mudah untuk tambahkan server baru atau up-grade server yang sudah ada
¾Kekurangan
¾Tidak ada data model jadi organisasi data macam-macam ¾Tidak ada data model, jadi organisasi data macam macam,
sehingga integrasi data sulit ¾Redundant management
¾Tidak ada pusat register nama dan service sehingga kalau ¾Tidak ada pusat register nama dan service, sehingga kalau
tidak tahu nama server dan service-nya sulit ditemukan
¾Manajemen data dilakukan pada tiap server, tidak terpusat karena masing-masing server memiliki karakteristiknya
Client
Client--server server arsitektur arsitektur memiliki tiga lapisan distribusi yaitu:memiliki tiga lapisan distribusi yaitu:
http://www.thinmanager.com/news/archive_03/3_1_TC_Markets_6.shtml http://www.thinmanager.com/news/archive_03/3_1_TC_Markets_6.shtml
1.
1. Two
Two--tier
tier architecture
architecture terdiri dari:
terdiri dari:
a Thin Client model
a. Thin-Client model
Menempatkan business
Menempatkan business logic / application logic / application process dan process dan data management
data management pada server pada server dan presentation pada dan presentation pada client Ser er mengerjakan pekerjaan
client Ser er mengerjakan pekerjaan beratberat aitait client. Server mengerjakan pekerjaan
client. Server mengerjakan pekerjaan berat berat yaitu yaitu
menjalankan application process dan data management menjalankan application process dan data management Contoh : website
Contoh : website
b.
b. Fat Client model
Fat Client model
Menempatkan business
Menempatkan business logic / application logic / application process dan process dan presentation pada
presentation pada client dan client dan server hanya mengurusi data server hanya mengurusi data management.
management. Contoh
Contoh : suatu : suatu aplikasi dibangun aplikasi dibangun dengan VFP dan dengan VFP dan mengakses
mengakses database. database. Semua Semua application application process process dan dan presentation di client yang menggunakan VFP
Secara bagan konsep
Secara bagan konsep Two
Two tier
tier architecture:
architecture:
Secara bagan konsep
2.
2. ThreeThree--tiertier
Memisahkan
Memisahkan secara logic, presentation yang ada di client secara logic, presentation yang ada di client g , pg , p yy gg dengan
dengan application process application process yang berada terpisah secara yang berada terpisah secara logic dengan data management.
logic dengan data management. C h I
C h I BB kiki Contoh: Internet
Distributed object arsitektur
Distributed object arsitektur
jj
¾¾ komponen komponen terpenting terpenting adalah objek yang adalah objek yang menyediakan menyediakan antarmuka
antarmuka untuk untuk layanan layanan guna dipanggil oleh objek lain.guna dipanggil oleh objek lain. ¾
¾ MasingMasing--masing objek masing objek dapat dipanggil oleh objek lain dalam dapat dipanggil oleh objek lain dalam sistem tersebut.
sistem tersebut. ¾
¾ tiap objek dapat berperan menjaditiap objek dapat berperan menjadi client danclient dan serverserver ¾
¾ tiap objek dapat berperan menjadi tiap objek dapat berperan menjadi client dan client dan server server bergantung pada operasi yang dilakukan.
bergantung pada operasi yang dilakukan. ¾
¾ Jika objek Jika objek memberikan memberikan layanan pada objek lain, layanan pada objek lain, ÆÆ objek objek berperan
berperan sebagai server, dan objek yang menggunakan sebagai server, dan objek yang menggunakan layanan
¾
¾ M d l i i jM d l i i j didi b t db t d ll dd d ld l ¾
¾ Model ini juga disebut dengan layered model. Model ini juga disebut dengan layered model. ¾
¾ Pada Pada model ini sistem terdiri model ini sistem terdiri dari serangkaian dari serangkaian lapisan (layer) lapisan (layer) yang masing
yang masing--masing menyediakan masing menyediakan layananlayanan--layanan khususlayanan khusus. . ¾
¾ S tiS ti ll ii (l(l )) kk tt b tb t tt hihi ¾
¾ Setiap Setiap lapisan (layer) merupakan satu abstract machine yang lapisan (layer) merupakan satu abstract machine yang layanannya digunakan
layanannya digunakan pada abstract machine pada tingkat pada abstract machine pada tingkat berikutnya
Sub-sub sistem perlu kendali agar bisa
Sub sub sistem perlu kendali agar bisa
bekerja sebagai suatu sistem.
Dua pendekatan model kendali dan variannya
yang umum adalah :
y
g
1. Centralised control
Satu sub-system bertanggung jawab untuk
mengatur eksekusi sub-system lain melalui:
g
y
The
The callcall--return model return model : Top: Top--down subroutine modeldown subroutine model. Control . Control mulai
mulai dari paling dari paling atas dari hirarki subroutine dan mengalir pp gg atas dari hirarki subroutine dan mengalir gg ke
The manager model :
¾ Satu komponen sistem jadi manager dan mengendalikan start-stop dan koordinasi proses sistem.
¾ Satu proses adalah satu sub-sistem yang bisa dieksekusi secara paralel dengan sub-sistem lain
2. Event-based control a. broadcast model :
¾Event di broadcast ke semua sub-system
¾Sub-system register ke specific event, saat ini terjadi control
¾ditransfer ke sub-system yang handle event tersebut ¾Sub-system tentukan event yang dibutuhkan
i t t
i t t d id i d ld l interrupt
interrupt--driven driven modelsmodels
¾
¾Digunakan Digunakan secara khusus pada realsecara khusus pada real--time system yangtime system yang
¾
¾mendeteksi interupsi luarmendeteksi interupsi luar
¾
¾MemberikanMemberikan respon yang cepat pada suatu kejadianrespon yang cepat pada suatu kejadian
¾
¾Memberikan Memberikan respon yang cepat pada suatu kejadianrespon yang cepat pada suatu kejadian
¾
¾Membutuhkan Membutuhkan pemrograman yang rumit dan testing yang sulit.pemrograman yang rumit dan testing yang sulit.
¾
Membagi
Membagi subsub--sistem menjadi beberapa modul. Ada 2 model sistem menjadi beberapa modul. Ada 2 model dalam
dalam desain desain arsitektur arsitektur jenis inijenis ini:: 1
1
Object
Object--oriented
oriented Models
Models
11. .
Object
Object oriented
oriented Models
Models
¾Sistem dibagi-bagi menjadi objek-objek yang saling berkomunikasi
¾B k it d l t di i d i t ib t t ib t d
¾Berkaitan dengan class yang terdiri dari atribut-atribut dan operasi-operasinya.
¾Perubahan pada object tidak mempengaruhi object lain
¾Cenderung mudah dipahami karena mewakili keadaan objek yang sebenarnya di dunia nyata
¾Penggunaan layanan/service objek lain harus mengacu pada ¾Penggunaan layanan/service objek lain harus mengacu pada
Secara bagan model ini digambarkan sebagai berikut:
Secara bagan model ini digambarkan sebagai berikut:
2.
2.
Data Flow
Data Flow models
models
¾ Sistem dibagi bagi menjadi fungsi fungsi yang menerima input ¾ Sistem dibagi-bagi menjadi fungsi-fungsi yang menerima input
dan mengubahnya menjadi output. Model ini juga disebut pendekatan pipeline
¾ Aliran data mengalir dari satu proses ke proses lain secara ¾ Aliran data mengalir dari satu proses ke proses lain secara
sekuensial dan setiap proses merupakan transformasi data.
¾ Proses ada yang dilakukan secara sekuensial, tadi ada juga yang paralel