Sabtu, 15 Juni 2013

                                                              UAS SIMBADA
1. Integritas Data
Integritas data adalah akurasi dan kebenaran data. Tujuan dari integritas data adalah untuk memasukkan aturan bisnis di dalam database, misalnya NIM tidak boleh kosong, UMUR harus antara 0 - 120 dst, kemudian menjaga agar data yang tidak valid tidak masuk ke database ,menjaga konsistensi data pada relasi keterkaitan antar tabel, lebih murah dan mudah menjaga data integrity di level database dibandingkan ditangani di aplikasi dan bugs akibat isi database yang tidak valid sulit untuk ditemukan (dapat muncul di kemudian hari).
Jenis Integritas data ada 6 yaitu
CREATE DOMAIN  tipe baru , NOT NULL contoh: NAMA tidak boleh NULL, UNIQUE contoh: KODE_DOSEN , PRIMARY KEY contoh: NIP, NIM, CHECK  contoh: 0 <jumlah anak < 4 dan REFERENTIAL INTEGRITY  integritas pada relasi antar tabel
Referential Integrity
Proses otomatis untuk menjaga integritas relasi antar tabel. Referential Integrity yang umum: Delete cascade: hapus parent, hapus juga child, delete set null: hapus parent, child diisi dengan NULL dan update cascade: update parent, update juga child
2. Transaksi 
Transaksi adalah aksi yang dilakukan oleh program bertujuan untuk mengakses atau mengubah data yang terdapat di database. Tujuan dari transaksi adalah untuk melindungi database dari kehilangan dan kerusakan data.
Dua operasi penting transaksi
Commit merupakan tanda bahwa transaksi telah selesai dan rollback merupakan tanda bahwa transaksi gagal
Empat elemen transaksi
Atomicity: semua berhasil atau semua gagal, Consistency: mempertahankan konsistensi database, Isolation: transaksi terisolasi satu dengan yang lainnya dan Durability: setelah commit, update harus survive di database
System Recovery
System harus recover terhadap masalah pada transaksi solusi: rollback, commit, kegagalan global, kegagalan System (listrik mati) dan Kegagalan Media (hardisk corrupt)
Checkpoint
Titik aman dimana kita telah menyelesaikan satu atau beberapa transaksi. Tujuannya adalah ketika kita gagal melakukan transaksi, transaksi tidak diulangi dari awal.
3. Concurrency
Concurrency mengijinkan banyak transaksi pada saat bersamaan untuk mengakses data yang sama. Masalah concurrency diantaranya Lost Update Problem, Uncommitted dependency problem dan Incosistent analysis problem
Locking
Jika sebuah transaksi ingin record/resource tidak berubah dalam waktu tertentu maka dia meminta lock.
Jenis Lock
Exclusive Lock (Xlock)  write lock. Jika transaksi A memegang Xlock pada sebuah record, maka permintaan lock (X,S) pada record yang sama harus diabaikan.
Shared Lock (Slock)  read lock. Jika transaksi A memegang Slock pada record R maka: Permintaan Xlock transaksi lain pada R ditolak dan Permintaan Slock transaksi lain pada R diterima
Data Access Protocol
Transaksi yang ingin  mengambil nilai sebuah record  (retrieve) harus mendapat Slock pada record tersebut, transaksi yang ingin mengupdate, harus mendapat Xlock, Xlock dan Slock dipegang sampai transaksi selesai (COMMIT atau ROLLBACK) dan jika transaksi lock ditolak, masuk ke wait state hingga lock bebas
Deadlock
Situasi dimana dua atau lebih transaksi dalam kondisi wait-state, satu sama lain menunggu lock dilepaskan sebelum dapat memulai
Penanganan deadlock
Deteksi dan pecahkan deadlock, deteksi deadlock -> wait-for-graph , pecahkan deadlock -> salah satu dirollback paksa dan Ostrich Algorithm  -> diabaikan.
Isolation Level
Derajat pengaruh antar transaksi. Tertinggi : serializable (sama sekali tidak saling mempengaruhi, seolah-olah dikerjakan secara berurutan).
Kompromi Isolation Level
Dirty Read: Dapat melihat record yang sudah di rollback transaksi lain atau yang belum dicommit, Nonrepeatable read: T1 baca sebuah record, record tersebut diubah transaksi lain, saat T1 membaca lagi nilainya sudah berubah dan Phantoms: retrieve menghasilkan record baru yang sebelumnya tidak ada
4. Back end Programming
Stored Procedure
Procedure atau Function di dalam database, stored procedure à SQL + Bahasa Prosedural dan banyak disupport oleh RDBMS (ORA, SQL Server, MySQL versi 5 ke atas)
Kelebihan menggunakan stored procedure : dijalankan di database server sehingga performance lebih baik, network trafik lebih rendah, tools DBA sehingga praktis, selalu tersedia di database server, dapat digunakan oleh banyak aplikasi , dapat memanfaatkan tipe, fungsi yang disediakan DBMS
Stored Procedure di oracle
PL/SQL à procedural language / SQL , mirip Pascal, case insensitive, strong typed, semua variabel harus dideklarasikan dan komentar
Syntax stored procedure
Struktur Program, variabel , IF-Then ,loop, parameter procedure, mengambil nilai select dancursor.
Trigger
Bentuk khusus dari stored procedure. Stored procedure yang dipanggil secara khusus pada event tertentu: before/after  INSERT, before/after  DELETE. before/after  UPDATE.
Manfaat trigger
Membuat integrity constraint yang kompleks, mencatat aktivitas suatu table (logging) dan sinkronisasi.
5. XML ( Extensible Markup Language)
Standard de-facto untuk bertukar data, menyimpan data, mendeskripsikan data, disupport oleh banyak tools (RDBMS, bahasa pemrograman), Webservice à XML pada HTTP dan platform independen, language independen.
Aplikasi XML
Mendeskripsikan dokumen, pertukaran data dan database.
Perbedaan dengan HTML
Semantik HTML telah didefinisikan. Contoh: <b> untuk bold, XML lebih ketat aturannya. Contoh: setiap tag harus ada penutupnya (<tag> …. </tag>) dan XML case sensitive.
Keuntugan XML
Self Documenting  dengan melihat tag, dapat diketahui isi dokumen, dapat dibaca software dan manusia, fleksibel , dapat dikembangkan tanpa melanggar format lama, hirarkis dapat merepresentasikan data kompleks dan independen terhadap bahasa pemrograman, OS
Kerugian XML
Pengulangan tag, sehingga tidak efisien dan ukuran membengkak
Aturan XML
Setiap tag harus ada penutupnya,  penamaan tag : case sensitive. <nama> tidak sama dengan <Nama>, tidak diawali dengan angka , tidak mengandung spasi dan hindari '-' dan '.' , urutan hirarki harus benar, setiap XML harus mengandung root (akar) dan setiap atribut harus dalam tanda petik.
XML parser
Parser adalah program untuk “membaca” dokumen XML. Ada dua cara untuk membaca dokumen XML, yaitu Tree based dengan cara isi XML dipindahkan ke memori terlebih dulu  DOM (Document Object Model) dan Event based  tidak dipindahkan ke memori. Fungsi callback dipanggil setiap menemui element.  à SAX (Simple API XML) .
6. Keamanan Data
Keamanan merupakan suatu proteksi terhadap pengrusakan data dan pemakaian data oleh pemakai yang tidak punya kewenangan.
Tingkatan Pada Keamanan Database :
Fisikal : lokasi-lokasi dimana terdapat sistem komputer haruslah aman secara fisik terhadap serangan perusak.
Manusia : wewenang pemakai harus dilakukan dengan berhati-hati untuk mengurangi kemungkinan adanya manipulasi oleh pemakai yang berwenang
Sistem Operasi : Kelemahan pada SO ini memungkinkan pengaksesan data oleh pihak tak berwenang, karena hampir seluruh jaringan sistem database menggunakan akses jarak jauh.
Sistem Database : Pengaturan hak pemakai yang  baik.

Studi Kasus
Sistem informasi pemesanan tiket pesawat online
1.      Admin dan operator memiliki id dan password masing-masing.
2.      Admin dan operator dapat mengganti password masing-masing.
3.      Admin dan operator dapat melihat dan mengubah data pribadi atau profilnya masing-masing.
4.      Admin dapat melihat history login dari tiap operator dan pengguna atau masyarakat.
5.      Admin dapat melihat list data operator yang bertugas.
6.      Admin dan operator dapat melihat data konsumen yang telah melakukan pemesanan.
7.      Admin dapat melihat dan mencetak laporan hasil yang didapat dari penjualan tiket pesawat.
8.      Operator tidak dapat melihat history login dari tiap operator yang bertugas dan pengguna atau masyarakat.
9.      Operator tidak dapat melihat list data operator yang bertugas.
10.  Tersedia fasilitas menu searching atau pencarian data dari setiap menu yang disediakan guna memudahkan pekerjaan admin dan operator.
11.  Admin memiliki beberapa layanan menu, yaitu edit data konsumen, edit data maskapai, edit data tiket, edit data tempat tujuan, lihat pemesanan konsumen, ubah data profil sendiri, list operator login, dan rincian pemasukan
12.  Pengguna dapat melihat berbagai informasi yang disediakan antara lain melihat peraturan dan petunjuk dalam mengakses layanan ini, melihat profil dan dapat melakukan pendaftaran untuk menjadi member atau pengguna yang sah dalam sitem ini
13.  Pengguna dapat melakukan pemesananan tiket pesawat yang nantinya akan ditelepon langsung secara manual oleh operator.
14.  Pengguna dapat melakukan pembatalan tiket yang sudah dipesan,dengan ketentuan dan peraturan yang berlaku
15.  Pengguna dapat melihat daftar pemesanan tiket yang sudah pernah dilakukannya
16.  Pengguna disediakan menu mengubah data profil miliknya,  dimaksudkan jika pengguna telah pindah rumah atau nomor teleponnya sudah berubah atau hanya sekedar ingin mengubah data-data lainnya, seperti nickname, password
Referensi          :  http://www.cs.upi.edu



Tidak ada komentar:

Posting Komentar