Sabtu, 28 Maret 2015

Peta Konsep Sederhana Linux Shell & Scheduling



A. LINUX SHELL

penjelasan :
- BASH = Bourne Again Shell
- bash memiliki karakter spesial : 

- Perintah PATH:
• perintah perintah paling umum berada di dalam “PATH” shell anda, berarti anda cukup
mengetikkan nama dari program untuk mengeksekusinya.
Contoh: mengetik “ls” akan mengeksekusi perintah “ls”
• variabel “PATH” shell anda berada pada lokasi program yang paling umum, seperti /bin,
/usr/bin, /usr/x11r6/bin dan lain lain.
• Untuk mengeksekusi perintah yang tidak berada pada PATH anda saat ini, anda dapat
menuliskan secara lengkap lokasi dari program tersebut.

- Command syntax :
ls menampilkan daftar file di current directory
ls -l menampilkan daftar file dengan “long” format
ls -l –color seperti diatas, dengan output berwarna
cat filename menampilkan konten dari file
cat -n filename menampilkan konten dari file, dengan nomer baris

- Linux Help :

  1. terpasang :

Banyak perintah memiliki halaman “help” sederhana yang bisa dipanggil dengan special
commands flags. Flags ini biasanya terlihat seperti “-h” atau “--help”
Contoh: grep --help

  1. Man Pages :
Sumber terbaik untuk perintah yang paling lengkap dapat ditemukan pada halaman manual, dikenal
dengan nama “man pages”. Untuk membaca halaman manual dari setiap perintah, cukup ketik
“man program”

  1. Info Pages :
Halaman info sama dengan halaman manual, tapi yangditampilkan bukan satu halaman panjang, melainkan berupa segmen yang lebih pendek dengan tautan menuju potongan-potongan informasi lainnya. Halaman info dapat diakses dengan perintah “info”, atau untuk beberapa distro Linux, “pinfo” (tampilan yang lebih baik)


B. SCHEDULING


- crontab -e : Perintah ini digunakan untuk mengubah daftar perintah yang akan dijalankan oleh crontab. Untuk menambahkan perintah baru, kita hanya perlu mengetikkan perintah yang ingin kita jalankan sesuai format penulisan perintah di crontab. 
- crontab -l : Perintah ini digunakan untuk melihat daftar perintah yang akan kita eksekusi
- format penulisan perintah di crontab : 



1. * pertama menentukan menit ke berapa perintah akan dieksekusi (range = 0 – 59)
2. * kedua menentukan jam berapa perintah akan dieksekusi (range = 0 – 23)
3. * ketiga menentukan hari ke berapa perintah akan dieksekusi (range = 1 – 31)
4. * keempat menentukan bulan berapa perintah akan dieksekusi (range = 1 – 12)
5. * kelima menentukan hari ke berapa dalam seminggu perintah akan dieksekusi (range = 0 – 6;
minggu = 0)

- Selain dengan format penulisan waktu diatas, ada juga format penulisan waktu khusus.

Berikut contohnya :


- Berikut beberapa perintah dasar yang untuk perintah at :

at : Perintah ini digunakan untuk menentukan kapan perintah/job akan dieksekusi.
atq : Perintah ini digunakan untuk melihat semua antrian perintah/job
atrm [nomorjob] : Perintah ini digunakan untuk menghapus antrian perintah dengan nomor
job tertentu


Sumber Referensi :

Modul Praktikum Sistem Operasi Ilmu Komputer 2015

Jumat, 13 Maret 2015

COMMAND BASIC LINUX & MANAJEMEN PROSES


BASIC COMMAND LINUX


-Pengertian Linux

Linux adalah nama yang diberikan kepada sistem operasi komputer bertipe Unix. Linux merupakan salah satu contoh hasil pengembangan perangkat lunak bebas dan sumber terbuka utama. Seperti perangkat lunak bebas dan sumber terbuka lainnya pada umumnya, kode sumber Linux dapat dimodifikasi, digunakan dan didistribusikan kembali secara bebas oleh siapa saja.Nama "Linux" berasal dari nama pembuatnya, yang diperkenalkan tahun 1991 oleh Linus Torvalds. Sistemnya, peralatan sistem danpustakanya umumnya berasal dari sistem operasi GNU, yang diumumkan tahun 1983 oleh Richard Stallman. Kontribusi GNU adalah dasar dari munculnya nama alternatif GNU/Linux.Terdapat banyak distribusi Linux (lebih dikenali sebagai distro) yang dibuat oleh individu, grup, atau lembaga lain. Masing-masing disertakan dengan program sistem dan program aplikasi tambahan, di samping menyertakan suatu program yang memasang keseluruhan sistem di komputer (installer program).
Inti di setiap distribusi Linux adalah kernel, koleksi program dari proyek GNU (atau proyek lain), cangkang (shell), dan aturcara utilitas seperti pustaka (libraries), kompilator, dan penyunting (editor). Kebanyakan sistem juga menyertakan aturcara dan utilitas yang bukan-GNU. Bagaimanapun, utilitas tersebut dapat dipisahkan dan sistem ala UNIX masih tersedia. Beberapa contoh adalah aturcara dan utiliti dari BSD dan sistem grafik-X (X-Window System). X menyediakan antarmuka grafis (GUI) yang umum untuk Linux.
Contoh-contoh distribusi Linux :
Ubuntu dan derivatifnya : Sabily (UbuntuMusliEdition), Kubuntu , Xubuntu , Edubuntu , GoBuntu, Gnewsense, ubuntuCE
OpenSUSE
Fedora
BackTrack
Slackware
Gentoo Linux


Pengertian Unix
Unix adalah satu dari banyak sistem yang menentukan prilaku sebuah komputer. Unix adalah sistem operasi yang memungkinkan sebuah komputer dipakai sekaligus oleh banyak orang (multiuser). Unix menyediakan beberapa peralatan untuk menyelesaikan berbagai masalah, serta untuk berkomunikasi. Unix dapat ditemui di hampir semua jenis komputer. Meskipun terdapat banyak variasinya, pola kerjanya bisa dikatakan serupa. Ini salah satu alasan mengapa Unix begitu populer. Yang paling penting untuk diketahui adalah, komputer hanya melakukan apa yang ‘diajarkan’ (baca: diprogram) padanya. Ia tidak dapat melakukan improvisasi. Jadi, ketika kita bekerja dengan sebuah komputer, sebenarnya kita tidak berinteraksi dengannya, melainkan dengan orang yang memprogram komputer tersebut. Kita sedang berinteraksi dengan orang yang mengkonstruksi Unix, karena setiap baris yang kita baca, setiap reaksi yang kita dapat, setiap ‘alat’ yang kita pakai adalah hasil karya mereka yang terlibat dalam pengembangan program tadi.
Unix begitu populer di sebabkan oleh karakter mereka yang terlibat pada pengembangannya : sangat cerdas, kreatif dan lucu. Coba baca berbagai dokumentasi tentang Unix, kita akan menemui lelucon di sana sini. Unix sudah sedemikian rumit dan sulit, tanpa bahasa yang ‘tinggi’ pun kita tahu, kita sedang berurusan dengan ‘sesuatu yang serius’. Kesederhanaan ini, menurut kami, malah menunjukkan kecerdasan mereka. Mereka berhasil menerangkan ilmu ‘langit’ dalam bahasa bumi. Dan tidak terjebak dengan gaya bahasa ‘wah’, sebagaimana sering dijumpai terutama di dunia ketiga, di kalangan mereka yang lebih mengutamakan kulit ketimbang isi, membuat yang sederhana menjadi rumit, bertentangan dengan semangat keilmuan.
Biasanya sistem – sistem Unix dihubungkan dengan menggunakan TCP/IP (Transmission Control Protocol/Internet Protocol). Ini adalah sebuah protokol (metode) yang dipergunakan luas untuk menghubungkan berbagai jenis komputer.
Unix menggunakan dua media utama untuk menghubungkan sistem computer, yaitu :
1. Ethernet. Melalui kabel koaksial dengan kecepatan 10 Mbits perdetik.
2. Slip. Serial line internet protocol : hubungan melalui saluran telepon atau saluran tetap (dedicate line) ppp (point to point protocol : pengembangan dari slip).
Sistem  operasi  UNIX  adalah  kumpulan  program  yang  berperan  sebagai penghubung  antara  komputer  dan  user.  Kernel  adalah  program  komputer  yang bertugas dalam mengalokasikan system resources dan mengkoordinasi dari semua proses  internal  komputer.  User  berkomunikasi  dengan  kernel  melalui  sebuah program  yang  disebut  shell.  Shell  adalah  command  line  interpreter,  shell mentranslate perintah yang diberikan oleh user dan mengubahnya ke bahasa yang dikenali oleh kernel.
4 Komponen dasar dari UNIX, antara lain :
a.       Kernel
b.      Shell
c.       Command and Utilities
d.      Files and Directories
Karena linux ini berasal dari UNIX yang menggunakan antar muka baris perintah (command line), maka antarmuka pengguna berbasis grafik dengan jendela, ikon dan menu pada linux dibangun di atas dasar antarmuka baris perintah.
Perintah-perintah ini di eksekusi dengan menggunakan Terminal. Untuk membuka jendela terminal, ada beberapa cara
-          Menggunakan Dash Menu > ketik “Terminal” > klik icon Terminal
-       Menggunakan shortcut [CTRL] [ALT] [T]

-       Perintah Dasar di Linux

sebagai permulaan, berikut ini adalah beberapa perintah-perintah dasar yang biasa digunakan di Linux, antara lain:

man
Perintah ini biasa digunakan untuk menampilkan halaman manual atau help dari suatu perintah. Format penulisannya man , perintah man sangat menolong kita untuk berjalan-jalan di teminal linux ini. Contoh man man akan menampilkan halaman manual dari man.

pwd
Merupakan kependekan dari present working direktori, digunakan untuk melihat path lengkap dari direktori yang sedang aktif saat ini.

ls
Perintah ini digunakan untuk melihat isi suatu direktori. Penggunannya ls /path, path bisa berupa alamat mutlak atau relatif, jika digunakan tanpa argumen /path akan menampilkan isi direktori saat ini.

mkdir
Sesuai dengan namanya yang merupakan kependekan dari make directory, perintah ini digunakan untuk membuat direktori. Biasa dijalankan dengan menuliskan mkdir /path, jika argumen /path bukan merupakan alamat mutlak maka direktori yang dibuat akan relatif terhadap direktori saat ini. Contoh mkdir /home/userkamu/coba akan menghasilkan direktori coba di direktori home user userkamu.

cd
Namanya terinspirasi dari change directory, digunakan untuk berpindah dari satu direktori ke direktori lainnya. Argumen yang biasa digunakan adalah alamat suatu direktori, baik relatif maupun mutlak. Jika digunakan tanpa argumen ia akan memanggil direktori $HOME. Contoh cd /etc/X11 akan memindahkan direktori yang aktif ke /etc/X11.


MANAJEMEN PROSES

Proses adalah Program yang sedang dieksekusi. Setiap kali menjalankan suatu program, Sistem UNIX melakukan suatu fork, yaitu melakukan beberapa urutan operasi untuk membuat suatu proses konteks dan kemudian mengeksekusi program tersebut dalam konteks yang sudah dibuat. Oleh karena itu kita harus menguasai Manajemen Proses Linux. Manajemen Proses Linux adalah salah satu hal yang sangat penting yang harus dikuasai oleh seorang Teknisi Komputer. Kenapa? Karena selain kita mengetahui proses di Windows, kita harus tahu proses di Linux dan dengan penguasaan manajemen prose ini kita bisa mengetahui proses apa saja yang running pada setiap user. Atau dalam suatu jaringan juga kita bisa melakukan controlling terhadap proses setiap client.

      Dalam Manajemen proses beberapa hal penting yang harus dikuasai, yaitu :
1. Mengetahui proses yang terjadi Linux
2. Dapat melakukan proses controlling terhadap proses di Linux
3. Menghentikan proses yang tidak dibutuhkan dan mengurangi performa Linux

Untuk itu kita harus mempelajari Manajemen Proses pada Linux. Perintah inti dari proses manajemen proses di Linux adalah :
1. ps
2. kill


Sebelum kita mempelajari mengenai perintah ps, dan kill, kita harus mengetahui sedikit demi sedikit mengenai proses, jenisnya, dll.

Terdapat 4 konsep dasar manajemen proses :

Multiprogramming, salah satu teknik penjadwalan dimana tugas (task) yang sedang berjalan tetap berjalan sampai ia melakukan operasi yang membutuhkan waktu untuk menunggu respon dari luar (external event), misalnya membaca data dari disket/CD/dsb, atau sampai komputer memaksa untuk menukar tugas yang sedang berjalan dengan tugas lainnya.
Pseudoparallelism, eksekusi proses secara paralel pada sistem.
Multiprcessing, kemampuan pemrosesan komputer yang dilakukan secara serentak. Istilah ini juga dapat merujuk kepada dukungan sebuah sistem untuk mendukung lebih dari satu prosesor dan mengalokasikan tugas kepada prosesor-prosesor tersebut.
Distributed Processing, Mengerjakan semua proses pengolahan data secara bersama antara komputer pusat dengan beberapa komputer yang lebih kecil dan saling dihubungkan melalui jalur komunikasi.

Model-model proses:
Sequential Proses.
Multiprogramming.
CPU Switching.

Perintah ini digunakan untuk melihat kondisi proses yang ada :

$ ps
untuk melihat kondisi proses yang ada. PID adalah Nomor Identitas Proses, TTY adalah nama terminal dimana proses tersebut aktif, STAT berisi S (Sleeping) dan R (Running), COMMAND merupakan instruksi yang digunakan.

$ ps u
Mencari proses yang spesifik untuk pemakai

$ ps –u [nama_user]
hanya melihat proses yang dilakukan pemakai, melihat proses secara spesifik

$ ps –a, $ ps –aux
untuk melihat proses lain yang ada & sedang berjalan
$ ps –au
memiliki fungsi yang sama dengan opsi -a yaitu untuk melihat proses lain yang ada
$top , $htop
Menampilkan hubungan proses parent dan child

$ ps –eH opsi e digunakan untuk memilih semua proses sedangkan H digunakan untuk menampilkan proses secara hierarki
$ ps –eF
menampilkan beserta letak proses
$ pstree
Menampilkan semua proses pada sistem dalam bentuk hirarki parent/chil
Menghentikan suatu proses

kill %<nomor job>
 digunakan untuk menghentikan job. nomor job adalah PID
$ renice <prioritas> <PID>

Mengubah prioritas suatu proses

Kamis, 12 Maret 2015





BASIC COMMAND LINUX-

-Pengertian Linux
Linux adalah nama yang diberikan kepada sistem operasi komputer bertipe Unix. Linux merupakan salah satu contoh hasil pengembangan perangkat lunak bebas dan sumber terbuka utama. Seperti perangkat lunak bebas dan sumber terbuka lainnya pada umumnya, kode sumber Linux dapat dimodifikasi, digunakan dan didistribusikan kembali secara bebas oleh siapa saja.Nama "Linux" berasal dari nama pembuatnya, yang diperkenalkan tahun 1991 oleh Linus Torvalds. Sistemnya, peralatan sistem danpustakanya umumnya berasal dari sistem operasi GNU, yang diumumkan tahun 1983 oleh Richard Stallman. Kontribusi GNU adalah dasar dari munculnya nama alternatif GNU/Linux.Terdapat banyak distribusi Linux (lebih dikenali sebagai distro) yang dibuat oleh individu, grup, atau lembaga lain. Masing-masing disertakan dengan program sistem dan program aplikasi tambahan, di samping menyertakan suatu program yang memasang keseluruhan sistem di komputer (installer program).
Inti di setiap distribusi Linux adalah kernel, koleksi program dari proyek GNU (atau proyek lain), cangkang (shell), dan aturcara utilitas seperti pustaka (libraries), kompilator, dan penyunting (editor). Kebanyakan sistem juga menyertakan aturcara dan utilitas yang bukan-GNU. Bagaimanapun, utilitas tersebut dapat dipisahkan dan sistem ala UNIX masih tersedia. Beberapa contoh adalah aturcara dan utiliti dari BSD dan sistem grafik-X (X-Window System). X menyediakan antarmuka grafis (GUI) yang umum untuk Linux.
Contoh-contoh distribusi Linux :
Ubuntu dan derivatifnya : Sabily (Ubuntu Muslim Edition), Kubuntu, Xubuntu, Edubuntu, GoBuntu, Gnewsense, ubuntuCE
OpenSUSE
Fedora
BackTrack
Slackware
Gentoo Linux


Pengertian Unix
Unix adalah satu dari banyak sistem yang menentukan prilaku sebuah komputer. Unix adalah sistem operasi yang memungkinkan sebuah komputer dipakai sekaligus oleh banyak orang (multiuser). Unix menyediakan beberapa peralatan untuk menyelesaikan berbagai masalah, serta untuk berkomunikasi. Unix dapat ditemui di hampir semua jenis komputer. Meskipun terdapat banyak variasinya, pola kerjanya bisa dikatakan serupa. Ini salah satu alasan mengapa Unix begitu populer. Yang paling penting untuk diketahui adalah, komputer hanya melakukan apa yang ‘diajarkan’ (baca: diprogram) padanya. Ia tidak dapat melakukan improvisasi. Jadi, ketika kita bekerja dengan sebuah komputer, sebenarnya kita tidak berinteraksi dengannya, melainkan dengan orang yang memprogram komputer tersebut. Kita sedang berinteraksi dengan orang yang mengkonstruksi Unix, karena setiap baris yang kita baca, setiap reaksi yang kita dapat, setiap ‘alat’ yang kita pakai adalah hasil karya mereka yang terlibat dalam pengembangan program tadi.
Unix begitu populer di sebabkan oleh karakter mereka yang terlibat pada pengembangannya : sangat cerdas, kreatif dan lucu. Coba baca berbagai dokumentasi tentang Unix, kita akan menemui lelucon di sana sini. Unix sudah sedemikian rumit dan sulit, tanpa bahasa yang ‘tinggi’ pun kita tahu, kita sedang berurusan dengan ‘sesuatu yang serius’. Kesederhanaan ini, menurut kami, malah menunjukkan kecerdasan mereka. Mereka berhasil menerangkan ilmu ‘langit’ dalam bahasa bumi. Dan tidak terjebak dengan gaya bahasa ‘wah’, sebagaimana sering dijumpai terutama di dunia ketiga, di kalangan mereka yang lebih mengutamakan kulit ketimbang isi, membuat yang sederhana menjadi rumit, bertentangan dengan semangat keilmuan.
Biasanya sistem – sistem Unix dihubungkan dengan menggunakan TCP/IP (Transmission Control Protocol/Internet Protocol). Ini adalah sebuah protokol (metode) yang dipergunakan luas untuk menghubungkan berbagai jenis komputer.
Unix menggunakan dua media utama untuk menghubungkan sistem computer, yaitu :
1. Ethernet. Melalui kabel koaksial dengan kecepatan 10 Mbits perdetik.
2. Slip. Serial line internet protocol : hubungan melalui saluran telepon atau saluran tetap (dedicate line) ppp (point to point protocol : pengembangan dari slip).

Senin, 10 November 2014

Transaksi Dalam Sistem Basis Data


PENGERTIAN

Transaksi adalah satu atau beberapa aksi program aplikasi yang mengakses/mengubah isi basis data.

Transaksi merupakan bagian dari pengeksekusian sebuah program yang melakukan

pengaksesan basis data dan bahkan juga melakukan serangkaian perubahan data.  DBMS
yang kita gunakan harus menjamin bahwa setiap transaksi harus dapat dikerjakan secara
utuh atau tidak sama sekali.  Tidak boleh ada transaksi yang hanya dikerjakan sebagian,
karena dapat menyebabkan inkonsistensi basis data.  Untuk itu transaksi selalu merubah
basis data dari satu kondisi konsisten ke kondisi konsisten lain.


Sebuah transaksi berpeluang untuk ‘mengganggu’ integritas basis data yang dapat membuat kondisi/hubungan antar data tidak seperti seharusnya.

Transaksi bertujuan untuk mencegah dari kehilangan ataupun kerusakan data. Untuk menjamin agar integritas dapat tetap terpelihara maka setiap transaksi harus memiliki sifat-sifat:
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. 

Terhentinya suatu transaksi tidak selalu diakibatkan oleh kegagalan insidental baik dari perangkat keras (crash) ataupun kemacetan sistem operasi (hang).  Tapi lebih sering terjadi karena user sengaja menghentikan transaksi atau karena penghentian transaksi oleh DBMS akibat adanya kondisi tak diinginkan, seperti deadlock atau timeout.

Sebuah transaksi dapat menghasilkan dua kemungkinan:
a.       Jika dilaksanakan lengkap seluruhnya, transaksi tersebut telah di commit dan basis data mencapai keadaan konsisten baru.
b.      Jika transaksi tidak sukses, maka transaksi dibatalkan dan basis data dikembalikan ke keadaan konsisten sebelumnya (rollback).

Transaksi yang sudah di commit tidak dapat dibatalkan lagi.  Jika ada kesalahan, maka harus dilakukan transaksi lain yang membalik dampak transaksi sebelumnya.

Status-status yang dapat dicapai oleh sebuah transaksi sejak mulai dilaksanakan hingga selesai atau batal adalah:

1.Aktif (Active) yang merupakan status awal (initial state) sebuah transaksi yang menunjukkan transaksi tersebut masih dieksekusi.
2.Berhasil Sebagian (Partially Committed), yaitu keadaan yang dicapai transaksi tepat pada saat operasi terakhir dalam transaksi selesai dikerjakan.
3.Gagal (Failed), yang merupakan keadaan dimana sebuah transaksi terhenti pengeksekusiannya sebelum tuntas sama sekali.
4.Batal (Aborted), yaitu keadaan dimana sebuah transaksi dianggap tidak/belum dikerjakan yang tentu dengan terlebih dahulu diawali dengan mengembalikan semua data yang telah diubah ke nilai-nilai semula. (yang menjadi tanggung jawab DBMS).
5. Berhasil Sempurna (Committed), keadaan dimana transaksi telah dinyatakan berhasil dikerjakan seluruhnya dan basis data telah merefleksikan perubahan-perubahan yang memang diinginkan transaksi.


Diagram berikut ini menunjukkan aliran dan siklus peralihan status (state) dari sebuah transaksi:






Ketika sebuah transaksi mulai dikerjakan, maka transaksi itu berada dalam status aktif.  Jika terjadi penghentian sebelum operasi berakhir, maka transaksi segera beralih ke status gagal/failed.  Namun, bila keseluruhan transaksi selesai dikerjakan, maka transaksi itu berada pada status berhasil sebagian/partially committed, dimana perubahan-perubahan data masih berada di dalam memori utama yang bersifat volatile/tidak permanen.  
Transaksi dalam status ini masih mungkin untuk pindah ke status failed, karena ada pembatalan transaksi baik sengaja maupun tidak.  Jika tidak beralih ke status failed, maka nilai-nilai data yang ada di memori utama akan direkam ke dalam disk yang bersifat permanen.  Begitu proses perekaman selesai, maka transaksi beralih ke status committed.  Sementara itu, transaksi yang berada pada status failed, maka DBMS harus menjalan proses rollback.  Proses tersebut dapat berupa:
· Mengulangi pelaksanaan transaksi / restart, yang dilakukan pada transaksi yang failed akbiat kemacetan perangkat keras ataupun perangkat lunak dan bukannya penghentian transaksi secara sengaja oleh user.
· Mematikan transaksi / kill, yang dilakukan untuk transaksi yang dihentikan secara sengaja oleh user atau akibat adanya kesalahan lojik dalam penulisan aplikasi.

Begitu salah satu dari pilihan proses tersebut selesai dilakukan, maka transaksi berpindah ke status batal (aborted).  Status berhasil sempurna/committed maupun batal/aborted merupakan status terminasi, yaitu status akhir dalam pelaksanaan transaksi


OPERASI TRANSAKSI PADA ORACLE

Didalam transaksi ,terdapat dua buah operasi untuk menjaga integritas dan ketahanan data, diantaranydengan melakukan operasi commit dan rollback.

Commit berfungsi untuk menandakabahwa transaksi telah selesai dilaksanakan.
Rollback berfungsi untuk memberitahukan bahwa transaksi harus diulang  karena adanya suatu kegagalan.

mari kita coba:

Commit

- buat tabel buat sequence lalu insert data

Kita akan coba penerapan commit dan rollback sekarang, buka 2 jendela SQL Command Line kemudian login dengan user yang sama.





- lalu masukan data yang tadi kita ketik ke salah satu command line. lalu setelah 

memasukan data-data di comman line pertama, select di kedua command line tsb.





- langkah selanjutnya insert data di command line pertama lalu select di kedua command line




-nah terlihat di command line kedua tidak muncul data insert yang terbaru. maka ketik commit di command line pertama setelah itu select kembali di command line yang kedua 



Save Point

  Savepoint, sebuah titik dimana kita telah selesai melakukan satu atau beberapa transaksi. Berfungsi sebagai checkpoint untuk dipanggil oleh perintah rollback. Format perintah membuat savepoint adalah
SAVEPOINT [NAMA_SAVE_POINT];


Berikut contoh membuat savepoint:

Rollback

Rollback, perintah untuk mengulang transaksi (biasanya karena ada kegagalan). Format   penulisan perintah rollback adalah sebagi berikut:

ROLLBACK;
Atau
ROLLBACK TO SAVEPOINT [nama_save_point];

 Contoh:
Setelah kita membuat savepoint, kita bisa memanggil lagi savepoint tersebut. Untuk contoh kita hapus dulu isi data lalu kita coba tampilkan sebagai berikut:




- Sekarang kita rollback data ke savepoint coba dan tampilkan isi tabel coba;

- Data kembali ke keadaan savepoint

Isolasi Transaksi

   Dalam transaksi pada sistem basis data ada 3 hal yang harus dicegah:
1.   Dirty read
Dua transaksi berjalan bersama, dan salah satu transaksi membaca hasil transaksi lainnya yang gagal
2.   Non-repeatable read
Transaksi membaca ulang data yang telah dibaca sebelumnya karena telah diubah oleh transaksi lain yang berjalan bersamaan.
3.   Phantom read
Transaksi membaca data yang telah hilang oleh transaksi lainnya Untuk mencegah 3 hal di atas, Oracle memiliki 2 level isolasi, yaitu:

1.   Read Command

Transaksi hanya bisa membaca data yang telah selesai di eksekusi (commit) oleh transaksi lain.
2.   Serializable (mencegah Phantom read)
Proses transaksi di-serial-kan, artinya transaksi satu akan berjalan setelah transaaksi lainnya selesai. Tetapi aplikasi yang menerapkan level isolasi ini harus bersedia mengulangi transaksi akibat kegagalan penserialan transaksi.

Pada level ini, query SELECT hanya melihat data yang telah di COMMIT sebelum transaksi dimulai.

Pada level ini juga jika transaksi mengandun DML (Data Manipulation Language) yang mencoba merubah data yang mungkin sudah dirubah pada transaksi lain yang belum di-commit maka perintah DML tersebut akan gagal. Berikut Contoh format penerapan perintah serializable:

SET TRANSACTION ISOLTION LEVEL SERIALIZABLE;

1.   Locking Protocol
Locking berfungsi untuk menjaga integritas data. Ada 2 buah metode locking:
1.   Shared Lock (S-Lock)
Transaksi hanya bisa melakukan pembacaan. (dapat dimiliki oleh beberapa transaksi dalam satu waktu.
2.   Exclusive Lock (X-Lock)
Transaksi bisa melakukan perubahan dan pembacaan terhadap data. (hanya dapat dimiliki oleh satu transaksi pada satu waktu.

2.   Penguncian Level Tabel
Berfungsi untuk mengunci suatu tabel untuk mencegah perubahan atau penghapusan tabel oleh transaksi. Format penulisan perintah penguncian tabel adalah:
LOCK TABLE [nama_tabel];

3.   Penguncian Level Baris
Penguncian pada baris yang sedang digunakan oleh suatu transaksi sampai transaksi tersebut selelsai dieksekusi(commit).Penguncian ini hanya berlaku untuk operasi UPDATE dan DELETE.
4.   Dealock
Keadaan dimana dua atau lebih transaksi dalam kondisi wait-state, satu sama lain menunggu lock dilepas sebelum di mulai.(Yudi wibisono).