Kamis, 01 Mei 2014

TRANSAKSI

Halo, setelah kemarin meresume materi Instalasi Oracel dan NetBeans sekarang saya akan meresume materi Transaksi pada Sistem Basis Data.

Apa itu transakasi?
Transaksi adalah satu atau beberapa aksi yag dilakukan program aplikasi untuk mengakes atau mengubah isi basis data. Transaksi juga merupakan bagian dari pengeksekusian sebuah program yang melakukan pengksesan basis dara bahkan juga melakukan serangkaian perubaan data. Transaksi harus dilakukan secara utuh atau tidak sama sekali, tidak boeh aa transaksi yag dikerjakan sebagian.

Apa tujuan transaksi?
Transaksi berujuan untuk mencegah dari kehilangan ataupun kerusakan data. Sebuah transaks berpeluang untuk mengganggu integritas basis data yang dapat memmbuat kondisi/hubungan antar data tidak seperti seharusanya.

Sifat-sifat transaksi:

  1. Auotimicity, dimana semua operasi dalam transaksi dapat dikerjakan seluruhnya atau tidak sama sekali.
  2. Consistency, dimana eksekusi transaksi harus dapat menjamin data tetap konsisten setelah transaksi berakhir.
  3. Isolationjika  pada  sebuah  sistem  basis  data  terdapat  sejumlah  transaksi  yang dilaksanakan secara bersamaan, maka semua transaksi yang dilaksanakan pada saat yang bersamaan tersebut harus dapat dimulai dan bisa berakhir.
  4. Durability, dimana perubahan data yang terjadi setelah sebuah transaksi berakhir dengan baik, harus dapat bertahan bahkan jika seandainya sistem mati.
Operasi Transaksi Pada Oracle

-Commit, penanda transki telah dilakukan. Contoh:

Kita buat talenya dulu

Kita buat isi berserta seqencenya
Setelah datanya dimasukan, kemudian kita login dengan 2 command promp tetapi dengan user yang sama dan warna background yang berbeda dan select table transaksinya, seperti contoh di bawah ini 

setelah itu kita masukan data baru ke command line berwarna hitam
setelah itu lihat kita select table transaksi di kedua command line, lihat apa yang terjadi. pada command hitam sudah ada data huruf F, sedangkan pada warna abu belum ada.

agar data pada command line biru muncul hurf F. kita ketikan commit pada cmd hitam.

Kemudian select data transaksi di cmd abu, maka sudah ada F


- SAVE POINT
Save  Point  secara  sederhana merupakan  sebuah titik aman, dimana kita telah menyelesaiakan satu atau beberapa  transaksi. Save point dianalogikan seperti sebuah check point saat kita bermain game. 
Fungsi dari save point adalah supaya pada saat kita ingin rollback atau ada transaksi yang gagal, 
transaksi tidak berjalan dari awal kembali, tetapi dari save poin yang telah kita buat. 
Untuk membuat sebuah save point, caranya adalah :
SAVEPOINT [NAMA_SAVE_POINT];

mari kta buat savepointnya
setelah itu kita masukan data huruf G ke dalam tabel transaksi

kemudian select transaksinya
disinilah penggunaan savepoint, sekarang kita masukan rollback to [nama_savepoin] kemudian tampilkan datanya, maka aan keluar data sebelum dimasukan huruf G


perhatikan datanya hanya sampai F


ISOLASI TRANSAKSI 

Dalam transaksi database, ada 3 hal yang harus dicegah yaitu. 

  •  Dirty Read, Transaksi membaca data dari hasil transaksi lainnya yang gagal. Kedua transaksi tersebut  berjalan bersamaan. 

  • Non-Repeatable Read Transaksi membaca ulang data yang telah di baca sebelumnya karena data tersebut telah di modifikasi oleh transaksi lainnya. 

  • Phantom Read Transaksi membaca sebuah data yang telah hilang akibat dari transaksi yang lainnya
.Untuk  mencegah  3  hal  tersebut,  maka  dalam  Oracle  terdapat  2  level  isolasi  yang dapat diimplementasikan, yaitu : 

  • Read Commited Transaksi hanya dapat melihat perubahan data setelah transaksi lain telah  commit  pada data tersebut. (Seperti dalam contoh commit) 
  • Serializable, Adalah  level  isolasi  yang  menyediakan  isolasi  transaksi  yang  paling  ketat.  Level  ini 
    mengemulasikan  eksekusi  transaksi  secara  serial,  menjadikan  transaksi  dieksekusi  satu 
    setelah  yang  lainnya,seperti  secara  serial,  bukan  secara  bersamaan  (pararel).  Tetapi 
    aplikasi  yang  menggunakan level isolasi ini harus bersedia untuk mengulangi transaksi 
    dikarenakan  kegagalan  pengserialan  transaksi.  Saat  transaksi  berada  pada  level 
    serializable,  sebuah  query  SELECT  hanya  melihat  data  yang  di  COMMIT  sebelum 
    transaksi di mulai; transaksi tersebut tidak akan pernah melihat baik data yang belum di 
    COMMIT atau perubahan data yang terjadi selama eksekusi transaksi oleh transaksi lain 
    yang berjalan pada waktu bersamaan (e.g. saat transaksi ini berjalan, ada transaksi lain 
    yang  melakukan  COMMIT  pada  data).  Jika  pada  transaksi  dengan  level  isolaso 
    Serializable  mengandung  DML  (Data  Manipulatin  Language)  yang  mencoba  untuk 
    meng-update suatu data yang mungkin sudah di update pada sebuah transaksi yang belum 
    di commit pada awal transaksi Serializable, maka perintah DML tersebut akan gagal. 
    Untuk mengaplikasikan level isolasi Serializable, adalah dengan menggunakan perintah : 

SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
Isolai level ini mencegah terjadinya Phantom Read. 

Locking Protocol

  • Shared Lock (S-LOCK) Jika  transaksi  memiliki  shared  lock  pada  suatu  data,  transaksi  tersebut  hanya  bisa melakukan pembacaan. 
  • Exclusive Lock (X-LOCK) Bagi  transaksi  yang  memiliki  exclusive  lock  pada  suatu  data,  transaksi  tersebut  dapat melakukan perubahan dan pembacaan terhadap data tersebut.

  • Penguncian Level Tabel

    Penguncian  yang  berfungsi  untuk  mengunci  suatu  tabel  untuk  mencegah  perubahan  atau  penghapusan tabel selama ada transaksi yang menggunakan tabel tersebut. Untuk melakukan perintah penguncian tabel, adalah sebagai berikut. 
    LOCK TABLE [nama tabel];

    Penguncian Level Baris
    Penguncian  yang  dilakukan  pada  baris  (ROW)  yang  sedang  digunakan  oleh  suatu transaksi
    sampai transaksi tersebut selesai dilakukan.  Penguncian level baris hanya berlaku untuk operasi 
    UPDATE dan DELETE. 

    Deadlock
    Keadaan dimana dua atau lebih transaksi dalam kondisi wait-state, satu sama lain menunggu lock dilepas sebelum di mulai.(Yudi wibisono)

    Selasa, 25 Februari 2014

    Assalamualaikum~
    Udah setahun baru buat lagi entri baru di blog, memang menulis itu susah, harus banyak latihan  :)
    Kali ini saya Rabihi Awaludin akan menjelaskan tentang instalasi ORACLE berikut CRUD database, dan instalasi NETBEANS berikut dengan jsp ini adalah resume dari praktikum sistem basis data pertemuan pertama.



    1. INSTALASI ORACLE


        Oracle adalah software yang digunakan untuk membuat database, oracle sendiri dibuat oleh Oracle Corporation.
    Nah Sekarang kita akan mencoba menginstall Oracle 10g Express.
     1. Klik 2 kali installer oracle, maka akan muncul seperti ini
       

    2. Tunggu hingga proses exttrac file selesai, setelah itu maka akan muncul jendela dialog seperti ini, klik Next




     3. Selanjutnya akan muncul jendela untuk persetujuan atas lisensi dari oracle, centang bagian I accept the terms in the licences agreement jika sudah dibaca dan setuju, lalu klik Next
     4. Selanjutnya anda akan diminta untuk menentukan direktori yang akan menjadi tempat oracle, anda bisa menyimpannya dimana saja, namun disarankan mengikuti default saja. Setelah itu klik Next

     5. Selanjutnya anda akan diminta untuk membuat password, sebagai default user itu adalah system begitu juga passwordnya. Tapi anda dapat mengubahnya, asal jangn lupa saja. User ini merupakan user tertinggi(Administraror) dalam system oracle. Setelah mengisi password lalu klik Next.


     6. Setelah memberikan password, maka akan muncul jendela sebagai informaso mengenai port HTTP yang akan digunakan oleh APEX. Setelah membacanya klik Install
    7. Tunggu hingga proses installasi selesai.

    8. Jika sudah selesai maka akan muncul jendela dialog seperti dibawah ini, klik Finish. Tahapan instalasi Oracle selesai.



    2. PENGENALAN ORACLE DAN DATABASE HOMPAGE




    Setelah melakukan instalasi oracle diatas kita akan main-main dengan Oracle Database Hompage =))


    Berikut adalah tahap-tahapannya:

    1. Pastikan Oracle sudah menyala dengan memeriksanya di Task Manager kita pilih Oracle Database Home Pade dengan menekan tombol Start->All Programs->Oracle 10g Database ExpressEdition->GoToDatabase Hompage. Setelah itu akan muncul  aplikasi web seperti di bawah ini :
    Isikan username : system pasword yang telah dibuat tadi setelahnya klik login
     2. setelah login kita akan masuk ke dalam halaman Home

     Untuk menggunakan SQLnya, kita pilih SQL lalu pilih SQL Command. Maka akan muncul seperti ini



    Jika anda telah selesai dan anda akan meninggalkan Oracle homepage, jangan lupa LogOut untuk menjaga kemananan data anda.

    3. MENGGUNAKAN SQL *PLUS DI ORACLE

    Ada lagi cara untuk mengakses database yaitu dengan menggunakan SQL Plus di CMD, caranya klik Start->Cari  Run SQL Command Line maka akan tampil jendela command line untuk SQLnya, ketikan connect system setelah itu masukan password yang pertama kali diinstall


    Setelah masuk ke system dan memasukan password dengan benar maka akan ada tulisan connected 


    Setelah itu kita akan melihat ada tabel apa saja di database tersebut, caranya klik select *from tab; dan akan muncul nama-nama tabelnya


    Setelah selesai menggunakan aplikasi pada command line ini, kita harus memutuskan koneksinya, caranya ketik disconnect



    4. CRUD MENGGUNAKAN ORACLE DATABASE HOMPAGE
    1. Kita harus membuka dulu database hompagenya atau bisa membuka browser dan masukan  127.0.0.1:8080 di tab search. Dan login sebagai sistem.
    2. Sebelum mencoba CRUD kita harus membuat database dulu dengan user baru
    3. Masuk(pilih) ke Administrartor untuk membuat user baru dan pilih Database Users


    4. Untuk membuat user baru, kita piih create dan akan muncul

    5. Nah pada halaman ini kita akan membuat user baru Ketikan pada Username : Latihan Password : Latihan dan centang bagian CREATE TABLE, CREATE VIEW, CREATE PROCEDURE, CREATE SEQUENCE, CREATE TRIGGER.


    6. Kemudian klik Create
    7.  Setelah kita membuat datausernya kita logut dahulu dari Admminsitrator, dan login kembali sebagai User: Latihan atau yang telah kita buat tadi.


    8. Setelah login berhasil kita akan disediakan jendela user baru, karena kita akan membuat sebuah tabel yang akan dibuat oleh SQL maka kita klik SQL
    9. Pilih SQL kemudian SQL COMMAND dan kita akan membuat table dota_player atau apa saja boleh, ini hanya sebagai contoh. Masukan syntak sebagai berikut.



     10. Kemudian klik run, untuk memastikan sudah ada atau belum tabel tersebut kita kembali ke home dan pilih object browser





     Setelah membuat tabel kita akan membuat CRUD pada tabel tersebut, pilih data kemudian insert row,  dan akan muncul seperti ini



    Masukan data sesuka anda, bebas mau apa saja. Asalkan jangan ada id_player yang sama karena itu primary key, setelah itu klik create
     Ada 2 create, yang pertama ada Create, create disini hanya menyimpan 1 data saja. Untuk Create and Create Another, berarti bisa memasukan data lagi setelah memasukan data pertama. Setelah mengisikan data maka akan muncul isi dari table tersebut. Seperti ini


    Setelah itu kita akan mencoba edit pada tabel diatas, klik gambar pensil dan kertas maka akan muncul tampilan seperti berikut


    Klik apply changes, dan update selesai.
    Selanjutnya kita akan coba mengeksekusi tabelnya dengan query, disini kita contohkan untuk menampilkan isi tabel caranya masuk lagi ke SQL Command.
    Kemudian klik run, dan akan tampil seperti ini



    untuk menghapus tabel kita masukan syntaxnya DROP table dota_player;
    Setelah itu kita akan mencoba membuat tabel menggunakan GUI di oracle 
    Caranya login ke user Latihan tadi, lalu ke object browser -> creat > table

    Dan akan muncul seperti ini, nah disnilah anda memasukan nama tabel, nama kolom, tipe data, not null dan lainnya. kita tambah saja tabelnya kemudian klik Next

     setelah itu pilih primary keynya pada pilihan kedua dan klik Next higga selesai

    5. INSTALASI NETBEANS
    1. Klik 2 kali installer netbeans, dan akan muncul sperti ini kemudian klik customize untuk mencentang bagian apache tomcat

    2. Centang Apache tomcat kemudian klik ok dan next

    3. Centang bagian perseteujuan jika sudah membaca, kemudian klik Next

    4. Centang lagi bagian persetujuannya kemudian klik Next lagi dan akan muncul bagian dimana kita mau menyimpan netbeans tersebut. Kemudian klik Next



    5. Klik Next terus sampai muncul jendela proses penginstalan.



    6. Setelah selesai kemudain klik finish



    6. MENCOBA JSP DI NETBEANS


     1. Klik neatbeans
    2. klik file -> new project

    3. Klik Java Web kemudian next terus sampai ada tombol finish. Dan akan muncul seperti ini, dengan syarat pilih servernya Apache Tomcat.


    4. Setelah itu coba kita run program ini dengan klik tombol play

     5. Dan AKHIRNYA SELESAI, browser akan terbuka seperti ini

     Itulah resume dari praktikum minggu kemarin, terimakasih kepada para pembaca. Mudah mudahan Bermanfaat. Aamiin
    Terimakaih Wasaalamualaikum wr wb.