8/19/2019 Rangkuman SBD
1/32
Pertemuan 15Dukungan Transaksi
Transaksi adalah sebuah aksi atau serangkaian aksi yang dilakukan oleh useratau aplikasi yang mengakses atau mengubah isi dari database. Atau dapat jugadikatakan sebagai unit kerja logical (logical unit of work) dari suatu databaseProgram aplikasi merupakan serangkaian transaksi tanpa pengolahan databasedidalamnya transaksi selalu merubah database dari satu stata konsisten ke statalainnya, walaupun konsistensi data dapat terganggu selama transaksi berjalan.
Transaksi dapat menghasilkan salah satu output berikut :- ukses ! transaksi dikatakan commited dan database mencapai stata
baru"stata berikutnya.- #agal ! transaksi dikatakan aborted, dan database harus dikembalikan ke
stata tetap sebelum dilakukannya transaksi. Transaksi seperti ini disebutroll back atau undone.
Transaksi yang committed tidak dapat digagalkan. Transaksi yang digagalkan
akan dilakukan rollback yang dapat diproses ulang (restarted) diwaktumendatang.
Sifat-sifat Transaksi (Properties of Transactions) Terdapat $ sifat dasar dari transaksi (A%&', aerder and euter, *+-) :
- Atomicity (keutuhan), merupakan sifat all or nothing/. Transaksimerupakan unit yang tidak terlihat yang harus dilakukan secarakeseluruhan atau tidak sama sekali. al ini merupakan Tanggungjawabdari sub sistem reco0ery suatu database untuk memastikan atomicity.
- %onsistency (1etetapan), transaksi harus mengubah database dari satustate konsisten ke state konsisten lainnya berikutnya. al ini merupakantanggung jawab dari '23 dan pembuat aplikasi untuk memastikankonsistensi. '23 dapat memastikan konsistensi dengan menjalankansemua batasanbatasan seperti batasan integrity dan enterprise.
- &solation (Pemisahan), transaksi dieksekusi secara terpisah antara satutransaksi dengan yang lainnya. 'engan kata lain, akibat yang terpisahdari transaksi yang tidak lengkap harus tidak dapat dilihat oleh transaksiyang lain. al ini merupakan tanggung jawab dari subsistem kontrolconcurrency untuk memastikan pemisahan (isolation).
- 'urability ('aya tahan), Akibat dari transaksi yang lengkap (committed )yaitu data akan direkam kedalam database secara permanen dan tidakakan hilang dikarenakan kegagalan berikutnya. al tersebut merupakantanggung jawab dari subsistem reco0ery untuk memastikan durability.
Subsistem Transaksi DBMS (DBMS Transaction Subsystem) Transaction 3anager mengkoordinasikan transaksi untuk kepentingan
program aplikasi, yang saling berkomunikasi dengan scheduler, yaitu modulyang bertanggung jawab mengenai implementasi strategi khusus untuk kontrolconcurrency. cheduler kadang mengacu kepada lock manager, jika protokolkontrol concurrency berdasarkan penguncian (locking).
Tujuan dari scheduler adalah memaksimalkan concurrency tanpamemungkinkan transaksi yang sedang dieksekusi untuk mempengaruhi"salingmempengaruhi dengan transaksi lainnya. 4ika terjadi kegagalan, maka databasedapat menjadi tidak konsisten. al tersebut merupakan tugas bagi reco0erymanager untuk memastikan database dikembalikan ke stata sebelum dilakukan
transaksi.
*
8/19/2019 Rangkuman SBD
2/32
Akhirnya,bu5er manager bertanggung jawab untuk mengirimkan dataantara penyimpanan disk dengan main memory.
1ontrol 1onkurensi%oncurrency control merupakan proses pengaturan operasi yang simultan
pada database tanpa menyebabkan saling mempengaruhi antara satu denganyang lain. Akses konkuren tidak akan bermasalah jika user hanya melakukanpembacaan data saja, gangguan akan terjadi jika dua atau lebih user mengaksesdatabase secara simultan dan sedikitnya melakukan satu perubahan (update),maka dapat menyebabkan ketidak6konsistenan
7alaupun masing6masing transaksi tersebut secara terpisah benar, tetapisecara keseluruhan akan menghasilkan output yang salah. Terdapat tiga masalahpotensial yang disebabkan oleh concurrency :
- 3asalah kehilangan modi8kasi- 3asalah modi8kasi sementara- 3asalah analisa yang tidak konsisten
Concurrency Control Tecni!ues Terdapat dua teknik kontrol konkurensi yang memungkinkan transaksi
untuk mengeksekusi dengan aman dalam subjek paralel untuk batasan tertentu :- 3etode 9ocking dan- 3etode Timestamp
9ocking dan timestamping pada dasarnya merupakan pendekatan konser0atif (pesimistik) yang dapat menyebabkan penundaan transaksi jika terjadi konikdengan transaksi lainnya pada waktu yang sama. 3etode optimistik,berdasarkan pada pemikiran bahwa konik jarang terjadi sehinggamemungkinkan transaksi diproses unsynchroni;ed dan melakukan pemeriksaankonik diakhir transaksi.
"ocking9ocking merupakan suatu prosedure untuk mengontrol akses konkuren
terhadap data. 1etika satu transaksi mengakses database, sebuah kunci (lock)dapat mengabaikan akses untuk transaksi lainnya, untuk menghindari hasil yangsalah.
3etode locking merupakan pendekatan yang paling banyak digunakanuntuk memastikanseriali;ability. ecara umum, transaksi harus menegaskan penguncian (lock)shared (read) atau e
8/19/2019 Rangkuman SBD
3/32
lock secara simultan terhadap data item yang sama, sedangkan e
8/19/2019 Rangkuman SBD
4/32
mende8nisikan periode waktu. 4ika kunci belum diberikan dalam periode ini,maka permintaan kuncikehabisan waktu (times out). 'alam kasus ini, '23 mengasumsikan transaksiterjadi deadlocked,walaupun mungkin tidak terjadi, dan transaksi tersebut digagalkan dan secaraotomatis mengulang dari awal transaksi yang bersangkutan.
Dea%lock Pre'entionPendekatan lain yang mungkin dilakukan untuk menghindari deadlock
adalah memerintahkantransaksi menggunakan transaksi timestamps :
- 7ait6'ie ! memungkinkan hanya transaksi lama menunggu traksaksi baru,selain itu transaksi digagalkan (dies) dan diulang dengan timestamps yangsama.
- 7ound67ai t ! hanya transaksi baru yang menunggu transaksi lama. 4ikatransaksi lama meminta kunci yang dimiliki oleh transaksi baru, makatransaksi baru akan digagalkan (wounded).
Dea%lock DetectionPendeteksian deadlock biasanya ditangani dengan membuat konstruksi
7ait ?or #raph (7?#) yang memperlihatkan ketergantungan transaksi, yaitutransaksi Ti bergantung pada Tj jika transaksi Tj memegang kunci untuk dataitem yang ditunggu olah Ti. 7?# merupakan graf berarah (directed graph) #@(, =), yang dapat debentuk dengan cara :
- 2uatlah ode untuk setiap transaksi- 2uatlah edge berarah Ti 6B Tj, jika Ti menunggu kunci untuk item yang
sedang dikunci oleh Tj.
eco0ery dari 'eadlock 'etection
• Pilih tersangka deadlock, dijalankan hal yang harus diperhatikan :
- udah berapa lama transaksi dijalankan (lebih baik menggagalkantransaksi yang baru saja dijalankan daripada yang telah dijalankanbeberapa saat)
- udah berapa banyak data yang diubah melalui transaksi tersebut(lebih baik menggagalkan transaksi dengan jumlah perubahan yangsedikit)
- 2erapa banyak data item lagi yang masih harus di ubah (lebih baikmenggagalkan transaksi ayng masih memerlukan banyak perubahan)
• eberapa jauh harus mengulan kembali transaksi
• 3enyediakan catatan kesalahan (untuk kesalahan yang seringkali muncul)
Meto%e Timestamping3etode timestamps untuk kontrol konkuren sedikit berbeda dengan
metode locking. ecara umum metode locking mencegah konik denganmembuat transaksi menunggu, sedangkan dengan metode timestamp transaksidisertakan dalam konik dan dengan mudah di6rolled back dan restarted.
Timestamp adalah identi8er unik yang dibuat oleh '23 untukmengindikasikan waktu mulai relatif dari suatu transaksi. 'apat dibangundengan menggunakan waktu sistem pada saat transaksi dimulai, atau denganpenambahan counter logical setiap saat transaksi baru dilaksanakan.
Timestamping adalah protokol kontrol konkuren yang memerintahkantransaksi dalam suatu cara dimana transaksi lama, transaksi dengan timestampyang lebih kecil mendapatkan prioritas jika terjadi konik.
$
8/19/2019 Rangkuman SBD
5/32
'engan timestamping, jika transaksi berusaha untuk membaca ataumenulis data item, kemudian pembacaan"penulisan hanya dibolehkan untukdiproses jika update terakhir dari data item tersebut dibawa oleh transaksi lama(older transaction). ebaliknya, transaksi meminta pembacaan"penulisandiulangi dan diberikan timestamp yang baru.
4uga terdapat timestamp untuk data item :- read6timestamp ! yaitu timestamp dari transaksi terakhir untuk membaca
item- write6timestamp ! yaitu timestamp dari transaksi terakhir untuk menulis
item
Pertemuan 1Database &eco'ery
'atabase eco0ery merupakan suatu proses penyimpanan "pengembalian database ke sate yang benar pada saat terjadi kerusakan.1ebutuhan atas kontrol reco0ery disebabkan karena penyimpanan data padaumumnya menggunakan empat jenis media penyimpanan berdasarkan tingkat
reliabilitas " tahan uji6nya terdapat > jenis penyimpanan :- Colotile storage, biasanya tidak bertahan jika terjadi kerusakan sistem.
%ontohnya : main memory- on0olotile storage, magnetic disk merupakan online non0olatile storage
dan magnetic tape merupakan oDine non0olatile storage. 9ebih reliabledan lebih murah. table storage, merepresentasikan informasi yang telahdireplika kedalam beberapa media penyimpanan non0olatile dengan jeniskerusakan yang terpisah.
Terdapat beberapa jenis kerusakan yang dapat mempengaruhi prosesdatabase. 2eberapa kerusakan hanya mempengaruhi main memory saja atau
juga media yang lain. 1erusakan tersebut diakibatkan oleh :- ystem %rashes, menyebabkan hilangnya data dari main memory.- 3edia failures, menyebabkan hilangnya sebagian data dari media
penyimpanan secondary.- Application oftware errors, misalnya logical error yang terdapat dalam
program yang mengakses database sehingga menyebabkan satu ataulebih transaksi mengalami kegagalan.
- atural Physical disaster, bencana alam"musibah seperti : kebakaran,banjir, gempa bumi, kerusakan listrik.
- %arelessness, kecerobohan atau tindakan tidak sengaja yangmenyebabkan kerusakan data, yang dilakukan oleh operator atau user.
- abotage, sabotase atau tindaka sengaja merusak atau mencuri data,
fasilitas hardware maupun software.
Transaksi dan eco0ery Transaksi merepresentasikan unit dasar dari reco0ery dalam sistem
database. eco0ery manager bertanggung jawab atas atomicity dan durability. 4ika kesalahan terjadi antara penulisan ke bu5er dan mengirimkan bu5erdatabase ke penyimpanan sekunder maka reco0ery manager harus menetapkanstatus dari transaksi yang melakukan penulisan pada saat terjadi kerusakan. 4ikatransaksi dinyatakan commit, maka untuk memastikan durability, reco0erymanager harus melakukan redo (rollforward) terhadap perubahan transaksi.
4ika transaksi belum commit pada saat terjadi kerusakan, reco0erymanager harus melakukan undo segala akibat dari transaksi tersebut untuk
menjamin atomicity transaksi. 4ika hanya terdapat satu transaksi yang tidak
E
8/19/2019 Rangkuman SBD
6/32
diselesaikan, maka mengacu ke partial undo. edangkan jika seluruh transaksitidak terselesaikan maka mengaci ke6global undo.
asilitas &eco'ery'23 harus menyediakan fasilitas berikut untuk mendukung reco0ery :
- 3ekanisme 2ackup, yang akan membuat salinan dari database secaraperiodik.
- ?asilitas 9ogging (pencatatan), yang menyimpan catatan dari statatransaksi dan perubahan database.
- ?asilitas %heckpoint, yang memungkinkan merubah database yang sedangdalam pengembangan menjadi permanen.
- eco0ery manager, yang mengi;inkan '23 untuk menyimpan databasepada stata konsisten jika terjadi kerusakan " kesalahan.
"og ile (ile Catatan)Fntuk menyimpan catatan dari transaksi database, '23 memiliki 8le khususyang disebut log 8le, yang berisi informasi tentang semua perubahan terhadap
database. %atatan dapat berisi data6data berikut :- ecord Transaksi
o &denti8er transaksi
o Tipe dari record catatan (transaksi start, insert, update, delete,
abort, commit)o &denti8er dari data item yang diakibatkan oleh aksi database
(operas insert, delete, dan update)o 2efore6image dari data item, yaitu nilai sebelum dilakukan
perubahan (hanya operasi update dan delete)o After6image dari data item, yaitu nilai sesudah perubahan (hanya
operasi insert dan update)o
&nformasi manajemen catatan, seperti pointer ke record catatansebelum dan sesudah untuk transaksi tersebut- ecord %heckpoint
%atatan biasa digunakan untuk kepentingan lain dibandingkan untukreco0ery (contoh untuk monitoring (pengawasan) dan auditing). 'alam halini informasi tambahan yang dapat disimpan dalam log 8le (contoh :pembacaan database, logon user, logo5 dan lainnya)
Ceckpointing%heckpoint titik dari penyelarasan (synchroni;ation) antara database dan
log 8le. %heckpoint dijadwalkan saat penetapan sebelum inter0al danmenyertakan operasi berikut :
• 3enuliskan seluruh record log dalam main memory kedalam penyimpanansekunder.
• 3enuliskan blok perubahan dalam bu5er database ke penyimpanan
sekunder.
• 3enuliskan record checkpoint kedalam log 8le. ecord ini berisikan
identi8er dari seluruh transaksi aktif pada saat checkpoint.
Teknik &eco'ery 4ika database mengalami kerusakan seperti :
• 4ika database mengalami kerusakan secara luas, misalnya kerusakan disk
head dan kerusakan database, maka perlu dikembalikan ke back6
up"salinan terakhir dari database dan diaplikasikan ulang operasi updatedari transaksi yang commited dengan menggunakan log 8le.
G
8/19/2019 Rangkuman SBD
7/32
• 4ika database hanya mengalami ketidak6konsistenan, maka harus
melakukan undo perubahan6perubahan yang menyebabkan tidakkonsisten. 4uga perlu melakukan redo terhadap beberapa transaksi untukmenjamin perubahan yang dilakukan telah disimpan ke penyimpanansekunder. Tidak memerlukan back6up salinan dari database tetai dapat
mengembalikan database ke stata konsisten dengan menggunakan beforedan after image yang ada dalam log 8le.
'ari dua contoh kasus diatas, maka terdapat tiga teknik reco0ery :- 'eferred Fpdate- &mmediate Fpdate- hadow Paging
Deferre% *p%ate'engan menggunakan protocol reco0ery deferred update, update tidak
dituliskan kedalam database sampai dengan transaksi mencapai titik commit. 4ika transaksi gagal sebelum commit, maka update tersebut tidak akan merubah
database dan tidak perlu melakukan undo perubahan. Tetapi mungkin perlumelakukan log 8le untuk perlindungan dari kesalahan sistem dengan cara :
- 1etika mulai transaksi, tuliskan record transaction start pada log 8le- 1etika operasi penulisan dilaksanakan, tuliskan record log berisikan
seluruh data log yang telah dispesi8kasikan sebelumnya. Tidakmenuliskan update pada bu5er database atau database itu sendiri.
- 1etika transaksi commit, tuliskan transaction commit pada record log, tulisseluruh record log transaksi ke disk kemudian selesaikan transaksi.#unakan record log untuk menjalankan update pada database.
- 4ika transaksi gagal, abaikan record log transaksi dan jangan melakukanpenulisan.
+mme%iate *p%ate'engan menggunakan protocol reco0ery immediate update, update di
aplikasikan pada data base ketika dijalankan tanpa harus menunggu titikcommit. Perlu melakukan redo update dari transaksi commited jika terjadikesalahan, menjadi penting untuk mengulang (undo) akibat dari transaksi yangbelum committed pada saat terjadi kesalahan. 'alam kasus ini digunakan log 8leuntuk perlindungan terhadap kesalahan sistem dengan cara :
- 4ika transaksi dimulai, tuliskan record transaction start pada log 8le.- 1etika operasi penulisan dilaksanakan, tuliskan record berisikan data6data
yang dianggap perlu kedalam log 8le.- 1etika log 8le sudah ditulis, tuliskan update pada bu5er database.
- Fpdate terhadap database itu sendiri dilakukan ketika bu5er dikirimkankemudia ke penyimpanan sekunder.
- 1etika transaksi commit, tuliskan record transaction commit di log 8le.
Pada dasarnya record log dituliskan sebelum penulisan yang sesuai padadatabase, dikenal dengan write6ahead log protocol. 4ika tidak terdapat recordtransaction commit/ dalam log, kemudian transaksi tersebut aktif pada saatterjadi kesalahan maka harus digagalkan.
4ika transaksi gagal, log dapat digunakan untuk melakukan undo dimana telahdituliskan dalam log 8le.
hadow Paging3engatur"memelihara dua table selama transaksi berlangsung yaitu :
tabel current page dan shadow page. 1etika transaksi dimulai, kedua tabel
H
8/19/2019 Rangkuman SBD
8/32
tersebut sama. Tabel shadow page tidak akan diubah sesusah itu dan digunakanuntuk mengembalikan database pada saat terjadi kesalahan. elama transaksiberlangsung tabel current page digunakan untuk mencatat seluruh updateterhadap database. 1etika transaksi selesai, tabel current page menjadi tabelshadow page.
Pertemuan 1,Perencanaan Perancangan %an .%ministrasi Basis Data
Tujuan :- 1omponen utama sebuah sistem informasi- Tahapan6tahapan utama siklus hidup aplikasi basis data- ?ase6fase utama perancangan database : perancangan conceptual, logical,
dan physical- 1euntungan dari %A= tool- 2agaimana menge0aluasi dan memilih '23- Perbedaan antara administrasi data dan administrasi database- 1egunaan dan tugas6tugas dihubungkan dengan administrasi data dan
administrasi database
System +nformation "ifecycleistem informasi merupakan sumberdaya yang memungkinkan
pengumpulan, pengaturan, pengawasan, dan penyebaran informasi keseluruhorganisasi.
'atabase merupakan komponen mendasar dari sistem informasi danpengembangan serta penggunaan harus dapat dilihat dari tingkat kebutuhanyang lebih luas dari organisasi yang menggunakannya. Ileh karena itu siklushidup dari sistem informasi suatu organisasi terkait erat dengan siklus hidupsistem database yang mendukungnya.
Fmumnya tahapan dalam siklus hidup sistem informasi meliputi :perencanaan, pengumpulan kebutuhan dan analisis, perancangan, purwarupa,penerapan, pengujian, perubahan, dan pemeliharaan operasional.
Database .pplication "ifecycle1etika sistem database menjadi komponen mendasar suatu sistem
informasi organisasi Jang lebih besar dan luar, maka siklus aplikasi database dihubungkan dengansiklus hidup sistem informasi.
ingkasan akti80itas utama dihubungkan dengan tiap tahapan dalam siklushidup aplikasi database
tage 3ain Acti0ites'atabase planning Perencanaan bagaimana tahapan6
tahapan dalam siklus hidup dapatdirealisasikan dengan efektif dane8sien
ystem de8nitioneKuirements collection and analysis
3enspesi8kasikan lingkup dan batasanaplikasi database, para penggunanyadan area aplikasi
'atabase design 3engumpulkan dan menganalisaseluruh kebutuhan pengguna dan areaaplikasi
'23 design Perancangan conseptual, logical, danphysical dari database
'23 selection 3emilih '23 yang lebih cocok untuk
8/19/2019 Rangkuman SBD
9/32
aplikasi database yang adaApplication design Perancangan interface pengguna,
program aplikasi yang digunakan danproses databasenya
Prototyping 3embuat model kerja dari aplikasi
database, yang memungkinkanperancang atau pengguna melihat danmenge0aluasi bagaimana sistem akhirakan berfungsi dan bekerja
&mplementation Pembuatan de8nisi databaseeksternal , konseptual dan internal danprogram aplikasi
'ata con0ersion and loading 3engambil dan memindahkan data darisistem lama ke sistem baru
Testing Aplikasi database diuji untuk kesalahandan 0alidasi, dibandingkan denganspesi8kasi kebutuhan yang diberikan
oleh penggunaIperational maintenance etelah aplikasi database
terimplementasi seluruhnya. ecaraberkesinambungan diawasi dan diatur.1ebutuhan baru dapat ditambahkankedalam aplikasi database melaluitahapan6tahapan yang ada, jikadiperlukan
1/ Perencanaan Databaseo
3erupakan akti0itas manajemen yang memungkinkan tahapan daridatabase application lifecycle direalisasukan se6efektif mungkin.o Perencanaan database harus terintegrasi dengan keseluruhan
strategi sistem informasi dari organisasi.o Terdapat - hal pokok yang berkaitan dengan strategi sistem
informasi, yaitu : &denti8kasi rencana dan sasaran dari enterprise termasuk
mengenai sistem informasi yang dibutuhkan. =0aluasi sistem informasi yang ada untuk menetapkan
kelebihan dan kekurangan yang dimiliki. Penaksiran kesempatan &T yang mungkin memberikan
keuntungan kompetitif.o 3etodologi untuk mengatasi hal tersebut diatas yaitu :
'atabase Planning ! Mission Statement 0
• 3issio statement untuk database project
mende8nisikan tujuan utama dari aplikasi database.
• 3engarahkan database project, biasanya
mende8nisikan perintah tugas.
• 3ission statement membantu menjelaskan kegunaan
dari database project dan menyediakan alur yang lebih jelas untuk mencapai efekti8tas dan e8siensipenciptaan dari suatu aplikasi database yangdiinginkan.
'atabase Planning ! Mission b2ecti'es0
+
8/19/2019 Rangkuman SBD
10/32
• 1etika mission statement telah dide8nisikan, maka
mission objecti0es dide8nisikan.
• etiap objecti0e harus mengidenti8kasikan tugas
khusus yang harus didukung oleh database.
• 'apat juga disertai dengen beberapa informasi
tambahan yang menspesi8kasikan pekerjaan yangharus diselesaikan, sumber daya yang digunakan danbiaya untuk membayar kesemuanya itu.
o 'atabase planning juga harus menyertakan pengembangan
standar6standar yang menentukan : 2agaimana data akan dikumpulkan,
2agaimana menspesi8kasikan format"bentuk data,
'okumentasi penting apakah yang akan diperlukan,
2agaimana desain dan implementasi harus dilakukan,
$/ De3nisi Sistemo
3enjelaskan batasan6batasan dan cakupan dari aplikasi databasedan sudut pandang user yang utama.o Fser 0iew mende8nisikan apa yang diwajibkan dari suatu aplikasi
database dari perspektif, diantaranya : Aturan kerja khusus
Area aplikasi enterprise
o Aplikasi database dapat memiliki satu atau lebih user 0iew
o &denti8kasi user 0iew, membantu memastikan bahwa tidak ada user
utama dari suatu database yang terlupakan ketika pembuatanaplikasi baru yang dibutuhkan.
o Fser 0iews juga membantu dalam pengembangan aplikasi database
yang rumit " kompleks memungkinkan permintaan6permintaandipecah kedalam bagian6bagian yang lebih mudah diatur.
4/ Analisis dan Pengumpulan kebutuhano uatu proses pengumpulan dan analisa informasi mengenai bagian
organsisasi yang didukung oleh aplikasi database, danmenggunakan informasi tersebut untuk identi8kasi kebutuhan userpada sistem yang baru.
o &nformasi dikumpulkan untuk setuap user 0iew utama meliputi :
'eskripsi data yang digunakan atau dihasilkan
'etail mengenai bagaimana data digunakan"dihasilkan
2eberapa kebutuhan tambahan untuk aplikasi database yang
baruo &nformasi dianalisa untuk identi8kasi kebutuhan agar disertakan
dalam aplikasi database yang baruo Akti8tas penting lainnya, adalah menentukan bagaimana mengatur
aplikasi database dengan multiple user 0iew, ada - pendekatanyaitu :
%entrali;ed approachL
Ciew intergration approachL
%ombination of both approaches.
o Pen%ekatan terpusat
1ebutuhan untuk setiap user 0iew digabungkan menjadi
sekumpulan kebutuhan.
*M
8/19/2019 Rangkuman SBD
11/32
ebuah global data model dibuat berdasarkan atas
penggabungan kebutuhano Pen%ekatan +ntegrasi ie#
1ebutuhan untuk setiap user 0iew digunakan untuk
membangun model data terpisah untuk merepresentasikan
user 0iew tersebut. asil dari model data tersebut nantinyadigabungkan dalam tahapan desain database. 3odel data yang merepresentasikan user 0iew tunggal
disebut local data model, dan tersusun atas diagram6diagramdan dokumentasi yang secara formal menggambarkankebutuhan dari user 0iew khusus terhadap database.
1emudian 9ocal data model digabungkan untuk
menghasilkan global data model, yang merepresentasikanseluruh user 0iew untuk database.
6/ Database Designo 3erupakan suatu proses pembuatan sebuah desain database yang
akan menduking tujuan dan operasi suatau enterprise.o Tujuan utamanya adalah :
3erepresentasikan data dan relationship antar data yang
dibutuhkan oleh seluruh area aplikasi utama dan user group. 3enyediakan model data yang mendukung segala transaksi
yang diperlukan pada data. 3enspesi8kasikan desain minimal yang secara tepat disusun
untuk memenuhi kebutuhan performa yang ditetapkan padasistem (misal : waktu respon)
o Pendekatan dalam desain database
Top-%o#n
'iawali dengan pembentukan model data yang berisibeberapa entitas high6le0el dan relationship yang kemudiamenggunakan pendekatan top6down secara berturut6turutuntuk mengindenti8kasikan entitas lower le0el, relationshipdan atribut lainnya.
Bottom-up
'imulai dari atribut dasar (yaitu, sifat6sifat entitas danrelationship), dengan analisi dari penggabungan antaratribut, yang dikelompokan kedalam suatu relasi yangmerepresentasikan tipe dari entitas dan relationship antarentitas.
Mi7e%3enggunakan pendekatan bottom6up dan top6down untukbagian yang berbeda sebelum akhirnya digabungkan.
o 1egunaan utama dari data modeling meliputi :
Fntuk membantu dalam memahami arti (semantik) dari data.
Fntuk memfasilitasi komunikasi mengenai informasi yang
dibutuhkan.o Pembuatan model data mengharuskan menjawab pertanyaan
mengenai entitas, relationship dan atribut.o 3odel data memastikan kita memahami :
etiap perspektif user mengenai data
ifat dari data itu sendiri, independen terhadap representasi
8siknya. 1egunaan data melalui user 0iew.
**
8/19/2019 Rangkuman SBD
12/32
o 1riteria untuk menghasilak model data yang optimal :
Calidasi truktural, harus konsisten dengan de8nisi enterprise
dan informasi organisasi. 1esederhanaan, mudah dimengerti baik oleh profesional
sistem informasi maupun pengguna non6teknik.
1etepatan, kemampuan untuk membedakan antara datayang berlainan, relationship antar data dan batasan6batasan. Tidak rangkap, pengeluaran informasi yang tidak
berhubungan, dengan kata lain, representasi setiap bagianinformasi hanya satu kali.
'igunakan bersama, tidak ditentukan untuk aplikasi atau
teknologi tertentu dan dapat digunakan oleh banyakpengguna.
Perluasan penggunaan, kemampuan untuk menyusun dan
mendukung kebutuhan baru dengan akibar sampingan yangminimal terdapat pada user yang sudah ada.
&ntergritas, konsisten dengan cara yang digunakan enterprise
dan pengaturan informasi. epresentasi diagram, kemampuan untuk merepresentasikan
model menggunakan notasi diagram yang mudah dimengerti.o Tiga fase database design :
Conceptual %atabase %esign
uatu proses pembentukan model dari informasi yangdigunakan dalam enterprise independen dari keseluruhanaspek 8sik. 3odel data dibangun dengan menggunakaninformasi dalam spesi8kasi kebutuhan user. 3odel datakonseptual merupakan sumber informasi untuk fase desainlogical.
"ogical %atabase %esignuatu proses pembentukan model dari informasi yangdigunakan dalam enterprise berdasarkan model data tertentu(misal : relasional), tetapi independen terhadap '23tertentu dalam aspek 8sik lainnya. 3odel data konseptualyang telah dibuat sebelumnya, diperbaiki dan dipetakankedalam model data logical
Pysical %atabase %esign
uatu proses uyang menghasilkan deskripsi implementasidatabase pada penyimpanan sekunder. 3enggambarkanstruktur penyimpanan dan metode akses yang digunakan
untuk mencapai akses yang e8sien terhadap data. 'apatdikatakan juga, desain 8sikal merupakan cara pembuatanmenuju sistem '23 tertentu.
5/ DBMS selectionPemilihan '23 yang tepat untuk mendukung aplikasi database. 'apatdilakukan kapanpun sebelum menuju desain logicaal asalkan terdapatcukup informasi mengenai kebutuhan sistem. Tahap6tahap utama untukmemilih '23 :
o 3ende8nisikan terminologi studi referensi.o 3endaftar dua atau tiga produk.o =0aluasi produk.o ekomendasi pilihan dan laporan produk.
/ Desain .plikasi
*>
8/19/2019 Rangkuman SBD
13/32
'esain interface user dan program aplikasi yang menggunakan danmemproses database. 'esain database dan aplikasi merupakan akti8tasparalel yang meliputi dia akti8tas pentng, yaitu :
o Transaction %esign Transaksi adalah sati aksi atau serangkaian aksi yang dilakukan oleh
user tunggal atau program aplikasi, yang mengakses atau merubahisi dari database. 1egunaan dari desain transaksi adalah untukmenetapkan dan keterangan karakteristik high6le0el dari suatutransaksi yang dibutuhkan pada database, diantaranya :
'ata yang akan digunakan oleh transaksi.
1arakteristik fungsional dari suatu transaksi
Iutput transaksi
1euntungan bagi user
Tingkat kegunaan yang diharapkan
Terdapat tiga tipe transaksi, yaitu : &etrie'al transaction, digunakan untuk pemanggilandata
untuk ditampilkan di layar atau menghasilkan suatu laporan. *p%ate transaction, digunakan untuk menambahkan
record baru, menghapus record lama, atau memodi8kasirecord yang sudah ada didalam database.
Mi7e% transaction, meliputi pemanggilan dan perubahan
data.
o *ser interface %esign2eberapa aturan pokok dalam pembuatan user interface :
3eaningful title, diusahakan pemberian nama suatu form
cukup jelas menerangkan kegunaan dari suatu form"report
%omprehensible instructions, penggunaan termonologi yangfamiliar untuk menyampaikan instruksi ke user dan jikainformasi tambahan dibutuhkan, maka harus disediakanhelpscreen
9ogical grouping and seKuencing of 8elds, 8eld yang saling
berhubungan ditempatkan pada form " report yang sama.Frutan 8eld harus logis dan konsisten.
Cisually appealing layout of the form"report, tampilan
form"report harus menarik, dan sesuai dengan hardcopy agarkonsisten.
?amiliar 8eld labels, penggunaan label yang familiar.
%onsistent terminology and abbre0iation, terminology dansingkatan yang digunakan harus konsisten. %onsisten use of color.
Cisible space and boundaries for data6entry 8elds, jumlah
tempat yang disediakan untuk data entru harus diketahuioleh user.
%on0inient cursosr mo0ement, user dapat dengan mudah
menjalankan operasi yang diinginkan dengan menggerakkancursor pada form"report.
=rror correction for indi0idual characters and entire 8elds,
user dapat dengan mudah menjalankan operasi yangdiinginkan dan melakukan perubahan terhadap nilai 8eld.
=rror messages for unacceptable 0alues.
Iptional 8elds marked clearly.
*-
8/19/2019 Rangkuman SBD
14/32
=
8/19/2019 Rangkuman SBD
15/32
o Pengawasan performa sistem, jika performa menurun makamemerlukan perbaikan atau pengaturan ulang database.
o Pemeliharaan dan pembaharuan aplikasi database (jika dibutuhkan)o Penggabungan kebutuhan baru kedalam aplikasi database.
C.S8 ToolPada tahapan database planning juga dapat menyertakan pemilihan %omputerAided oftware =ngineering (%A=) Tool yang sesuai. %A= dapat diaplikasikanpada perangkat pendukung software engineering. 'ukungan yang disediakanoleh %A= tool meliputi :
- 1amus data untuk menyimpan informasi mengenai data6data dari aplikasidatabase.
- 'esign tool untuk mendukung analisis data.- Tool untuk memungkinkan pengembangan dari model data gabungan dan
model data logical dan konseptual.- Tool untuk memungkinkan prototyping aplikasi.
%A= tool juga menyediakan beberapa keuntungan yang dapat meningkatkanprodukti0itas :
• tandard, membantu terjadinya standarisasi pada proyek software atau
keseluruhan organisasi. 3enghasilkan komponen6komponen standar yangdapat digunakan kembali, sehingga menyederhanakan pemeliharaan danmeningkatkan produkti0itas.
• &ntegrasi, menyimpan seluruh informasi yang dibangun dalam tempatpenyimpanan atau kamus data. eluruh data dikumpulkan selamatahapan database application lifecycle, kemudian saling berhubunganuntuk memastikan bahwa semua bagian dari sistem terintegrasi.
• 3endukung metode standar (support for standard methods), metode6
metode biasanya disusun menggunakan diagram yang berbeda, yangpenggambaran dan pemeliharaannya cukup rumit. %ase toolmenyederhanakannya dan mengeluarkan hasil akhir dalam dokumentasi.
• 1onsistensi, dapat memeriksa konsistensi informasi yang tersimpan.
• Itomasi (Automation), beberapa %A= tool dapat secara otomatis
merubah bagian dari spesifkasi desain menjadi kode e
8/19/2019 Rangkuman SBD
16/32
Pengaturan realisasi 8sik dari aplikasi database, meliputi :
• 'esain 8sik database dan implementasi
• Pengaturan keamanan dan kontrol integritas
• Pengawasan performa sistem dan pengaturan ulang database jika
diperlukan.
Pertemuan 19
8/19/2019 Rangkuman SBD
17/32
3emungkinkan kita untuk memelihara"mengadakan batasan padarelasi dasar dengan melaksanakan beberapa batasan pada relasiyang lebih kecil.
unctional Depen%ency- 3erupakan konsep inti yang terkait dengan normalisasi- ?unctional dependency, menjelaskan relationship antar atribut6atribut
dalam relasi.- ?unctional 'ependency merupakan sifat dari arti semantik suatu atribut
dalam sebuah relasi.- 'eterminant dari functional dependency mengacu kepada atribut atau
himpunan atribut disebelah kiri anak panah.- 1arakteristik utama dari functional dependency yang digunakan dalam
normalisasi :o 3empunyi relationship *:* antar atribut disebelah kiri dan kanan
dependency.o aling terkait
o ontri0ial.- %ontoh : 3engidenti8kasikan sekumpulan ketergantungan fungsional dari
relasi ta52ranchta5o N same, position, salary, brancho, bAddressbrancho N bAddressbAddress N branchobrancho, position N salarybAddress, position N salary
Terdapat E functional dependencies dimana sta5o, brancho, bAddress,(brancho, position) dan (bAddress, position) sebagai determinan. etiapatribut disisi kanan bergantung secara fungsional dengan determinanyang ada disisi kiri
• 1umpulan lengkap dari sebuah functional dependency untuk suatu relasi
bisa sangat besar.
• Penting untuk menemukan pola pendekatan yang dapat mengurangi
himpunan"kumpulan tersebut untuk mendapatkan ukuran yang lebihmudah diatur.
• Perlu untuk mengidenti8kasi himpunan functional dependency
(direpresentasikan oleh O) untuk relasi yang lebih kecil daripada himpunanlengkap functional dependency (direpresentasikan oleh J) untuk relasitersebut dan memiliki sifat disetiap functional dependency pada Jdipenuhi dengan functional dependencies pada O.
• impunan dari seluruh functional dependency yang dipenuhi denganhimpunan yang diberikan oleh functional dependency yang baru dapatdisimpulkan dari functional dependency yang sudah ada.
• 3isalkan A, 2, dan % merupakan subset dari atribut suatu relasi . 3aka
Armstrongs a
8/19/2019 Rangkuman SBD
18/32
enterprise mempunyai eksistensi yang independen. 1eberadaan dapat berupa8sik maupun abstrak.
=ntity occurrencem yaitu pengidenti8kasian object yang unik dari sebuahtype enity. etiap entitas di identi8kasikan dan disertakan poperty6nya.
&elationsip types1umpulan keterhubungan yang mempunyai arti antara type entitas yang ada.elationship occurrence, yaitu keterhubungan yang diidenti8kasi secara unikyang meliputi keberadaan tiap type entitas yang berpartisipasi.
Dera2at &elationsip Jaitu jumlah entitas yang berpartisipasi dalam suatu relationship. 'erajatrelationship terdiri dari :
• 2inary relationship, keterhubungan antar dua type entitas. %ontoh binary
relationship antara Pri0ateIwner dengan Property?orent yang disebutPIwns.
• Ternary relationship keterhubungan antar tiga type entitas. %ontoh Ternary
elationship yang dinamakan egisters. elasi ini melibatkan tiga tipeentity yaitu ta5, 2ranch dan %lient. elationship ini menggambarkan sta5 mendaftarkan client pada branch.
• Quaternary relationship, keterhubungan antar empat type entitas. %ontoh
Quaternary elationship yang dinamakan Arranges. elasi ini melibatkan $entity yaitu 2uyer, olicitor, ?inancial &nstitution dan 2id. elasi inimenggambarkan buyer, diberi masukan oleh olicitor, dan didukung oleh?inancial &nstitution, melakukan penawaran (bid).
• Fnary relationship, keterhubungan antar satu type entitas, dimana type
entitas tersebut berpartisipasi lebih dari sati kali dengan peran yangberbeda. 1adang disebut juga recursi0e relationship. elationship dapat
diberikan role names untk mengidenti8kasikan keterkatian type entitasdalam relationship. %ontoh entitas sta5 yang berperan menjadi super0isordan sta5 yang di super0isor6i.
.ttributes3erupakan sifat6sifat dari sebuah entity atau type relationship. %ontohnya:
sebuah enity ta5 digambarkan oleh attribute sta5o, name, position dan salary.Attribute 'omain adalah himpunan nilai yang diperbolehkan untuk satu
atau lebih atribut. 3acam6macam atribut :
• imple Attribute, yaitu atribut yang terdiri dari komponan tunggal dengan
keberadaan yang independen dan tidak dapat dibagi menjadi bagian yanglebih kecil lagi. 'ikenal juga dengan nama Atomic Attribute.
• %omposite Attribute, yaitu atribut yang terdiri dari beberapa komponan,
dimana masing6masing komponen memiliki keberadaan yang independen.3isalkan atribut Address dapat terdiri dari treet %ity, Post%ode.
• ingle60alued Attribute, yaitu yang mempunyai nilai tunggal untuk setiap
kejadian. 3isalnya entitas 2ranch memiliki satu nilai untuk atributbrancho pada setiap kejadian.
• 3ulti60alued Attribute yaitu atribut yang mempunyai beberapa nilai untuksetiap kejadian. 3isalnya entitas 2ranch memiliki satu nilai untuk atributbrancho pada setiap kejadian.
• 3ulti60alued Attribute, yaitu atibut yang mempunyai beberapa nilai untuk
setiap kejadia. 3isal entitas 2ranch memiliki beberapa nilai untuk atribut
telpo pada setiap kejadian.
*
8/19/2019 Rangkuman SBD
19/32
• 'eri0ed Attribute, yaitu atribut yang memiliki nilai yang dihasilkan dari
satu atau beberapa atribut lainnya, dan tidak harus berasal dari satientitas.
>eys•
%andidate 1ey, yaitu jumlah minimal atribut6atribut yang dapatmengidenti8kasikan setiap kejadian"record secara unik.• Primary 1ey, yaitu %andidate key yang dipilih untuk
mengidenti8kasikan setiap kejadian"record dari suatu entitas secaraunik.
• %omposite 1ey, yaitu %andidate key yang terdiri dari dua atau lebihatribut.
Strong %an ?eak 8ntity Typestrong =ntity Type, yaitu entitas yang keberadaannya tidak bergantung
pada entitas lain sedangkan 7eak =ntity Type, adalah entitas yangkeberadaannya bergantung pada entitas lain. trong =ntity Type terkadang
disebut dengan parent, owner dominant dan 7eak =ntity Type disebut child,dependent, subordinate.
Structural Constraints2atasan utama pada relationship disebut multiplicity, yaitu jumlah (atau
range) dari kejadian yang mungkin terjadi pada suatu entitas yang terhubung kesatu kejadian dari entitas lain yang berhubungan melalui suatu relationship.
Pertemuan $$Meto%ology Database Design'esign 3ethodology
• 3erupakan pendekatan terstuktur yang menggunakan prosedur6prosedur, teknik6teknik, alat6alat, dokumentasi tambahan untukmendukung dan memberi fasilitas dari desain tersebut.
• Ada - fase utama dalam metodologi desain database, yaitu :o %onceptual database design
3erupakan proses pembuatan sebuah model dari informasiyang digunakan pada sebuah perusahaan, independenterhadap semua pertimbangan 8sikal.
o "ogical %atabase %esign3erupakan proses dari pembuatan sebuah model dariinformasi yang digunakan pada perusahaan berdasarkanpada model data yang spesi8k (cth: relational), tetapi
independen terhadap pertimbangan '23 tertentu dan8sikal lainnya.
o Pysical %atabase %esign3erupakan proses untuk menghasilkan suatu deskripsi dariimplementasi database pada penyimpanan sekunder(secondary storage), juga mendeskripsikan relasi dasar,organisasi 8le, dan desain indeks yang digunakan untukmencapai akses yang e8sien terhadap data dan batasanintegritas lainnya yang masih berhubungan serta ukuran6ukuran keamanan.
aktor kesuksesan yang penting %alam men%esain %atabase• 2ekerjalah seinteraktif mungkin dengan user sebanyak mungkin.
*+
8/19/2019 Rangkuman SBD
20/32
• &kutilah metodologi yang terstruktur pada seluruh proses datamodeling.
• #unakan pendekatan data6dri0en.• #abungkanlah pertimbangan struktural dan integritas ke model
data.•
1ombinasikan konseptualisasi, normalisasi, dan teknik 0alidasitransaksi ke metodologi pemodelan data (data modeling).• #unakanlah diagram untuk merepresentasikan model data
sebanyak mungkin.• #unakanlah '2'9 ('atabase 'esign 9anguage) untuk
merepresentasikan semantik data tambahan.• 2uatlah kamus data (data dictionary) sebagai tambahan diagram
model data.• 2erkemauan untuk mengulangi langkah6langkah tersebut diatas.
Meto%ology 'er'ie#Conceptual Databse Design
• 9angkah * buatlah model data konseptual lokal untuk setiap user0iew.*. &denti8kasikan tipe6tipe entity.>. &denti8kasikan tipe6tipe relationship-. &denti8kasi dan hubungkan atribut6atribut dengan tipe entity
atau relationship.$. Tentukan domain atribut.E. Tentukan atribut kandidat dan primary key.G. Pertimbangkan penggunaan konsep pemodelan tingkat
tinggi"enhanced modelling (step optional).H. Periksa model untuk redundansi.. Calidasikan model konseptual lokal terhadap transaksi user.+. Tinjau kembali model data konseptual lokal dengan user.
"ogical %atabase %esign untuk mo%el relational• 9angkah >, 2uat dan 0alidasikan model data logical lokal untuk
setiap 0iew*. Pindahkan 8tur68tur yang tidak sesuai dengan model relasional
(step optional).>. 2uat relasi untuk model data logical lokal.-. Calidasikan relasi menggunakan normalisasi.$. Calidasikan relasi terhadap transaksi user.E. Tentukan batasan integritas.
G. Tinjau kembali model data logical lokal dengan user.
• 9angkah -, 2uat dan 0alidasikan model data logical global*. #abungkan model data logical local menjadi model global.>. Calidasikan model data logical global.-. Periksa untuk pengembangan mendatang.$. Tinjau kembali model data logical global dengan user.
Pysical %atabse %esign untuk relasional %atabase• 9angkah $, terjemahkan model data logical global untuk target
'23*. 'esain relasi dasar.
>. 'esain representasi dari data yang dihasilkan.-. 'esain batasan6batasan perusahaan.
>M
8/19/2019 Rangkuman SBD
21/32
• 9angkah E, 'esain representasi 8sikal*. Analisa transaksi6transaksi.>. Pilih organisasi 8le.-. Pilih indeks6indeks.
$. Perkirakan kebutuhan tempat penyimpanan (disk space).
• 9angkah G, 'esain user 0iew• 9angkah H, 'esain mekanisme keamanan• 9angkah , Pertimbangkan pengenalan dari redundansi terkontrol• 9angkah +, Awasi dan atur sistem operasional
Langkah 1 : Membangun Model Data Konseptual Lokal Untuk Masing-Masing ViewUntuk membangun sebuah model data konseptual lokal dari sebuah enterprise untuk setiap
spesifik view. Setiap model data konseptual lokal terdiri dari :
• Entity types
• Relationship types
• Atribut dan domain atribut
• Primary key dan Alternate key
• atasan integritas
Adapun langkah-langkahnya yaitu :!. Identifikasi Tipe Entitas
Untuk mengidentifikasikan entitas utama yang dibutuhkan oleh view. "endefinisikan ob#ekutama dimana user mempunyai ketertarikan dengan ob#ek tersebut. $b#ek-ob#ek ini adalah tipeentity untuk model. Salah satu metode untuk mengidentifikasi entity adalah dengan mengu#ispesifikasi kebutuhan dari user. %ari spesifikasi ini kita mengidentifikasikan kata benda danungkapan kata benda &nouns phrases' yang disebutkan. (ita #uga dapat melihat ob#ek utamaseperti orang) tempat atau konsep dari ketertarikan diluar kata benda lainnya yang merupakankualitas dari ob#ek lain.
*. +%enti3kasi Tipe &elationsip+u#uannya untuk mengidentifikasikan relationship penting yang ada antara tipe entity yang
telah diidentifikasikan. (ita dapat menggunakan grammar dari spesifikasi kebutuhan tersebutuntuk mengidentifikasi relationship) biasanya relationship dinyatakan oleh kata ker#a,verb atauekspresi verbal. Seara langsung relationship tersebut adalah binary) dengan kata lain relationshiptersebut berada antara dua type entity. (ita pun harus berhati-hati untuk menari relationship yangkomplek yang dapat menghubungkan lebih dari dua tipe entity. Langkah-langkah identifikasi tiperelasi :
• unakan Entity Relationship %iagram &ER%'
• /ari batasan dari type relationship
• Periksa fan dan chasm traps
• Periksa bahwa masing-masing entity ikut serta setidaknya dalam satu relationship
• %okumentasikan tipe relationship
0. Identifikasi dan ubungkan !t"ibut dengan entitas atau Tipe ubungan+u#uannya untuk menghubungkan atribut dengan entitas atau tipe relationship yang
sesuai dan mendokumentasikan detail dari setiap atribut. Atribut-atribut bisa diidentifikasi dengankata benda atau ungkapan kata benda &nouns phrases' seperti property) kualitas) identifier) ataukarakteristik dari satu entity atau hubungan. Atribut dapat dibagi men#adi 0 yaitu :
• Atribut simple atau omposite
• Atribut single atau multi value
• Atribut %erived
1. Tetapkan domain at"ibut+u#uannya untuk menetapkan domain atribut dalam model data konseptual lokal danmendokumentasikan setiap detail dari domain. %omain merupakan sekumpulan &pool' nilai-nilai
dari satu atau lebih atribut yang menggambarkan nilainya. "odel data yang dibuatmenspesifikasikan domain untuk tiap-tiap atribut dan menyertakan :
>*
8/19/2019 Rangkuman SBD
22/32
• ilai yang dii;inkan untuk atribut• Fkuran dan format atribut
2. Tetapkan .tribut Primary %an Can%i%ate keyUntuk mengidentifikasikan andidate key untuk setiap entity dan #ika terdapat lebih dari
satu andidate key) maka pilih satu sebagai primary key.
3. Mempe"timbangkan kegunaan da"i konsep Enhan#ed Modeling $optional%%alam langkah ini kita mempunyai pilihan untuk mengembangkan ER model dengan
menggunakan konsep enhaned modeling) seperti spesialisasi) generalisasi) penggabungan&aggregation') komposisi &omposition'.
4. &e"iksa Model untuk &engu"angan%alam langkah ini kita mengu#i model data konseptual lokal dengan tu#uan spesifik untuk
mengidentifikasikan apakah ada redundany dalam data dan memindahkan data yang telah ada.%ua aktifitas dalam langkah ini adalah :
• 3enguji ulang relationship *6* (one6to6one)• 3enghilangkan relationship yang redundan
5. ali%asi Mo%el >onseptual "okal tera%ap Transaksi *ser+u#uannya untuk memastikan model konseptual lokal mendukung transaksi yang
dibutuhkan oleh view. %iu#i dua pendekatan untuk memastikan model data konseptual lokalmendukung transaksi yang dibutuhkan) dengan ara :
• "endeskripsikan transaksi-transaksi"emeriksa seluruh informasi &entitas) relationship) dan atribut' yang dibutuhkan olehsetiap transaksi telah disediakan oleh model) dengan mendokumentasikan setiapkebutuhan transaksi.
• "enggunakan #alur-#alur transaksiUntuk validasi model data terhadap transaksi yang dibutuhkan termasuk representasidiagram #alur yang digunakan oleh setiap transaksi langsung pada ER diagram.
6. &e'ie# Mo%el Data >onseptual "okal Dengan *ser+u#uannya untuk mereview model data konseptual lokal dengan user untuk memastikan
model tersebut adalah representasi sebenarnya dari view. "odel data konseptual ini termasuk ERdiagram dan dokumentasi pendukung yang mendeskripsikan model data. ila adake#anggalan&anomali' dalam model data) maka harus dibuat perubahan yang sesuai yangmungkin membutuhkan pengulangan langkah-langkah sebelumnya.
&e"temuan '(Konsep
• %atabase terdistribusi) merupakan sekumpulan interrelasi seara logi dari data yangdigunakan bersama) yang seara fisik terdistribusi melalui #aringan komputer.
• %"S +erdistribusi) "erupakan sistem Software yang mengi#inkan pengaturan daridatabase terdistribusi dan membuat distribusi tersebut terbuka untuk para pengguna,user.
• %%"S terdiri dari database yang seara logial tunggal dan dibagi men#adi beberapa
fragment &bagian'. "asing-masing fragment disimpan pada satu atau lebih komputer.• %%"S mempunyai beberapa karakter) diantaranya :
o (umpulan dari data yangdigunakan bersama) yang berhubungan seara logi.o %ata dipeah - peah men#adi se#umlah fragmen.o 7ragmen dapat direplikasi.
o 7ragmen,replikanya dapat dialokasikan,ditempatkan ke suatu site&tempat'.o +empat - tempat dihubungkan oleh #aringan komunikasi.
o %ata yang terdapat pada setiap site berada dibawah kontrol,pengawasan dari%"S.
o %"S yang terdapat pada setiap site dapat mengatur aplikasi-aplikasi lokalseara autonom.
o Setiap %"S berpartisipasi paling sedikit dalam sebuah aplikasi global.
&a"allel D)M*
>>
8/19/2019 Rangkuman SBD
23/32
• "erupakan sebuah %"S yang di#alankan melalui proessor dan disk yang banyak) yangdiranang untuk mengeksekusi operasi-operasi yang di#alankan seara parallel) kapanpunmemungkinkan) dengan tu#uan untuk meningkatkan kemampuan,performanya.
• erdasarkan pada alasan bahwa sistem proessor tunggal tidak dapat memenuhi syarat-syarat untuk skala biaya yang efektif) keandalannya &reliability' dan kemampuannya&performane'.
• Parallel %"S menghubungkan banyak) mesin-mesin keil untuk menapai hasil ouputsama seperti tunggal) mesin-mesin yang besar dengan salability&kemampuan mengukur'dan reliability&keandalan' yang lebih bagus dari single-proessor %"S.
• Arsitektur utama untuk parallel %"S adalah :o *ha"ed Memo"+) multiple proessor tanpa sistem tunggal berbagi sistem
memory.o *ha"ed disk) setiap proessor dapat mengakses tempat penyimpanan seara
langsung) tetapi masing-masing mempunyai memory tersendiri.o *ha"ed nothing) dikenal #uga sebagai Massi,el+ &a"allel &"o#essing &"PP'
adalah sebuah arsitektur proessor banyak dimana setiap proessor merupakansebuah bagian dari sistem yang lengkap dengan memory dan tempatpenyimpanan masing-masing.
Keuntungan DD)M*• "enerminkan &reflet' Struktur $rganisasi
anyak perusahaan yang memiliki abang tersebar dibeberapa kota. "aka databasedigunakan untuk beberapa aplikasi yang terdistribusi di lokasi yang terpisah.
• "eningkatkan kemampuan untuk berbagi dan otonomi lokalPengguna dapat mengakses data di berbagai tempat dan dapat mengontrol data lokal.%ata ditempatkan di tempat yang tertutup bagi pengguna dan untuk pengaturan lokal%"S dilakukan oleh %A.
• "eningkatkan ketersediaanUntuk operasi 8 operasi yang gagal di satu tempat) sistem dapat mengirimkan pesangagal ke tempat lain sehingga kegagalan tersebut dapat teratasi.
• "eningkatkan keandalan &reliability'%ata dapat direplikasi sehingga kegagalan pada suatu node atau hubungan #aringan tidak
menyebabkan data tidak dapat diakses.• "eningkatkan performa
(eepatan mengakses database lebih baik.• Ekonomis
9ebih ekonomis karena dapat menghemat daripada database terpusat.• Perkembangan yang modular.
9ebih mudah dalam penanganan ekspansi. +empat 8 tempat baru dapat ditambahkan ke #aringan tanpa mempengaruhi operasi di tempat lain. 7leksibilitas ini membuatpengembangan sebuah perusahaan relatif lebih mudah.
Ke"ugian da"i DD)M*
• (ompleksitas &(erumitan'Sebuah %"S terdistribusi yang menyembunyikan distribusi dari pengguna dan
menyediakan tingkatan performa) keandalan dan ketersediaan pada dasarnya lebihkompleks,rumit daripada sebuah %"S terpusat.• iaya yang mahal.
"eningkatnya kompleksitas berarti biaya prosedur dan pemeliharaan akan lebih tinggidibandingkan dengan %"S terpusat.
• (eamanan Akses data harus diawasi di berbagai lokasi dan #aringannya #uga harus di#agakeamanannya.
• Pengawasan integritas yang lebih sulit
• (urangnya ukuran&standarisasi'(ekurangan standar untuk %%"S akan membatasi potensial %%"S.
• Pengalaman yang kurang%%"S masih kurang diterima di perusahaan 8 perusahaan sehingga kita masih belum
mempunyai tingkatan pengalaman yang sama di perusahaan 8 perusahaan seperti %"Sterpusat.
>-
8/19/2019 Rangkuman SBD
24/32
• Ranangan database yang lebih rumit &kompleks'.Ranangan %%"S harus memperhatikan fragmentasi data)alokasi dari fragmen 8fragmen ke tempat yang lebih tepat) dan replikasi data.
Tipe-tipe DD)M* omogen
• DD)M* omogen
o Semua tempat menggunakan produk %"S yang sama.o 9ebih mudah untuk diranang dan diatur.o Pendekatan yang menyediakan peningkatan pengembangan dan performa
• DD)M* ete"ogen
o Site dapat men#alankan produk %"S yang berbeda dengan kemungkinanperbedaan model data seara mendasar.
o +er#adi ketika site telah diterapkan pada database mereka sendiri dan integrasidipertimbangkan selan#utnya.
o %iperlukan pener#emahan untuk :
ardware yang berbeda) pener#emahan hanya terkait pada perubahan
pan#ang kata dan ode. Produk-produk %"S yang berbeda) pener#emahan men#adi rumit
karena terkait dengan pemetaanstruktur data dari satu model data ke
model lainnya) termasuk pener#emahan ;uery language. ardware dan produk-produk %"S yang berbeda) melibatkan dua #enis
pener#emahan menyebabkan pemrosesan men#adi sangat rumit.o Solusi yang umum digunakan pada sistem relasional dengan menggunakan
gateway) dimana mengkonversikan bahasa dan model dari setiap %"S yangberbeda kedalam bahasa dan model sistem relasional.
o agaimanapun pendekatan gateway mempunyai beberapa keterbatsan)
diantaranya: +idak ada dukungan transaksi) atau dengan kata lain hanya merupakan
pener#emah ;uery. anya mengutamakan masalah pener#emahan ekspresi ;uery dalam
satu bahasa kedalam ekspresi yang ekuivalen dalam bahasa lainnya.
ungsi- fungsi dalam DD)M* :• "emberikan layanan komunikasi untuk menyediakan akses ke site &tempat' terpenil dan
mengi#inkan pengiriman ;uery dan data melalui site yang menggunakan #aringan.• "emberikan katalog sistem untuk menyimpan detail penyebaran data &data distribution'.
• Pemrosesan ;uery terdistribusi) meliputi optimisasi ;uery dan akses data remote.
• "emberikan pengawasan keamanan untuk memelihara otorisasi,hak akses yang tepatterhadap data terdistribusi.
• "emberikan kontrol konkurensi untuk memelihara konsistensi data salinan.
• "emberikan layanan reovery untuk mengatasi kegagalan tiap site dan kegagalan #alurkomunikasi.
!"sitektu" DD)M*Referensi arsitektur untuk %%"S terdiri dari beberapa skema) yaitu<
• impunan dari skema-skema eksternal global"enyediakan logial data independene
• Skema konseptual global"erupakan deskripsi logial dari keseluruhan database. 9evel ini terkait dengan levelkonseptual dari A=S>-SPAR/ dan terdiri dari definisi entitas) relationship ) batasan-batasan &onstraints') keamanan dan integritas informasi. "enyediakan physial dataindependene
• Skema fragmentasi dan skema alokasiSkema fragmentasi medeskripsikan bagaimana data dipartisi seara logial) dan skemaalokasi mendeskripsikan dimana data akan dialokasikan.
• impunan dari skema-skema untuk setiap %"S lokal sesuai dengan 0 level A=S>-SPAR/Setiap %"S lokal memiliki skema tersendiri. Skema konseptual lokal dan skema internal
lokal sesuai dengan level yang ekuivalen dengan arsitektur A=S>-SPAR/.
>$
8/19/2019 Rangkuman SBD
25/32
Komponen DD)M*
• (omponen %"S lokal &9%"S'o "erupakan %"S standar) bertanggung #awab terhadap pengontrolan data lokal
pada setiap site yang memiliki database.o "emiliki katalog sistem lokal sendiri yang menyimpan informasi mengenai data
yang ada pada site tersebut.
o Pada sistem homogeneous) 9%"S yang sama direplika pada beberapa site.Sedangkan pada sistem heterogenous memiliki sedikitnya * site dengan %"Syang berbeda.
• (omponen %ata /ommuniation &%/'o "erupakan software yang memungkinkan seluruh site saling berkomunikasi
dengan site lainnya.o erisikan informasi mengenai site dan keterhubungannya.
• lobal System /atalog &S/'o "emiliki fungsi yang sama dengan katalog sistem pada sistem terpusat.o "enyimpan informasi khusus mengenai sifat dasar pendistribusian pada sistem)
seperti fragmentasi) replikasi) dan skema alokasi.
• (omponen %%"So "erupakan unit pengawasan keseluruhan sistem
Dist"ibuted .elational Database Design+iga hal utama dalam desain database terdistribusi :
• Pembagian &7ragmentation'Relasi dapat dibagi men#adi beberapa bagian relasi ) yang kemudian didistribusikan.
• Alokasi &Alloation'Setiap fragment disimpan pada tempat &site' dengan distribusi yang optimal.
• Perbanyakan &Replikasi'Salinan dari fragmen yang terdapat,dipelihara pada beberapa tempat,site.
"agmentation%efinisi dan alokasi dari fragmen dilaksanakan seara strategis untuk menapai tu#uan :
• 9oality of referene) #ika memungkinkan sebaiknya data disimpan dekat dengan tempat
penggunaannya.• >mproved reliability and availability) keandalan dan ketersediaan data dapat ditingkatkan
dengan replikasi.• Aeptable performane) alokasi data yang buruk dapat menyebabkan ke#adian
?bottlenek@ sehingga menyebabkan suatu site men#adi terban#iri re;uest,permintaan darisite lain) sehingga menyebabkan penurunan performa yang ukup signifikan.
• alaned storage apaities and ost) pertimbangan terhadap ketersedian tempatpenyimpanan dan biaya penyimpanan pada setiap site.
• "inimal ommuniation ost) pertimbangan terhadap biaya re;uest #arak #auh &remotere;uest'.
%efinisi dan alokasi fragmen harus berdasarkan kepada bagaimana database tersebut akan digunakan.%esain berdasarkan pada informasi kuantitatif atau kualitatif.>nformasi kuantitatif digunakan dalam pengalokasian) dapat berisi :
• 7rekuensi dimana suatu aplikasi di#alankan.• +empat,site dimana suatu aplikasi di#alankan.
• (riteria atau syarat 8 syarat performa untuk transaksi 8 transaksi.
>nformasi kualitatif digunakan dalam fragmentasi) dapat berisi informasi mengenai transaksi-transaksi yangdieksekusi atau di#alankan seperti :
• Relasi) atribut dan tuple yang diakses.
• +ipe pengaksesan & baa atau tulis '.
• Predikat dari operasi-operasi baa.
+erdapat 1 alasan mengapa dilakukan fragmentasi :• Usage
Pada umumnya) aplikasi beker#a menggunakan view daripada keseluruhan relasi. $lehkarena itu untuk data terdistribusi lebih tepat beker#a dengan himpunan bagian dari relasisebagai unit dari distribusi
>E
8/19/2019 Rangkuman SBD
26/32
• Effiieny%ata disimpan lebih dekat dengan bagian yang lebih sering menggunakannya
• Parallelism%engan fragmen sebagai unit distribusi) transaksi dapat dibagi men#adi beberapasub;uery yang beroperasi pada fragmen. Sehingga dapat meningkatkan konkurensi atauparallelism dalam sistem
• Seurity%ata yang tidak dibutuhkan oleh aplikasi lokal tidak disimpan dan tidak tersedia untukuser yang tidak berwenang
(etepatan dalam fragmentasi teratasi dengan 0 aturan berikut :• /ompleteness
ika relasi R didekomposisikan men#adi R!) R*)B) Rn. maka setiap data item yangditemukan dalam R harus ada dalam sedikitnya ! fragmen. Aturan ini untuk memastikanbahwa tidak ada data yang hilang selama fragmentasi.
• Reonstrutionarus memungkinkan mendefinisikan operasi relasional yang akan merekonstruksi relasiR dari fragmen-fragmen. Aturan ini memastikan terdapatnya ketergantungan fungsional.
• %is#ointness
ika data item di munul dalam fragmen Ri maka tidak boleh munul pada fragmenlainnya. 7ragmentasi vertikal merupakan pengeualian) dimana atribut primary key harusdiulang untuk memungkinkan rekonstruksi. Aturan ini memastikan kerangkapan datamen#asi minimal.
"aam-maam 7ragmentasi :
• oriContal fragment) terdiri dari himpunan bagian dari tuple-tuple dalam relasi
• Dertial fragment) terdiri dari himpunan bagian dari atribut-atribut dalam relasi
• "ied fragment) terdiri dari fragmen horiContal yang kemudian difragmen vertikal ataukebalikannya
• %erived horiContal fragment) merupakan fragmen horiContal yang dihasilkan dari fragmenhoriContal relasi parent.
!lokasi DataEmpat strategi alternatif mengenai alokasi data yaitu:• /entraliCed &+erpusat'
+erdiri dari database tunggal dan penyimpanan %"S di satu tempat dengan user&pengguna' terbagi-bagi melalui #aringan.
• Partitioned &Partisi'%atabase dipartisi men#adi fragmen yang terpisah 8 pisah) tiap fragmen ditempatkan kedalam satu tempat,site.
• /omplete Repliation &Replikasi lengkap'+erdiri dari pemeliharaan seara lengkap replikasi dari database pada setiap tempat.
• Seletive Repliation &Replikasi selektif'(ombinasi dari partitioning) repliation) dan entraliCation.
+ransparansi dalam %%"S%iidentifikasikan 1 #enis transparansi dalam %%"S) yaitu :
• +ransparansi distribusi &%istribution +anspareny'"emungkinkan user untuk menganggap database sebagai entitas logial tunggal. Ada 2tingkatan transparansi) yaitu :
o 7ragmentation +ranspareny"erupakan tingkatan tertinggi dalam transparansi distribusi) #ika tarnsparansifragmentasi disediakan oleh %%"S maka user tidak perlu tahu bahwa datadifragmentasi. Sebagai hasilnya akses database berdasarkan pada skemaglobal.
o 9oation +ranspareny"erupakan tingkatan menengah dari transparansi distribusi. %engan transparansiini user harus mengetahui bahwa data telah difragmentasi tetapi tidak perlumengetahui ditempatkan dimana data tersebut.
o Repliation +ranspareny
>G
8/19/2019 Rangkuman SBD
27/32
+erkait erat dengan transparansi lokasi) dimana user tidak mengetahui replikasidari fragmen.
o 9oal "apping +ranspareny
"erupakan tingkatan terendah dari transparansi distribusi. %engan transparansipemetaan lokal) user perlu untuk mespesifikasikan nama fragmen dan lokasi dataitem) dengan pertimbangan terdapat replikasi.
o
=aming +ransparenySebagai akibat dari transparansi distribusi diatas. Seperti dalam databaseterpusat) setiap data item dalam database terdistribusi harus mempunyai namayang unik. (arena itu %%"S harus memastikan tidak ada * site yang membuatob#ek database dengan nama yang sama. Salah satu solusi untuk masalah inidengan membuat pusat =ame server) yang bertanggung #awab untukmemastikan keunikan setiap nama dalam sistem.
• +ransparansi transaksi &+ransation +ranspareny'"emastikan bahwa seluruh transaksi terdistribusi memelihara integritas dan konsistensidari database. +ransaksi terdistribusi mengakses data yang disimpan pada lebih dari !lokasi. Setiap transaksi dibagi men#adi subtransaksi) satu untuk setiap site yang harusdiakses. +erdapat * aspek yang harus dipertimbangkan dalam transparansi transaksi :#on#u"en#+ t"anspa"en#+ dan failu"e t"anspa"en#+.
• /onureny +ranspareny) disediakan oleh %%"S #ika hasil dari seluruh transaksi yangkonkuren & terdistribusi ataupun tidak ' dieksekusi seara independen dan seara logikakonsisten
• dengan hasil yang didapatkan #ika transaksi dieksekusi pada waktu yang bersamaan.
• 7ailure +ranspareny) selain dapat memenuhi mekanisme reovery dan mengatasi failureseperti pada %"S terpusat) %%"S #uga harus dapat mengatasi : hilangnya pesan)kegagalan #alur komunikasi) kegagalan site) dan partisi #aringan. %%"S harusmemastikan keutuhan &atomiity' dari transaksi global) dimana memastikan bahwasubtransaksi dari global transaksi seluruhnya /$"">+ atau A$R+.
+erdapat 1 maam transaksi dengan tingkat kerumitan dalam interaksi dengan %"S) yaitu :o remote request ) Sebuah aplikasi pada satu site dapat mengirimkan re;uest
&perintah SF9' ke beberapa remote site untuk eksekusi. Re;uest tersebut
dieksekusi seluruhnya di remote site dan hanya dapat mengau pada data yangterdapat pada site tersebut.
o Remote unit of work ) sebuah aplikasi pada site lokal dapat mengirimkan seluruhperintah SF9 dalam transaksi ke beberapa remote site untuk eksekusi. Seluruhperintah SF9 dieksekusi seluruhnya di remote site dan hanya dapat mengaupada data yang ada pada site tersebut. Site lokal dapat menetapkan apakahtransaksi tersebut /$"">+E% atau R$99E% A/(.
o Distributed unit of work ) sebuah aplikasi pada site lokal dapat mengirimkan
sebagian atau seluruh perintah SF9 dalam transaksi ke satu atau beberaparemote site untuk eksekusi. Setiap perintah SF9 dieksekusi seluruhnya padaremote site dan hanya dapat mengau pada data yang ada pada site tersebut.Perintah SF9 lainnya dapat dieksekusi pada site yang lain. Site lokal dapatmenetapkan apakah transaksi tersebut /$"">+E% atau R$99E% A/(.
o Distributed request ) sebuah aplikasi pada site lokal dapat mengirimkan sebagianatau seluruh perintah SF9 dalam transaksi ke satu atau beberapa remote siteuntuk eksekusi. Perintah SF9 dapat meminta akses data pada satu atau lebihsite.
• +ransparansi performa &Performane +ranspareny'+ransparansi performa meminta %%"S untuk beker#a seperti %"S terpusat. +erdapat%istributed Fuery Proessing &%FP' yang memetakan permintaan data kedalam perintahoperasi terurut pada database lokal. %FP harus memutuskan :
o 7ragmen mana yang harus diakseso Salinan fragmen yang mana yang harus digunakan) #ika fragmen telah
diperbanyako 9okasi mana yang digunakan
%FP menghasilkan strategi eksekusi yang dioptimalkan dengan pertimbangan fungsibiaya. iaya yang biasanya terkait dengan distributed re;uest diantaranya :
>H
8/19/2019 Rangkuman SBD
28/32
o iaya waktu akses &>,$' termasuk pengaksesan data fisik pada disk
o Adanya biaya waktu /PU ketika men#alankan operasi terhadap data dalam mainmemory
o iaya komunikasi terkait dengan perpindahan data melalui #aringan
• +ransparansi %"S &%"S +ranspareny'
+ransparansi %"S menyembunyikan pengetahuan bahwa %"S lokal mungkin daptberbeda dan karena itu hanya diaplikasikan untuk %%"S yang heterogen. "erupakan+ransparansi yang paling rumit untuk penyediaan sebagai generalisasi.
!tu"an / atu"an untuk DD)M* ada 1' +aitu :Prinsip dasar :
+erhadap pengguna) sistem terdistribusi harus kelihatan seperti bukan sistem terdistribusi.!. Autonomy 9okal) maksudnya :
o %ata lokal dimiliki dan diatur seara lokalo $perasi lokal berlangsung di lokal.o Semua operasi yang berlangsung di suatu site dikontrol oleh site tersebut.
*. +idak ada ketergantungan pada site pusat.+idak ada sitem yang tidak dapat beroperaswi disuatu site. Artinya tidak ada #aringan yang
terpusat.0. $perasi yang terus berlan#ut+idak perlu ada renana untuk membuat sistem dimatikan) untuk operaasi seperti :o "enambah atau menghapus site dari sistem.o "embuat dan menghapus fragmen pada satu atau lebih site.
1. 9oation >ndependene.Pengguna harus dapat mengakses data dari berbagai tempat.
2. 7ragment >ndependeneUser harus dapat mengakses data pada berbagai fragmen
3. Repliation >ndependenePengguna tidak boleh mengetahui bahwa data telah direplikasi. Galaupun) pengguna tidakdapat mengakses opy dari data tersebut seara langsung) tidak #uga dapat mengupdatesemua opy dari #enis-#enis data tersebut.
4. %istributed Fuery Proessing.
Sistem harus dapat mampu mengolah ;uery 8 ;uery yang menghubungkan data pada lebihdari satu tempat.
5. %istributed +ransation Proessing.Sistem harus dapat mendukung transaksi sebagai unit dari reovery. Sistem harus dapatmenyakinkan bahwa kedua loal dan global transaksi mengau ke aturan A/>% untuktransaksi seara atomik) konsisten) lokasi dan durasi.
6. ardware >ndependene.%%"S harus dapat di#alankan pada berbagai platform hardware.
!H. $perating System >ndependene.%%"S harus dapat di#alankan pada berbagai sistem operasi.
!!. =etwork >ndependene.%%"S harus dapat di#alankan pada berbagai hubungan #aringan yang berbeda.
!*. %atabase >ndependene.
%%"S harus dapat dimungkinkan dibangun dari %"Ss lokal) mendukung data model yangberbeda. %engan kata lain) sistem harus dapat mendukung keaneka ragaman.
/atatan : Empat aturan yang terakhir di atas adalah yang paling ideal atau paling bagus diterapkan untuksuatu %%"S.
&e"temuan '0Pengenalan
• Geb merupakan system infromasi #aringan yang kuat dan sangat popular saat ini.
• (arena itu arsitektur web didesain agar independen terhadap platform) bisa memperkeilbiaya penyebaran dan biaya pelatihan seara signifikan.
• $rganisasi yang menggunakan web sebagai dasar strategi untuk solusi bisnis yanginovatif) berdampak men#adi web-entri
•
anyak situs web sekarang berbasis file) dimana setiap dokumen web disimpan dalam fileyang terpisah.• Untuk situs yang besar) ini dapat menyebabkan masalah mana#emen yang signifikan.
>
8/19/2019 Rangkuman SBD
29/32
• %an sekarang ini banyak situs web yang mengandung banyak informasi dinamis) sepertidata produk dan harga.
• Pemeliharan data dalam database dan file +"9 yang terpisah merupakan sebuahmasalah.
• "engakses database seara langsung dari Geb akan men#adi pendekatan yang lebihbaik.
Inte"net
• "erupakan kumpulan seluruh #aringan omputer sedunia yang saling terhubung.
• %imuali pada akhir 3H-an di ARPA=E+ &Advaned Researh Prohets Ageny =E+work')proyek US %epartment $f %efense) meneliti bagaimana membangun #aringan yang bisabertahan lama.
• %imulai dengan beberapa titik) internet diperkirakan untuk bisa menapai lebih dari !HH #uta pengguna pada tahun !664) dan lebih dari 06H #uta pengguna dilebih dari !HH negarapada tahun *HH!.
• %iperkirakan terdapat 31H #uta pengguna Geb pada tahun *HH0.
• Sekitar *.2 milyar dokumen terdapat pad ainternet &22H milyar #ika termasuk intranet danetranet'.
Int"anet dan Et"anet• >ntranet adalah situs web atau grup dari situs yang dimiliki oleh suatu organisasi) hanya
dapat diakses oleh anggota-anggota organisasi tersebut.
• Etranet adalah sebuah intranet yang dapat diakses oleh lingkungan luar yang memilikiwewenang.
• >ntranet berada dibelakang firewall dan hanya dapat diakses oleh orang yang merupakananggota dari organisasi yang sama) etranet menyediakan variasi level hak akses untukliar. iasanya etranet dapat diakses bila pengguna luar tersebut memiliki username danpassword yang benar.
e-2omme"#e dan e-)usiness+erdapat pemikiran bahwa internet berkesempatan dapat mendukung e-ommere dan e-business. /isosystem) telah mendefinisikan 2 tahap pengembangan dari evolusi internet untuk bisnus) yaitu :
• E-mail) memungkinkan untuk berkomuniskasi dan bertukar file malalui #aringan internal)bisnis pada tahap ini dimulai dengan berkomunikasi antar supplier dan ustomer denganmenggnakan internet sebagai media eternal.
• 3eb *ite) bisnis pada tahap ini membuat web site yang berperan seperti shop windowskeseluruh =egara untuk produk-produk mereka. Geb #uga memungkinkan ustomer untukberkomunikasi dengan bisnisnya kapan dan dimana pun.
• E-#omme"#e) ustomer dapat memesan dan membayar permintaan pesaanan melaluisitus Geb isnis. %i tahap ini tidak hanya menggunakan Geb site sebagai brosurdinamus tetapi #uga memungkinkan pelanggan untuk melakukan permintaan dari web danmenyediakan layanan dan dukungan online.
• E-)usiness) merupakan integrasi lengkap dari teknologi internet ke dalam infrastrukturekonomi dari bisnis. isnis di tahap ini mengatur proses internal dan eksternal melaluiintranet dan etranet berupa pen#ualan) layanan dan promosi yang kesemuanya
berdasarkan pada web• E#os+stem) pada tahap ini seluruh proses bisnis diautomasi melalui internet) ustomer)
supplier) key alliane partner dan infrastruktur orporate men#adi satu dalam sebuahsystem maya. +ransaksi bisnis-ke-bisnis dapat menapai I!.0 triliyun pada tahun *HH0.Eommere dapat menghasilkan I0.* triliyun di penerimaan koorporasi dunia pada tahun*HH0 dan bisa merepresentasikan 2J dari pen#ualan pada ekonomi global.
3eb
• Gorld Gide Geb merupakan system hypermedia yang menyediakan ?tun#uk dan tekan@yang sederhana) artinya menari informasi pada internet menggunakan hyperlink.
• >nformasi ditampilkan pada halaman web) dimana dapat terdiri dari tet) grafik) gambar)suara dan video
• uga dapat mengandung hyperlink ke halaman web yang lain) sehingga memungkinkan
pengguna untuk mengontrol penarian informasi yang tidak berurut.• %okuman web ditulis menggunakan +"9.
>+
8/19/2019 Rangkuman SBD
30/32
• Geb terdiri dari #aringan omputer yang bisa berinteraksi melalui dua turan :o Sebagai servers) menyediakan informasi<
o Sebaga lients &penari') meminta informasi.
• Aturan , protool yang men#amin pertukaran informasi diantara server web dan penariadalah ++P
• %an lokasi dimana dokumen diidentifikasi sebagai UR9.
• anyak dari kesuksesan Geb adalah karena kesederhanaan dan independensi platform.
+pe"Tet T"ansfe" &"oto#ol $TT&%• "erupakan aturan,protool yang digunakan untuk transfer halaman Geb melalui >nternet.
• ++P berdasarkan pada paradigma respon terhadap permintaan. +ransaksi ++P terdiridari tahapan :
o (oneksi 8 /lient melakukan koneksi dengan Geb Server
o Permintaan 8 /lient mengirimkan permintaan ke Geb server o Respon 8 Geb Server mengirimkan respon & dokumen +"9' kepada liento Selesai 8 (oneksi ditutup,diputuskan oleh Geb Server
• ++P merupakan stateless protool) yaitu koneksi tertutup setiap kali server melaukanrespon) sehingga tidak menyimpan informasi untuk setiap permintaan.
• >ni menyebakakn kesulitan untuk mendukung konseo yang mendasar dari transaksi%"S.
+pe"Tet Ma"kup Language $TML%• +"9 yaitu ahasa dokumen terformat yang digunakan untuk mendesain hampir seluruh
halaman Geb.
• Sederhana) kuat) merupakan bahasa dokumentasi yang Platform independent .
• +"9 adalah aplikasi dari StandardiCed eneraliCed "arkup 9anguage &S"9') yaitusistem untuk mendefinisikan tipe dokumen terstruktur dan menetapkan bahasa untukmerepresentasikan instane dari tipe dokumen tersebut.
Unifo"m .esou"#e Lo#ato"s $U.Ls%• UR9 adalah kombinasi dari karakter alphanumerik yang merepresentasikan lokasi atau
alamat dari dokumen &resoures' yang ada pada internet dan bagaimana dokumen&resoures' tersebut dapat diakses.• "endefinisikan seara unik dimana dokumen &resoures' tersebut dapat ditemukan.
• Uniform Resoure >dentifiers &UR>s' adalah himpunan generi,umum dari seluruhnama,alamat yang mengau pada dokumen &resoures' internet.
• Uniform Resoure =ames &UR=s' adalah nama lokasi yang independen dan tetap.erdasarkan pada layanan name-lookup.
• UR9 terdiri dari 0 bagian dasar) yaitu :o Protool) digunakan untuk koneksio ost name
o Path name pada host dimana dokumen &resoure' disimpan
• UR9 dapat seara optional menspesifikasikan prot melalui koneksi mana yang menu#uhost harus dibuat) dn ;uery string.
• /ontoh :http:,,www.w0.org,markup,markup.html
/ontoh diatas adalah UR9 yang mengidentifikasikan halaman umum untuk informasi+"l pada G0/. Protokol adalah ++P) hostnya adalah Kwww.w0.orgL) dan virtual pathdari file +"9 adalah K,markup,markup.htmlL.
alaman 3eb *tatis dan Dinamis• %okumen +"9 yang disimpan dalam file merupakan halaman Geb statis) isinya tidak
akan pernahberubah keuali file-nya diubah) sedangkan isi dari halaman Geb dinamisdibangun,dibuat setiap kali diakses.
• (arena itu halaman Geb dinamis memiliki beberapa feature yang tidak dimiliki web statis)seperti :
o Respon terhadap input yang diberikan oleh user melalui browser o %apat dikontumisasi oleh dan untuk setiap user
-M
8/19/2019 Rangkuman SBD
31/32
o "emerlukan hypertet yang harus dibangun,dibuat oleh server
o "embutuhkan sripts yang menampilkan konversi dari format data yang berbedake +"9.
*+a"at-s+a"at untuk integ"asi web-D)M*
• (emampuan untuk mengakses data koorporasi yang bernilai dengan ara yang aman.
• (eterhubungan independen antara data dan vendor memungkinkan kebebasan untukmemilih %"S.
• (emampuan untuk berinteraksi dengan database) independen terhadap browser atauGeb server tertentu.
• Solusi keterhubungan yang memberikan keuntungan dari seluruh feature %"Sorganisasi.
• Arsitektur yang terbuka memungkinkan kemampuan untuk diganti dengan system danteknologi yang bervariasi) ontoh untuk dukungan :
o Geb server yang berbeda<o "irosoft &%istributed' /ommon $b#et "odel &%/$",/$"'<o /$RA,>>$P & internet >nter-$R protool'<o ava , Remote "ethod >nvoation &R">'.
• Solusi efektivitas biaya yang memungkinkan salability) pertumbuhan dan perubahan
dalam petun#uk strategis) dan membantu mengurangi biaya pembuatan aplikasi.• %ukungan untuk transaksi yang men#angkau permintaan multiple-++P
• %ukungan untuk session dan aplikasi berdasarkan autentikasi.
• Performa yang dapat diterima
• Pengeluaran tambahan &overhead' administrasi yang minimal
• Penentuan high-level productivity tool sehingga memungkinkan aplikasi untuk dibangun)dipelihara dan disebarkan dengan relatif mudah dan epat.
Two-Tie" 2lient-*e",e" !"#hite#tu"e Aplikasi bisnis dengan data-intensive memiliki 1 komponen utama) yaitu : database) logika transaksi) logikaaplikasi) dan interfae pengguna. %alam lingkungan mainframe) seluruh komponen ini berada pada satutempat) untuk mengakomodasi perkembangan lingkungan bisnis desentralisasi maka aritektur tradisionaltwo-tier-client-server dibuat untuk menyediakan tugas yang terpisah.
Th"ee-Tie" 2lient-*e",e" !"#hite#tu"ePada sisi /lient terdapat * masalah berkaitan dengan salability:
• ?7at@ lient) #umlah lient yang besar memerlukan pertimbangan dokumen &resoures'pada komputer lient ber#alan dengan efektif.
• Permintaan tambahan administrasi untuk sisi lient.
Pada tahun !662) diusulkan three layer) yang masing-masing ber#alan pada platform yang berbeda :
• 9ayer user interfae) ber#alan pada komputer end-user &lient'
• 9ayer business logi dan data proessing) lapisan tengan yang ber#alan pada server)biasa disebut application server .
• %"S) menyimpan data yang dibutuhkan oleh middle tier. lapisan ini ber#alan pada server
terpisah yang disebut database server.
Arsitektur three tier ini memiliki beberapa keuntungan :
• ?+hin@ lient) #umlah lient yang keil menyebabkan berkurangnya permintaan hardwareyang mahal.
• Pemeliharaan aplikasi yang terpusat.
• 9ebih mudah untuk diubah atau mengganti satu lapisan tanpa mempengaruhi yang lain.Pemisahan logika bisnis dari fungsi database f menyebabkan kemudahan implementasiload balancing .
• Pemetaan arsitektur three-tier sama dengan Geb environment.
Keuntungan da"i &endekatan 3eb-D)M*(euntungan yang didapat melalui penggunaan %"S :
•
Simpliity%alam bentuk orisinal) +"9 sebagai markup language sangat mudah untuk dipela#arioleh developer maupun naïve end-user
-*
8/19/2019 Rangkuman SBD
32/32
• Platform independeneSalah satu alasan dibuatnya aplikasi database versi Geb-based dikarenakan padaumumnya Geb lient &browser' independen terhadap platform. Sehingga #ika suatuaplikasi akan di#alankan pada $S yang berbeda tidak memerlukan modifikasi
• raphial User >nterfae"enyederhanakan dan meningkatkan pengaksesan database) tetapi U> memerlukan
program tambahan yang akan menyebabkan tergantung terhadap platform.• StandardiCation
+"9 standar seara de facto dimana seluruh web browser berada) memungkinkansebuah dokumen +"9 pada satu mesin dibaa oleh user pada mesin lainnya dibagianlain dunia melalui koneksi internet dan web browser.
• /ross-platform SupportGeb browser ada seara virtual untuk setiap tipe dari platform komputer. "emungkinkanuser pada sebagian besar #enis komputer mengakses database dari manapun dibagiandunia.
• +ransparent =etwork Aess
• Salable %eployment
• >nnovation
Disad,antages of 3eb-D)M* !pp"oa#h• Reliability
+erkadang internet tidak reliable ketika sebuah perintah diberikan melalui internet) tidakdapat dipastikan perintah tersebut akan terkirim.
• Seurity
• /ost
• Salability
• 9imited funtionality of +"9
• Statelessness
• andwidth
• Performane
• >mmaturity of development tools
&endekatan Untuk Integ"asi 3eb dan D)M*• !cripting Languages
Sripting 9anguages memungkinkan untuk membuat fungsi yang ditambahkan,disisipkanpada kode +"9. Sehingga memungkinkan proses yang bervariasi diautomasi dan ob#ekdapat diakses #uga dimanipulasi.
• "ommon #ateway $nterface %"#$&.
Maitu spesifikasi untuk mentransfer informasi antar Geb server dengan /> program.+erdapat 1 metode utama untuk memberikan informasi dari browser ke sript />) yaitu :
o Passing parameters on the command line
o Passing environment variables to "#$ parameters
o Passing data to "#$ programs via standard input
o using e'tra path information
•++P /ookies"erupakan bagian dari informasi yang disimpan lient atas nama server. >nformasi yangdisimpan dalam ookies berasal dari server sebagai bagian dari respon server terhadappermintaan ++P.
• Etending the Geb Server
• ava) %/) SF9) Servlets) dan SP.
• "irosoft Geb Solution Platform: ASP dan A%$.
• $rale >nternet Platform.