Transaksi dan Concurrency


  transaksiTransaksi

Transaksi adalah perbuatan yang dilakukan oleh program yang bertujuan untuk mengakses atau mengubah data yangterdapat di database. Tujuan transaksi adalah untuk mencegah database dari kehilangan atau kerusakan data.

 

Transaksi memiliki 4 elemen diantaranya yaitu :

1)   Atomicity dimana transaksi harus berhasil secara keseluruhan atau gagal

2)   Consistency yaitu menjaga konsistensi data di database

3)   Isolation yaitu transaksi yang dilakukan bersamaan harus bisa dimulai dan diakhiri

4)   Durability artinya setelah transaksi berhasil, data tidak boleh kembali ke data awal

 

Operasi yang ada pada transaksi yaitu Commit dan Rollback. Dimana Commit berarti persetujuan atau bisa dikatakan ijab kabul yang menandakan bahwa transaksi sudah selesai. Sedangkan Rollback artinya membatalkan suatu transaksinamun Rollback hanya dapat dilakukan sebelum proses Commit.

Di dalam transaksi juga terdapat yang namanya Save Pointdimana 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.

 

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

  • Dirty Read

Transaksi membaca data dari hasil transaksi lainnya yang belum di Commit. Kedua transaksi tersebut berjalan bersamaan.

  • NonrepeatableRead

Transaksi membaca ulang data yang telah di baca sebelumnya karena data tersebut telah di modifikasi oleh transaksi lainnya. Misalnya ada sebuah data yang saat itu dibaca A dan waktu itu ada yang merubahnya menjadi B.

  • Phantom Read

Transaksi membaca sebuah data yang telah hilang akibat dari transaksi yang lainnya.

  • Namun untuk mencegah hal diatas dilakukan dengan Read Commited dan SAda juga yang dikenal dengan Locking Protokol yang berfungsi untuk menjaga integritas data.

Terdapat dua buah metode locking yaitu :

  • Shared Lock (S-Lock) artinya transaksi hanya bisa melakukan pembacaan.
  • Exclusive Lock (X-Lock)artinya transaksi dapat melakukan perubahan dan pembacaan terhadap data.Untuk shared lock, dapat dimiliki oleh beberapa transaksi dalam satu waktu, namun untuk exclusive lock, hanya dapat dimiliki oleh satu transaksi pada satu waktu.

 Concurrency

Concurrency artinya suatu persetujuan dimana DBMS mengijinkan banyak transaksi pada saat bersamaan untuk mengakses data yang sama. Karena kebutuhan data yang sama menyebabkan transaksi dilakukan bersamaan. Hal itu menyebabkan beberapa masalah yang terjadi diantaranya yaitu :

  • Lost update problem
  • Uncommited dependency problem
  • Incosistent analysis problem

Dimana selain masalah diatas dikenal juga yang namanya Deadlock yaitu situasi dimana dua atau lebih transaksi dalam kondisi wait-state, satu sama lain menunggu lock dilepaskan sebelum dapat memulai.

Penanganan untuk masalah – masalah diatas yaitu dengan Locking, Commit dan release keduanya yang sedang melakukan transaksi bersamaan.

 

Studi Kasus

     Transaksi (Sistem Pelayanan)

Pemesanan tiket via Call Center KA dapat dilakukan dalam waktu 24 jam sehari dan 7 hari dalam seminggu, artinya konsumen dapat melakukan reservasi kapan saja dengan melakukan dial ke nomor 13897 (13TYP) menggunakan telepon selular (saat ini CDMA belum bisa).

Pemesanan per transaksi yang dilakukan oleh Calon Penumpang untuk 1 (satu) tiket maksimal 4 (empat) tempat duduk untuk KA yang sama dalam satu.

Penukaran booking ticket melalui fasilitas layanan perbankan ini hanya dapat dilayani di loket Stasiun atau Pusat Pelayanan Reservasi tiket KA.
Apabila terjadi gangguan atau kerusakan pada sistem ticketing, Call Center tidak dapat melayani reservasi tiket KA.

Prosedur Pemesanan

Konsumen melakukan reservasi tiket KA dengan melakukan panggilan ke Call Center KA (dial 13897) menggunakan telepon selular atau ke 021-6916060, bisa juga 021-23507000.

Petugas yang melayani akan menanyakan informasi kepada konsumen mengenai: 

  • Nama dan alamat Calon Penumpang (sesuai KTP/SIM/Kartu Identitas)
  • Nama dan Kelas KA yang dipesan
  • Tanggal dan Jam Keberangkatan KA
  • Stasiun asal dan tujuan penumpang
  • Jumlah penumpang

Setelah petugas Call Center berhasil melakukan proses reservasi, kemudian dilanjutkan dengan mengirimkan SMS ke pemesan yang berisi informasi tiket KA yang dipesan disertai kode pemesanan dan jumlah transaksi yang harus dibayarkan ke Bank.

Konsumen membayar transaksi pemesanan tiket ke electronic channel Bank Mandiri sebesar nilai transaksi tersebut sesuai kode pemesanan.

Jangka waktu pembayaran ke Bank adalah 3 (tiga) jam dari waktu pemesanan dan apabila telah lewat dari 3 (tiga) jam dari waktu pemesanan secara otomatis dianggap batal.

Apabila transaksi telah berhasil dibayarkan ke Bank secara otomatis data tersebut akan terkirim ke PT. KAI dan tiket KA dapat dicetak.

Prosedur Pengambilan Tiket

Setelah Pembayaran booking ticket KA selesai, selanjutnya dapat mengambil tiket KA di loket stasiun dengan menyerahkan:

  • Struk ATM, apabila pembayaran via ATM Mandiri, atau
  • Kode pemesanan

Kesemuanya disertai dengan fotocopy KTP/ Kartu Identitas yang berlaku atau mengisi formulir identitas sesuai dengan yang berangkat.

Prosedur Pembatalan

Pembatalan booking ticket hanya bisa dilakukan melalui komputer tiketing, dan hanya dapat dilakukan di tempat-tempat sbb :

  • Di Pusat Pelayanan Reservasi
  • Di Stasiun yang melayani tiket komputer

Pembatalan meliputi batal tunda sampai dengan H -1 dan batal pembeli sampai dengan 3 jam sebelum keberangkatan KA denda sesuai dengan aturan yang berlaku. Pembatalan karena force majeure akan ditangani oleh PT. KAI dengan mengikuti ketentuan yang berlaku.

 

  Concurrency (Pengawasan Organisasi)

Fungsi Controling (Pengawasan) dalam organisasi merupakan salah satu fungsi dalam manajemen suatu organisasi. Dimana memiliki arti suatu proses mengawasi dan mengevaluasi suatu kegiatan. Suatu Pengawasan dikatakan penting karena Tanpa adanya pengawasan yang baik tentunya akan menghasilkan tujuan yang kurang memuaskan, baik bagi organisasinya itu sendiri maupun bagi para pekerjanya. Di dalam suatu organisasi terdapat tipe-tipe pengawasan yang digunakan, seperti pengawasan Pendahuluan (preliminary control), Pengawasan pada saat kerja berlangsung (cocurrent control), Pengawasan Feed Back (feed back control).Di dalam proses pengawasan juga diperlukan Tahap-tahap pengawasan untuk mencapai tujuan yang diinginkan. Tahap-tahap pengawasan tersebut terdiri dari beberapa macam, yaitu Tahap Penetapan Standar, Tahap Penentuan Pengukuran Pelaksanaan Kegiatan, Tahap Pengukuran Pelaksanaan Kegiatan, Tahap Pembandingan Pelaksanaan dengan Standar dan Analisa Penyimpangan dan Tahap Pengambilan Tindakan Koreksi.

Controlling atau pengawasan adalah fungsi manajemen dimana peran dari personal yang sudah memiliki tugas, wewenang dan menjalankan pelaksanaannya perlu dilakukan pengawasan agar supaya berjalan sesuai dengan tujuan, visi dan misi perusahaan. Di dalam manajemen perusahaan yang modern fungsi control ini biasanya dilakukan oleh divisi audit internal

 

Pengawasan baru bisa dilakukan melalui tiga proses sebagai berikut; 

 

  1. Menetukan dan menetapkan standart.

Standar disini bisa dikelompokkan menjadi tiga macam yaitu Pertama standart fisik: kualitas dan kuantitas hasil produksi dan waktu, Kedua Standart biaya, standar penghasilan dan standar deviasi, Ketiga standar intelegible yaitu standar yang tidak bisa diukur dengan bentuk fisik maupun bentuk uang.

  1. Evaluasi.

Untuk mengetahui sejauh mana keberhasilan hasil kerja maka perlu adanya evaluasi. Evaluasi bisa dilakukan dengan melihat laporan tertulis maupun laporan langsung dari bawahan kepada atasan.

  1. Tindakan perbaikan.

Perbaikan tindakan dilakukan supaya tujuan pengawasan bisa direalisir dengan baik ssuai dengan harapan. Selain itu pengawasan juga diperlukan untuk menjamin bahwa tujuan-tujuan organisasi dan manajemen tercapai.

Ada tiga macam tipe pengawasan yang dituangkan dalam bagan berikut ini:

 

  1. Pengawasan Feedforward control (Pengawasan Pendahuluan) dirancang untuk mengantisipasi masalah-masalah atau penyimpangan-penyimpangan dari standar dan tujuan sebelum kegiatan diselesaikan.
  2. Pengawasan Concurrent control (Pengawasan Ya-Tidak) dirancang untuk mengetahui mana syarat atau prosedur yang harus dipenuhi terlebih dahulu sebelum kegiatan dilanjutkan.
  3. Pengawasan Feedback control (Pengawasan Umpan Balik) dirancang untuk mengukur hasil-hasil dari suatu kegiatan, menemukan penyimpangan-penyimpangan dari rencana dan standar yang telah ditentukan dan penemuan-penemuan baru yang akan diterapkan di masa yang akan datang.