Minggu, 20 April 2014

TRANSAKSI

Pada hari selasa, 15 April 2014 di praktikum mata kuliah Sistem Basis Data, kita baru saja belajar mengenai Transasksi pada oracle.

Sesuai dengan definisinya yang sering dikatakan berulang-ulang oleh Dosen Saya, Transaksi adalah Suatu proses yang menghasilkan Data, yang berfungsi untuk melindungi data dari kehilangan dan kerusakan pada data itu sendiri.

Untuk menjam integritas dari data agar tetap dapat terpelihara dengan baik, transaksi memiliki sifat-sifat yang disebut ACID (singkatan dari keempat sifat yang dimiliki oleh transaksi), yaitu:
  1. Atomicity, 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. Isolation, jika 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

Ada dua operasi transaksi pada ORACLE, di Operasi Transaksi tersebut berfungsi untuk menjaga integritas data dan ketahanan data, yakni:

1. Commit
COMMIT itu berfungsi untuk menandakan bahwa transaksi TELAH SELESAI dilaksanakan, sedangkan

2. Rollback
ROLLBACK berfungsi untuk memberitahukan bahwa transaksi HARUS DIULANG karena adanya kegagalan.

Agar kita tambah paham dari materi Transaksi ini, kita coba kasih sedikit Contoh.
Pertama kita buat User/Database Baru pada terminal / run sql masing-masing, misalnya “Transaksi”, lalu buat tabel biasa seperti query dibawah ini dengan nama table transaksi.


Terus kita isi tabelnya:


Tampilan di terminal akan seperti ini:
tampilan terminal 1
Kita buka terminal satu lagi dan connect dengan user yang sama, lalu lakukan perintah yang sama (SELECT * FROM TRANSAKSI),
tampilan terminal 2
Maka akan ditampilkan seperti gambar diatas, yakni “No Rows Selected”. Untuk itu kita perlu Commit, untuk menentukan bahwa transaksi sudah berhasil dilakukan, setelah kita ketik commit maka data yang seharusnya muncul di terminal lain yang menggunakan user yang sama, maka akan muncul, seperti gambar di bawah ini:

Pada terminal kedua akan muncul pula tampilan seperti di terminal pertama, jika kita ketik perintah (SELECT * FROM TRANSAKSI). 

Yang barusan namanya Commit, sekarang kita coba Rollback. Sebelum kita coba ollback kita membutuhkan SAVEPOINT atau titik aman agar jika transaksi gagal maka kita dapat kembali / rollback ke savepoint bukan dari awal lagi.
Pertama Kita buat savepoint dengan nama “transaksi_eheuy”,
udah gitu kita lakukan Kegiatan seperti mengupdate nama / delete column, tapi sekarang kita coba mengupdate salah satu nama yang ada pada table transaksi, Misalnya :

Adduuuuuuhh, salah Update (ceritanya kita salah update nama), tapi untungnya kita sudah membuat titik aman sebelumnya / savepoint, maka kegiatan kita yang barusan bisa di rollback dengan cara sbb:

Sebelum di rollback:

Setelah di rollback:

Data Kembali seperti posisi aman saat di savepoint, Tapi jika kita Rollback setelah kita commit sebelumnya, maka akan error!! Kenapa?? Itukambali lagi ke pengertian commit yang berarti data yang dimasukan sudah final, berhasil tanpa kesalahan dan jika commit dilakukan, rollback tidak bisa di lalukan. savepoint yang sudah di buat berarti lenyap dan tak bisa digunakan kembali, kecuali kita membuatnya lagi.
Dalam Transaksi, kita pun perlu mengenal ISOLASI TRANSAKSI, penjelasannya seperti berikut:
Dalam transaksi database, ada 3 hal yang harus dicegah yaitu:
1. Dirty Read
Transaksi membaca data dari hasil transaksi lainnya yang gagal. Kedua transaksi tersebut berjalan bersamaan.
2. Non-Repeatable Read
Transaksi membaca ulang data yang telah di baca sebelumnya karena data tersebut telahdi modifikasi oleh transaksi lainnya.
3. 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 :
1. Read Commited
Transaksi hanya dapat melihat perubahan data setelah transaksi lain telah commit pada data tersebut. (Seperti dalam contoh commit).
2. 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 mengupdate 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; 
Isolasion level ini mencegah terjadinya Phantom Read.
Kita pun perlu mengenal LOCKING PROTOCOL, penjelasannya seperti berikut:

Pada transaksi database, dikenal istilah locking yang berfungsi untuk menjaga integritas data. Terdapat dua buah metode locking yaitu :

A. Shared Lock (S-LOCK)
Jika transaksi memiliki shared lock pada suatu data, transaksi tersebut hanya bisa melakukan pembacaan.
            B. Exclusive Lock (X-LOCK)
Bagi transaksi yang memiliki exclusive lock pada suatu data, transaksi tersebut dapat melakukan perubahan dan pembacaan terhadap data tersebut.
Untuk shared lock, dapat dimiliki oleh beberapa transaksi dalam satu waktu, namun untuk exclusive lock, hanya dapat dimiliki oleh satu transaksi pada satu waktu.
Kemudian kita Bahas mengenai PENGUNCIAN LEVEL TABEL dan PENGUNCIAN LEVEL BARIS, dengan bahasan sebagai berikut:

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 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.

Terakhir pada bahasan ini, kita coba bahas pula tentang DEADLOCK, Deadlock adalah Merupakan situasi dimana dua atau lebih transaksi dalam kondisi wait-state, satu sama lain menunggu Lock dilepas sebelum di mulai.

Semoga kutipan resume praktikum sistem basis data ini bisa menjadi ilmu bagi kita semua. Semangat dan terus Belajar .   :) :)

Senin, 24 Februari 2014

RESUME PERTEMUAN PRAKTIKUM SISTEM BASIS DATA 1


A.      Pengenalan Oracle



Pengertian Oracle adalah database relasional yang terdiri dari kumpulan data dalam suatu sistem manajemen basis data RDBMS (Relational Data Base Management System) yang multi-platform. Basis data Oracle ini pertama kali dikembangkan oleh Larry Ellison, Bob Miner dan Ed Oates lewat perusahaan konsultasinya bernama Software Development Laboratories (SDL) pada tahun 1977. Pada tahun 1983, perusahaan ini berubah nama menjadi Oracle Corporation sampai sekarang.

Gambar arsitektur strurktur oracle

Keunggulan-keunggulandatabase Oracle yang membuat Oracle sebagai produk database yang paling banyak dipakai adalah sebagai berikut:
·         Scalability
·         Reliability
·         Stability
·         Availability
·         Multiplatform
·         Mendukung Database berukuran besar
·         Security
·         Scalability, kemampuan menangani banyak user yang Melakukan koneksi secara simultan tanpa berkurangnya performance secara signifikan. Dalam dokumentasinya, Oracle menyebutkan bahwa database Oracle dapat melayani puluhan ribu user secara simultan.
·         Reliability yang bagus, yaitu kemampuan untuk melindungi data dari kerusakan jikaterjadi kegagalan fungsi pada sistem seperti disk failure.
·         Stability, yaitu kemampuan untuk tidak crash karena beban yang tinggi.
·         Availability,yaitu kemampuan dalam penanganan crash atau failure agar service tetap.
·         Multiplatform, dapat digunakan pada banyak sistem operasi sepertiWindows, Unix, Linux dan Solaris.
·         Security yang cukup handal
Dan oracle juga mendukung data yang berukuran besar. Berdasarkan dokumentasinya, Oracle dapat menampung data sampai 512 petabyte(1 petabyte= 1024 terabyte).



    B.      PENGENALAN LINGKUNGAN ORACLE DATABASE HOMEPAGE
1.    Pastikan oracle service sudah menyala, dengan melihat dan mengeceknya di task manager dengan cara sebagai berikut:
a.       Masuk ke Task Manager


b.      Klik tombol services lalu cari semua name yang bertuliskan oracle, satu per satu di play menggunakan tomol play






2. Jika sudah kita bisa Oracle Database Home page dengan menekan tombol Start->All Programs->Oracle 10g Database ExpressEdition->GoToDatabase Homepage.



     Kita bisa isi username dan passwordnya dengan “system” , untuk masuk sebagai admin menuju ke halaman Home.




3. Untuk menggunakan SQL Oracle di Database Homepage pilih SQL, lalu pilih SQL Commands.Maka akan muncul halaman SQL seperti berikut:




4.       Setelah menggunakan Oracle Database Homepage pastikan Anda logout agar tidak terjadi kebocoran keamanan data.

     C.      MENGUNAKAN SQL * PLUS
Selain menggunakan tampilan berbasis GUI seperti Oracle Database Homepage.Kita juga bisa menggunakan aplikasi SQL Plus yang berbasis command line. Kita bias memulainya dengan memilih
Start->AllPrograms->Oracle 10g Database Express Edition->Run SQL Command Line.

1.       Setelah SQL Command Line muncul,sama seperti Oracle Database Homepage,Anda harus memakai account yang dibuat saat pertama kali instalasi.



2.       Setelah connected maka Anda sudah bias memulai proses pemakaian database.



3.       Untuk melihat isi table apa saja yang ada pada sistem,berikut sintaksnya



Maka akan menampilkan semua table yang ada pada sistem.

4.       Setelah selesai menggunakan aplikasi ini,Anda harus melakukan Logout.Caranya dengan mengetikan sintaks berikut:



Berikut di atas sebagian pembahasan Mengenai Pengenalan Awal dari Oracle, dalam tulisan ini penulis tidak menyertakan pembahasan mengenai CRUD sederhana pada oracle, namun pembahasan lengkapnya akan di bahas dalam modul resume yang telah penulis buat sebelumnya yang membahas mengenai materi ini. Modul Resume tersebut bisa teman-teman lihat atau bahkan di download  DISINI, terima kasih Telah Membaca tulisan ini, semoga bermanfaat :)


sumber:
-  Modul Praktikum 1 Sistem Basis Data Ilkom-Pilkom UPI tahun 2014




Senin, 24 September 2012

6 Fakta Unik Tentang Laron


6 Fakta Unik Tentang Laron
Siapa sih yang tidak tau laron? Kita semua pasti tahu laron. Serangga yang muncul di malam hari dan selalu mencari sumber cahaya untuk berkumpul. Setiap laron muncul, pasti dalam jumlah yang banyak. Tentunya kita pasti kerepotan dengan banyaknya laron tersebut.
Kemarin malam di kosan saya di datangi banyak sekali laron (yang menginspirasi saya untuk menulis artikel ini). Begitu segerombolan laron datang, setiap rumah pasti cepat-cepat mematikan lampu rumahnya agar tidak didatangi laron. Tapi, apakah kalian pernah berpikir, kenapa laron berkumpul di sumber cahaya, seperti lampu? Atau kenapa laron selalu menggugurkan sayapnya malam itu juga? Atau tahukah anda bahwa laron itu hidup cuma satu malam? Kali ini saya akan membahas tentang fakta-fakta unik tentang laron yang mungkin untuk sebagian orang belum mengetahui faktanya.

1.  Laron adalah Rayap

Laron adalah rayap jantan dan betina yang sudah matang. Rayap akan memiliki sayap ketika dia telah memasuki usia matang untung melakukan reproduksi membentuk koloni baru. 
2.  Laron Keluar pada awal Musim Penghujan
Rayap jantan dan betina yang sudah matang dan memiliki sayap akan keluar di awal musim penghujan. Sehingga kedatangan laron sering dianggap sebagai pertanda awal musim penghujan.
3.  Laron berkumpul untuk Mencari Pasangan
Pada awal musim penghujan, rayap yang telah dewasa (atau laron) akan keluar dari sarang dan mencari pasangannya dengan berkumpul di sekitar sumber cahaya.

4.  Laron Hanya Hidup Satu Malam
Sebenarnya laron atau juga rayap dewasa tidaklah hidup satu malam. Laron adalah rayap, dan tentunya dia telah hidup lama sebelum menjadi laron. Laron yang mati adalah laron yang tidak menemukan pasangannya akan mati saat fajar tiba. Sedangkan laron yang menemukan pasangannya akan membentuk koloni baru dan laron betina atau rayap betina akan menjadi ratu di koloni barunya.
5.  Laron Jadi Peyek
Bagi yang belum tahu mungkin peyek Laron ini agak sedikit mengagetkan. Namun, hal itu memang ada. Penduduk desa masih banyak yang membuat peyek/rempeyek dari laron. Dan katanya rasanya seperti peyek udang (saya sih belum pernah mencoba, hehe).
6.  Laron jadi Umpan Memancing.
Laron juga bisa digunakan sebagai umpan memancing. Ikan yang biasanya memakan umpan ini adalah ikan mujair dan ikan nila.



sumber: http://www.wikimu.com/news/DisplayNews.aspx?id=19490