Rabu, 17 Juni 2009
Masalah Analisa yang tidak konsisten (Problem of Inkonsistensi Analisa)
Sebuah maskapai penerbangan memilki 3 kelas yang masing – masing kelas mempunyai bangku kosong sebenyak, A = (A1 – A20), B = (B10- B24), C = (C20 – C240). Sebuah perusahaan travel bernama WKTOUR memesan kursi A mulai dari A5 – A15dan kursi B mulai dari B10 – B20. Pada saat bersamaan travel lain bernama MKTOUR juga sedang melihat kursi kosong pada maskapai yang sama memesan kursi kelas A dari A16 – A20 dan kelas C dari C20 – C22. Bersamaan dengan MKTOUR yang selesai melakukan transaksi, WKTOUR kembali memesan kelas C dari C20 – C24, teryatakursi yang berhasil di pesan hanya C23 – C24. Hal ini disebabkan pada saat WKTOUR ingin memesan kursi kelas C, dia tidak melakukan pembacaan lagi, padahal nilainya telah berubah karena kursi kelas C sudah di pesan sebelumnya oleh MKTOUR.
Untuk menyelesaikan masalah tersebut maka solusinya adalah diberikan kunci X untuk transaksi yang pertama kali di modifikasi, jadi untuk transaksi berikutnya harus menunggu transaksi yang awal melepaskan kunci X tersebut. Dan memberikan kunci S jika untuk melihat saja.
Jadi pada saat WKTOUR melakukan transaksi travel lain tidak bias melakukan transaksi sebelum transaksi dari WKTOUR selesai atau melepaskan kunci X (SYNCHPOINT). Begitu juga pada saat MKTOUR melakukan transaksi, WKTOUR tidak bisa juga melakukan transaksi sebelum MKTOUR melakukan pelepasan kunci X (SYNCHPOINT)
MASALAH MODIFIKASI SEMENTARA (UNCOMMITED UPDATE PROBLEM)
Sebuah maskapai Penerbangan A mempunyai sisa kursi kosong kelas VIP sebanyak 15 buah, yaitu kursi dengan nomor A1 - A15. Sebuah Perusahaan travel WKTOUR melakukan pemesan kursi melalui pemesanan online sebanyak 6 kursi, yaitu A5 - A10. Pada saat WKTOUR melakukan transaksi dan belum selesai, sebuah perusahaan travel lain bernama MKTOUR melihat kursi kosong secara online pula.
Awalnya MKTOUR akan melakukan pemesan sebanyak 11 kursi yaitu nomor A5 - A15 tetapi karna kursi yang tersedia hanya 9 buah yaitu nomor A1 - A4 dan A11 - A15. MKTOUR akhirnya hanya memesan kursi A11 - A15. Sehingga kursi yang tersisa tinggal 4 buah yakni A1 - A4.
Akan tetapi karena suatu hal, transaksi WKTOUR yang belum terselesaikan mengalami pembatalan (rollback) pada pemesanan kursi A5 – A10, sehingga kursi yang kosong menjadi 10 buah yaitu A1 - A10. Hal ini merugikan pihak maskapai penerbangan, karena pada awalnya MKTOUR akan memesan 11 bangku yakni nomor A5 - A15, tapi tidak jadi karena pada saat melihat yang tersedia hanya A1 - A4 dan A11 - A15. Hal ini menyebabkan bangku kosong yang seharusnya sisa 4 buah menjadi sisa 10 buah.
S
SOLUSI DARI PENYELESAIAN MODIFIKASI SEMENTARA
Untuk menyelesaikan masalah tersebut maka solusinya adlah diberikan kunci X untuk transaksi yang pertama kali di modifikasi, jadi untuk transaksi berikutnya harus menunggu transaksi yang awal melepaskan kunci X tersebut. Dan memberikan kunci S jika untuk melihat saja.
Jadi pada saat perusahaan travel WKTOUR memesan kursi melalui pemesanan online sebanyak 6 kursi, yakni A5 - A10 WKTOUR memakai kunci X, sehingga jika MKTOUR ingin melakukan transaksi ia harus menunggu transaksi WKTOUR terselesaikan yaitu saat melakukan SYNCHPOINT (pelepasan kunci X). Pada saat transaksi WKTOUR selesai, Maka MKTOUR melihat bangku yang tersedia ada 9 buah yakni nomor A1 - A4 dan A11 - A15. MKTOUR akhirnya memesan bangku A11 - A15.
Hal ini tidak merugikan pihak maskapai penerbangan, karena tidak ada pembatalan (rollback) sehingga bangku yang terpesan ada 11 buah.
MASALAH KEHILANGAN MODIFIKASI (LOST UPDATE PROBLEM)
Pada suatu hari sebuah Perusahaan Travel WKTOUR ingin memesan kursi kosong pada sebuah maskapai Penerbanagn A sebanyak 3 kursi. Pada maskapai Penerbanagn A memiliki kursi kosong kelas VIP sebanyak 24 kursi yaitu A1 – A24. Perusahan Travel WKTOUR pun memilih kursi dengan nomor A1 – A3.
Pada saat yang bersamaan MKTOUR, sebuah perusahaan Travel lainnya ingin memesan kursi kosong pada Maskapai yang sama dan melihat kursi kosong sebanyak 24 kursi juga yaitu A1 – A24, maka dari MKTOUR pun memesan kursi A2 – A4.
Jika transaksi dilakukan secara serial, transaksi yang satudiproses setelah transaksi yang lain tanpa Operasi Interleaved ( Selang waktu Operasi ) maka tiket untuk kelas VIP akan bekurang sebanyak 6 buah yaitu 3 buah untuk WKTOUR atas pemesanan kursi A1 – A3 dan 3 buah untuk MKTOUR atas pemesanan kursi A2 – A4 , tetapi karena masalah konkurensi kursi kosongnya hanya akan berkurang 4 buah karena tiket untuk bangku A2 – A3 dimiliki kedua travel tersebut.
SOLUSI MASALAH KEHILANGAN MODIFIKASI
Untuk menyelesaikan masalah yang terjadi, maka solusinya adalah diberikan kunci X transaksi yang pertama kali dimodifikasi. Sehingga untuk transaksi berikutnya harus menunggu transaksi yang awal melepaskan kunci X tersebut. Dan memberikan kunci S hanya untuk melihat saja.
Maka, pada saat WKTOUR melihatkursi yang kosong secara online WKYOUR hanya menggunakan kunci S, sedangkan pada saat WKTOUR ingin melakukan pemesananyaitu kursi A1 – A3 WKTOUR memakai kunci X.
Hal ini dilakukan agar ketika MKTOUR juga ingin melakukan pemesanan menjadi tidak bisa dan harus menunggu transaksi pertama selesai. MKTOUR hanya bisa melihat terdapat 24 kursi yang kosong yaitu A1 – A24. Setelah WKTOUR selesai melakukan transaksi, WKTOUR harus melakukan SYNCHPOINT yaitu pelepasan kunci X. Maka kursi kosong yang yang dilihat MKTOUR berubah menjadi 21 yaitu A21 – A24 dan MKTOUR pun dapat memesan kursi A4 – A6. Disini tidaj terjadi konkurensi, sehingga tiket yang sudah dipesan berkurang 6 buah dan kursi kosongnya berkurang 6 kursi
U
Selasa, 19 Mei 2009
SQL
Contoh Create Database di MySQL
Create & Decribe tabel Siswa
Create & Decribe tabel kursus
Create & Decribe tabel instruktur
Insert & Select tabel Siswa
Insert & Select tabel Kursus
Insert & Select tabel Instruktur
Minggu, 12 April 2009
Data model
Model Data
PENGANTARMODEL DATA
Definisi Model Data
Sekumpulan perangkat konseptual untuk
menggambarkan data, hubungan data, semantik
(makna) data dan batasan data.
disebut juga model data logic
Dalam perancangan basis data, model data secara
umum dapat dibagi menjadi beberapa kelompok, yaitu:
1. Model data berbasis objek
2. Model data berbasis record
3. Model data fisik
4. Model data konseptual
1. MODEL DATA BERBASIS OBJEK
(Object Based Logical Model)
Model data berbasis objek menggunakan konsep
entitas, atribut dan hubungan antar entitas.
Terdiri dari :
1. Entity Relationship Model
2. Binary Model
3. Semantik Data Model
4. Infological Model
1.1 Entity Relationship Model (ER-Model)
Model untuk menjelaskan hubungan antar data dalam
basis data berdasarkan suatu persepsi bahwa real word
terdiri dari objek-objek (entity) dasar yang mempunyai
hubungan atau relasi antara objek-objek tersebut.
E-R MODEL berisi ketentuan/aturan khusus yang
harus dipenuhi oleh isi database. Aturan terpenting
adalah MAPPING CARDINSLITIES, yang menentukan
jumlah entity yang dpt dikaitkan dengan entity lainnya
melalui relationship-set.
Berikut ini contoh dari ER-Model
Hampir sama dengan Entity Relationship model dimana
relasi antara objek dasar tidak dinyatakan dengan
simbol tetapi menggunakan kata-kata (Semantic).
Sebagai contoh, dengan masih menggunakan relasi
pada Sewa sebagaimana contoh sebelumnya, dalam
Berikut ini kasus dari Semantik Model:
2. RECORD BASED DATAMODEL
(Record-Based Logical Models)
Model ini berdasarkan pada record untuk menjelaskan
kepada user tentang hubungan logic antar data dalam
basis data.
PERBEDAAN DENGAN OBJECT BASED DATA
MODEL
Pada record based data model disamping digunakan
untuk menguraikan struktur logika keseluruhan dari
suatu database, juga digunakan untuk menguraikan
implementasi dari system database (higher level
description of implementation
Model Logik Data Berdasarkan Record (Record-Based
Logical Models), terdiri dari :
1. Model Relational (Relational Model)
2. Model Hirarkis (Hierarchical Model)
3. Model Jaringan (Network Model)
DUNIA NYATA (Real Word)
Real Word adalah keseluruhan data yang belum
terstruktur yang secara nyata ada/terkait dalam sebuah
lingkup topik yang ditinjau.
2.1 Model Relational
Dimana data serta hubungan antar data
direpresentasikan oleh sejumlah table, dan masing-masing
table terdiri dari beberapa kolom yang namanya
unique. Model ini berdasarkan notasi teori himpunan
(set theory), yaitu relation.
Berikut ini kasus dari model relational:
2.2 Model Hirarki
Dimana data serta hubungan antar data
direpresentasikan dengan record dan link (pointer),
dimana record-record tersebut disusun dalam bentuk
tree (pohon), dan masing-masing node pada tree
tersebut merupakan record/grup data elemen
Berikut ini kasus dari model hirarki:
2.3 Model Jaringan
Mirip dengan hirarkical model, dimana data dan
hubungan antar data direpresentasikan dengan record
dan links. Perbedaannya terletak pada susunan record
dan linknya yaitu network model menyusun recordrecord
dalam bentuk graph
Berikut ini kasus dari model jaringan: