PENERAPAN MANAJEMEN TRANSAKSI RESERVASI TIKET KAPAL LAUT BERBASIS WEB

  

PENERAPAN MANAJEMEN TRANSAKSI

RESERVASI TIKET KAPAL LAUT BERBASIS WEB

( Studi Kasus : PT. Bangun Jasa Terpadu )

SKRIPSI

  

Ditujukan Untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Teknik Jurusan Teknik Informatika

Disusun Oleh:

W. I Etta Farneubun

  

025314072

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

  THE APPLICATION OF TRANSACTION MANAGEMENT ON WEB BASED SHIP TICKET RESERVATION ( Case Study : PT Bangun Jasa Terpadu ) SKRIPSI Proposed To Fulfil One Of The Requirements To Obtain Bachelor Degree In Information Technology By : W. I ETTA FARNEUBUN 025314072

INFORMATION TECHNOLOGY FACULTY OF TECHNIQUE SANATA DHARMA UNIVERSITY YOGYAKARTA

  

PERNYATAAN

  Dengan ini saya sebagai penulis tugas akhir menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini tidak memuat karya atau bagian karya orang lain, kecuali pemikiran, metode atau hasil penelitian orang lain yang diambil disebutkan dengan jelas sebagai acuan.

  Yogyakarta, Mei 2007 W. I ETTA FARNEUBUN

  Penulis

HALAMAN PERSEMBAHAN

  Karya ini kupersembahkan untuk : ...

  Yesus-ku yang selalu memberikan aku kekuatan disaat aku putus asa dan selalu memberikan aku kebahagiaan disaat aku sedih, ... Ibuku dan Alm Bapak yang telah membesarkan dan mendidik aku dengan cinta dan kelembutan,

  ... Kakak dan kemenakan-kemenakanku yang selalu menyayangi dan menghibur aku,

  ... Dan seluruh teman-temanku yang memberikan kehangatan dalam hari-hariku.

HALAMAN MOTTO

  Ada waktu untuk Menangis, Ada Waktu untuk Tertawa ; Ada Waktu untuk Meratap, Ada waktu untuk Menari.

  Ia Membuat Sesuatu Indah Pada Waktunya ( Pengkhotbah 3:4,11a)

  

Faith Makes all thing possible

Hope makes all things work

Love makes all things beautiful

  

ABSTRAKSI

  Sistem informasi reservasi tiket kapal laut berbasis web merupakan sistem informasi yang melayani pemesanan tiket secara online untuk keberangkan dari dermaga Tanjung Perak Surabaya dengan tujuan beberapa dermaga terbesar di indonesia.

  Sistem ini terdiri dari 2 pemakai yaitu user dan admin. Adapun berbagai fasilitas yang tersedia bagi user yaitu dapat melakukan pemesanan tiket dengan terlebih dahulu melakukan proses registrasi. Selain itu user juga dapat melakukan proses perubahan data pribadi, melihat data pesanan, membatalkan pesanan, melihat informasi yang berhubungan dengan kapal seperti jadwal keberangkatan kapal, harga tiket , fasilitas yang disediakan kapal, fasilitas kelas, dll. Sedangkan untuk admin dapat mengolah data kapal, kelas, dermaga, harga tiket maupun untuk menangani proses pembelian dan penentuan nomor tempat.

  Sistem ini menerapkan teknologi manajemen transaksi dengan level isolasi serializable untuk menangani masalah multi user pada proses pemesanan dan pembatalan tiket. Sistem ini dikembangkan dengan menggunakan bahasa pemrograman PHP dan database Oracle 10g.

  

ABSTRACT

  Information system for web based ship ticket reservation is an information system which provides online ticket reservation service for departure from Tanjung Perak Harbor Surabaya to different largest harbors destination in Indonesia.

  This system consisted of 2 wearer that is user and admin. The facilities available to users are they can reserve ticket after doing registration process. In addition, users can change information in their personal identity, see their reservation data, cancel reservation, search for information such as ship departure schedule, ticket fare, facility provided by the ships, class facility, etc. Differently, Admin can manage data of the ship, class, harbor, ticket fare and also can manage the process of ticket purchasing and assign the seat number.

  This system applies transaction management technology with serializable isolation level in order to cope with the problems of multi users in ticket reservation process and ticket cancellation. This system is developed by using PHP programming language and oracle 10g database .

KATA PENGANTAR

  Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Kuasa yang telah melimpahkan berkat-Nya sehingga penulis dapat menyelesaikan Laporan Tugas Akhir ini. Penulisan tugas akhir ini ditujukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana Teknik Jurusan Teknik Informatika.

  Terselesaikannya penulisan tugas akhir ini tidak lepas dari peran serta beberapa pihak, baik secara langsung maupun secara tidak langsung. Oleh karena itu, penulis ingin menyampaikan terima kasih kepada pihak-pihak yang telah ikut membantu dalam penulisan tugas akhir ini, baik dalam memberikan bimbingan, petunjuk, kerjasama, kritikan, maupun saran antara lain kepada:

  1. Bapak JB. Budi Darmawan, S.T., M.Sc., selaku Dosen Pembimbing , yang telah banyak membantu terutama dalam memberikan bimbingan, dukungan, dan penyediaan sarana yang mendukung, sehingga penulis dapat menyelesaikan laporan tugas akhir ini. Terima kasih banyak pak, atas semuanya.

  2. Ibu Agnes Maria Polina, S.Kom., M.Sc., selaku Ketua Jurusan Teknik Informatika Universitas Sanata Dharma dan salah satu dosen penguji.

  3. Bapak Wisnu dan Bapak Yudi, selaku Dosen Penguji TA.

  4. Seluruh Dosen Universitas Sanata Dharma, khususnya Dosen yang mengajar di Teknik Informatika, yang telah memberikan dan mengajarkan banyak ilmu kepada penulis.

  5. Bapak Bele, makasih atas segala bantuan yang diberikan.

  6. Ibuku tercinta yang telah memberikan semua yang dimiliki kepada penulis, tanpa mengarapkan imbalan apapun. Terima kasih Tuhan karena telah memberikan ibu yang luar biasa.

  7. Ka Ida dan Bu Abas, Ka Robi dan ka Eda, ka nona and spesial buat ka didi, makasih buat semangat, bantuan dan cinta dari kalian. Aku bangga menjadi adik kalian.

  8. Kemenakan-kemenakanku : Sri, Jorf, Mozat, ade Nona, Afo kalian selalu jadi penghibur buat bong. Kapan maen ke jogja ?

  9. Agnes, Regis, Anna dan Ferdi, makasih buat perhatian selama ini and buat Agnes makasih sudah mau antar jemput bong.

  10. Om Engel keluarga, Om Pla keluarga makasih buat bantuan selama ini. Buat mama Du, makasih buat kasih sayang tanpa lelah yang mama Du berikan, mama Tu, Ebenis, Eb Jayapura makasih buat nasihatnya. Sr Yohana, makasih sudah jadi penyemangat waktu ujian, yang akur sama Sr Stefani ya?.

  11. My Best Friends : Borne ( makasih udah jadi saudara and sabahat buat aku ), Pipiet , Butet, Banang. Makasih buat persahabatan yang kalian berikan.

  Sampai kapanpun kalian adalah sahabat terbaikku. Tanpa kalian Jogja terasa sepi. He...he...he..

  12. Melin, Tri, Dian. Bersama kalian hari-hari kuliah yang membosankan terasa mengasikan. Ayo semangat kalian pasti bisa.

  13. Teman-teman TI’02 : Tata, Dani, Nine, Nita, Brigit, Ita, Handie ( makasih

  atas bantuannya )

  , Afu, Andika, Radit, Mario, Budi ( makasih udah buatain

  aku header. Top bgt) , Lijun ( makasih udah kasih semangat buat aku untuk maju and yakini aku bahwa aku bisa.Makasih ya???? ), Dadit, Tono, Santo,

  Pristo, Tere, Yohana dan semuanya ya.

  14. Teman-teman TI’01 : Mas Sigit, ka Anan, ka Vindi, Mas Tio, Mb Nita, Mb Agnes, Xtin ( makasih udah jadi teman yang super gila buat aku. Hari-hari

  dikost terasa menyenangkan ), Ka dami ( makasih udah ajarin aku transaction support .), and special thanks untuk Sunarko,S.T. yang telah membantu penulis

  dalam pembuatan program.

  15. Teman-teman Kost : Ka Sri ( kapan foto-foto and karoeke lagi??? ), Mb Uci, Mb Tiar, Dani, Ida and spesial buat ka Vina ( Ka, makasih atas printernya ya.

  he..he..he. Ka Pin, semangat ya ).

  16. Teman-teman dari Tual : Sri, Ka Eri, Ena, Ani, Dona and adik, Ati Esomar, Enjelo, Ka Jimie, Ka Ivo dan semua anak-anak Babarsari. Kapan pesta-pesta lagi?

  17. Dan seluruh pihak yang telah ikut ambil bagian dalam penyelesaian laporan tugas akhir ini yang tidak dapat penulis sebutkan satu-persatu.

  Seperti kata pepatah, “Tak ada gading yang tak retak”, maka penulis menyadari segala keterbatasan dalam menyelesaikan laporan tugas akhir ini. Oleh karena itu, penulis ingin menyampaikan mohon maaf apabila terdapat kesalahan dan kekurangan. Untuk itu, penulis mengharapkan kritik dan saran yang membangun dari seluruh pihak yang membutuhkan laporan tugas akhir ini. Semoga laporan tugas akhir ini dapat memberikan manfaat bagi siapa saja yang membutuhkannya. Atas segala perhatiannya dan kerjasamanya, penulis ucapkan terima kasih.

  Yogyakarta, Mei 2007 Wiwi Farneubun ( Penulis )

  

DAFTAR ISI

  Halaman Judul..........................................................................................................i Halaman Persetujuan……………………………………………………………...ii Halaman Pengesahan……………………………………………………………..iii Halaman Pernyataan……………………………………………………………...iv Halaman Persembahan…………………………………………………………….v Halaman Motto……………………………………………………………...........vi Abstraksi................................................................................................................vii Abstract.................................................................................................................viii Kata Pengantar………………………....................................................................ix Daftar isi...............................................................................................................xiii Daftar Gambar.....................................................................................................xvii Daftat Tabel...........................................................................................................xxi

  BAB I Pendahuluan ………………………………………………………………1

  1.1 Latar Belakang Masalah………………………………………………...1

  1.2 Rumusan Masalah..……………………………………………………...2

  1.3 Batasan Masalah.……………………………….……………………….2

  1.4 Tujuan Penelitian..………………………………………………………2

  1.5 Metodologi Penelitian .……………………………………………….…4

  1.6 Sistematika Penulisan…………………………………………………....5

  BAB II Landasan Teori……………………………………………………………7

  2.2 Kebutuhan Concurency Control Dan Level Isolasi Dalam Oracle .........9

  2.7 DFD (Data Flow Diagram) ...................................................................22

  2.12.2 Package............................ .................................................37

  2.12.1 Store Procedure...................................................................36

  2.12 Pemrograman PL/SQL..........................................................................33

  2.11 Pemrograman SQL di Oracle ...............................................................30

  2.10.2 Kelebihan PHP................. .................................................29

  2.10.1 Hubungan PHP dan HTML.................................................27

  2.10 PHP ( Personal Home Page ) ...............................................................26

  2.9 HTML ( Hypertext Mrkup Language ) ..................................................25

  2.8 Word Wide Web ....................................................................................24

  2.6 ERD (Entity Relationship Diagram) ......................................................18

  2.3 Sistem……….....……………………………………………………....13

  2.5.1 Use Case Diagram…….........................................................16

  2.5 Metodologi Pengembangan Sistem…….………………………………16

  2.4.4 Nilai Informasi .....................................................................16

  2.4.3 Kualitas Informasi........................................................... .....16

  2.4.2 Siklus Informasi................. .................................................15

  2.4.1 Konsep Dasar Informasi........................................................15

  2.4 Informasi ...…………………………………………………………….15

  2.3.2 Karakteristik Sistem .......... .................................................13

  2.3.1 Konsep Dasar Sistem............................................................13

  2.12.3 Sequence....................................................................... .....38

  2.12.4 Fungsi-Fungsi PHP ............................................................38

  3.1.4.1.3 Overview Diagram...................................................49

  BAB IV Implementasi Sistem ............................………...................................76

  3.4 Disain Teknologi Yang Digunakan ..............................................................75

  3.3.2 Penanganan Terhadap Masalah Yang Terjadi .........................74

  3.3.1 Kemungkinan Masalah Yang Bisa Terjadi ..............................72

  3.3 Disain Penanganan Masalah Multi User ..............................................72

  3.2.2 Relasi Antar Tabel.....................................................................72

  3.2.1 Disain Database.........................................................................68

  3.2 Disain Sistem ........................................................................................68

  3.1.4.2 Data Modeling..................................................................67

  3.1.4.1.2 Diagram Berjenjang.................................................48

  BAB III Analisa dan Perancangan Sistem.............................................................40

  3.1.4.1.1 Context Diagram......................................................46

  3.1.4.1 Process Modeling..............................................................45

  3.1.4 Logical Design..............................................................................45

  3.1.3.1 Use Case Diagram............................................................44

  3.1.3 Requirement Analysis...................................................................44

  3.1.2.1 Ruang Lingkup Sistem......................................................43

  3.1.2 Gambaran Umum Sistem Yang Baru............................................41

  3.1.1 Gambaran Umum Sistem Yang Lama...........................................40

  3.1 Analisis Sistem........................................................................................40

  4.1 Karakteristik Sistem.............................................................................76

  4.2 Kebutuhan Sistem..................................................................................76

  5.1.2 Pengujian Aplikasi Dengan Menggunakan Teknologi Manajemen Transaksi ..............................................................125

  BAB VI Penutup .................................................................................................142

  5.2.2 Kekurangan Sistem ..................................................................141

  5.2.1 Kelebihan Sistem .....................................................................140

  5.2 Kelebihan Dan Kekurangan Sistem ..................................................140

  5.1.2.1.2 Pengujian Terhadap proses Pembatalan Tiket.....134

  5.1.2.1.1 Pengujian Terhadap Proses Pemesanan Tiket............................................ .......................................126

  5.1.2.1 Pengujian Terhadap Masalah Hilangnya Data Yang Diubah (The Lost Update Problem) ...................126

  5.1.1 Pengujian Aplikasi Tanpa Menggunakan Teknologi Manajemen Transaksi ..............................................................120

  4.3 Setting Koneksi PHP ke Oracle Database.............................................77

  5.1 Pengujian Aplikasi ............................................................................120

  BAB V Analisa Hasil..........................................................................................120

  4.4.2.2 Proses Output Admin.................................... ...............106

  4.4.2.1 Proses Input Admin............................................ ............95

  4.4.2 User Interface untuk Admin........................................................95

  4.4.1 User Interface untuk user..... ......................................................78

  4.4 User Interface.........................................................................................78

  6.1 Kesimpulan .......................................................................................142

  6.2 Saran .................................................................................................142 DAFTAR PUSTAKA..........................................................................................143

  DAFTAR GAMBAR

Gambar Keterangan Halaman

  57

  3.16 Overview Diagram Level 1 Proses Update Data Propinsi

  60

  3.15 Overview Diagram Level 1 Proses Update Data Pemesan

  59

  3.14 Overview Diagram Level 1 Proses Update Data Detail Tiket

  58

  3.13 Overview Diagram Level 1 Proses Update Data Tempat

  3.12 Overview Diagram Level 1 Proses Transaksi Pembelian

  3.17 Overview Diagram Level 1 Proses Update Data Fasilitas

  56

  3.11 Overview Diagram Level 1 Proses Data Transaksi Pemesanan

  55

  3.10 Overview Diagram Level 1 Proses Update Data Tiket

  54

  3.9 Overview Diagram Level 1 Proses Update Data Detail Kapal

  53

  61

  62

  52

  67

  4.3 User Interface Halaman Lihat Jadwal Kapal

  80

  4.2 User Interface Halaman Form Registrasi User

  78

  4.1 User Interface Halaman Index

  72

  3.23 Relasi Antar Tabel

  3.22 ER Diagram

  3.18 Overview Diagram Level 1 Proses Update Data Berita

  66

  3.21 Overview Diagram Level 1 Proses Proses Logout

  65

  3.20 Overview Diagram Level 1 Proses Ubah Password

  64

  3.19 Overview Diagram Level 1 Proses Update Data Buku Tamu

  63

  3.8 Overview Diagram Level 1 Proses Update Data Dermaga

  3.7 Overview Diagram Level 1 Proses Update Data Kelas

  2.1 Diagram Transisi Transaksi

  19

  2.9 Notasi dari Cardinality

  21

  2.8 Contoh dari Relasi

  20

  2.7 Contoh dari identifier atau key

  19

  2.6 Contoh dari Atribut

  2.5 Contoh dari Entity

  2.10 Simbol Proses menurut Gane dan Sarson

  18

  2.4 Contoh dari E-R Diagram

  17

  2.3 Simbol Aktor

  17

  2.2 Simbol Use Case

  8

  21

  23

  51

  47

  3.6 Overview Diagram Level 1 Proses Update Data Kapal

  50

  3.5 Overview Diagram Level 1 Proses Registrasi dan Login

  49

  3.4 Overview Diagram

  48

  3.3 Diagram Berjenjang

  3.2 Context Diagram

  2.11 Simbol dari arus data

  45

  3.1 Use Case Diagram

  24

  2.13 Simbol penyimpanan data menurut Gane dan Sarson

  23

  2.12 Simbol kesatuan luar menurut Gane dan Sarson

  23

  82

  4.5 User Interface Halaman Lupa Password

  120

  4.20 User Interface Halaman Output Kelas 108

  4.21 User Interface Halaman Output Dermaga 110

  4.22 User Interface Halaman Output Tiket 111

  4.23 User Interface Halaman Output Detail Tiket 113

  4.24 User Interface Halaman Output Detail Kapal 114

  4.25 User Interface Halaman Output Tempat 116

  4.26 User Interface Halaman Output Data Pemesan 117

  4.25 User Interface Proses Mengubah Data Barang 112

  5.1 User Interface Data Jumlah Stok Tiket Awal Pengujian Aplikasi Tanpa Penggunaan Teknologi Manajemen Transaksi

  5.2 User Interface Simulasi Tak Ada Manajemen Transaksi 1 121

  4.18 User Interface Halaman Input Pembelian dan Tempat 105

  5.3 User Interface Simulasi Tak Ada Manajemen Transaksi 2 123

  5.4 User Interace Data Tiket Akhir Pengujian aplikasi tanpa penggunaan manajemen transaksi 124

  5.5 User Interface Data Jumlah Stok Tiket Awal Pengujian Terhadap Masalah Hilangnya Data Yang Diubah (The Lost Update Problem) Dengan Menggunakan Teknologi Manajemen Transaksi

  126

  5.6 User Interface Simulasi Ada Manajemen Transaksi 1 127

  5.7 User Interface Simulasi Ada Manajemen Transaksi 2 129

  5.8 User Interface Reaksi Yang Terjadi Jika 2 Simulasi Aplikasi Yang Menggunakan Teknologi Manajemen Transaksi Dengan Level Isolasi Serializable Saling Bertabrakan Pada Pengujian Masalah Hilangnya Data Yang Diubah (The Lost Update Problem)

  130

  5.9 User Interface Data Jumlah Stok Tiket Yang Dipengaruhi Simulasi Aplikasi Pertama Pada Pengujian Masalah Hilangnya Data Yang Diubah (The Lost Update Problem) Dengan Menggunakan Teknologi Manajemen Transaksi

  4.19 User Interface Halaman Output Kapal 107

  4.17 User Interface Halaman Input Data Detail Kapal 103

  84

  92

  4.6 User Interface Halaman Home User Setelah Login

  86

  4.7 User Interface Halaman Pemesanan

  87

  4.8 User Interface Halaman Form Pemesanan

  89

  4.9 User Interface Halaman Detail Pemesanan

  90

  4.10 User Interface Halaman Batal Pemesanan

  4.11 User Interface Halaman Ubah Data Pemesan

  4.16 User Interface Halaman Input Data Tiket 101

  94

  4.12 User Interface Halaman Login Admin

  95

  4.13 User Interface Halaman Input Kapal

  96

  4.14 User Interface Halaman Input Kelas

  98

  4.15 User Interface Halaman Input Dermaga

  99

  131 Terhadap Masalah Transaksi Yang Belum Dilaksanakan (The Uncommitted Dependency) Dengan Menggunakan Teknologi Manajemen Transaksi

  5.11 User Interface Data Jumlah Stok Tiket Awal Pengujian 135 Terhadap Masalah Hilangnya Data Yang Diubah (The Lost Update Problem) Pada Proses Pembatalan Dengan Menggunakan Teknologi Manajemen Transaksi

  5.12 User Interface Simulasi Ada Manajemen Transaksi 1 untuk 135 Proses Pembatalan

  5.13 User Interface Simulasi Ada Manajemen Transaksi 2 yntuk 137 Proses Pembatalan

  5.14 User Interface Reaksi Yang Terjadi Jika 2 Simulasi Aplikasi 138 Yang Menggunakan Teknologi Manajemen Transaksi Dengan Level Isolasi Serializable Saling Bertabrakan Pada Pengujian Masalah Hilangnya Data Yang Diubah (The Lost Update Problem) pada Proses Pembatalan

  5.15 User Interface Data Jumlah Stok Tiket Yang Dipengaruhi 138 Simulasi Aplikasi Pertama Pada Pengujian Masalah Hilangnya Data Yang Diubah (The Lost Update Problem) Dengan Menggunakan Teknologi Manajemen Transaksi pada Proses Pembatalan

  5.16 User Interface Data Jumlah Stok Tiket akhir pada pengujian 140 Pembatalan Tiket Dengan Menggunakan Teknologi Manajemen Transaksi

  DAFTAR TABEL

Tabel Keterangan Halaman

  2.1 Contoh Masalah Hilangnya Data Yang Diubah

  10

  2.2 Jenis-Jenis Web Server

  25

  2.3 Tipe Data SQL Dalam Oracle

  35

  2.4 Fungsi-Fungsi PHP untuk Mengkases Database Oracle

  38 3.1 Spesifikasi Kelas dan Kapasitas kapal.

  41

  3.2 Input Output Proses Modeling

  46

  3.3 Tabel Pemesan

  68

  3.4 Tabel Kapal

  68

  3.5 Tabel Kelas

  68

  3.6 Tabel Dermaga

  68

  3.7 Tabel Det_Kapal

  69

  3.8 Tabel Tiket

  69

  3.9 Tabel Det_Tiket

  69

  3.10 Tabel Pemesanan

  69

  3.11 Tabel Pembelian

  70

  3.12 Tabel Tempat

  70

  3.13 Tabel Fasilitas

  70

  3.14 Tabel Berita

  70

  3.15 Tabel Propinsi

  70

  3.16 Tabel Buku Tamu

  71

  3.17 Tabel Admin

  71

  3.18 Contoh Ilustrasi Masalah Hilangnya Data Yang Diubah

  73

  5.1 Proses Yang Terjadi Pada Pengujian Aplikasi Tanpa 124 Menggunakan Teknologi Manajemen Transaksi

BAB I PENDAHULUAN

1.1 LATAR BELAKANG MASALAH

  Informasi saat ini sudah menjadi sebuah komoditi yang penting sehingga menuntut sumber daya manusia yang lebih terampil dan berkompeten.

  Kemampuan untuk mengakses dan menyediakan informasi secara cepat dan akurat menjadi sangat esensial bagi sebuah organisasi atau perusahaan. Teknologi internet memungkinkan untuk menyediakan informasi secara cepat.

  PT .Bangun Jasa Terpadu merupakan salah satu perusahaan yang bergerak dalam bidang jasa yaitu jasa pelayanan transportasi laut,darat dan udara. Untuk transportasi laut, jasa pelayanan untuk pemesanan tiket saat ini dilakukan dengan mendatangi langsung kantor PT Bangun Jasa Terpadu untuk melakukan pemesanan. Selain itu calon penumpang diharuskan membayar uang muka 50% dari total harga jumlah tiket yang dipesan sebagai jaminan pemesanan. Jika calon penumpang membatalkan pemesanan maka akan dikenakan potongan 10% dari total uang muka dan pembatalan tiket paling lambat 2 hari sebelum tanggal keberangkatan. Jika pembatalan tiket sehari sebelum tanggal keberangkatan maka uang jaminan tidak akan dikembalikan. Untuk mengatasi masalah tersebut maka dibuat sistem informasi reservasi pemesanan tiket berbasis web yang akan memudahkan pemakai (calon penumpang ) untuk melakukan pemesanan tiket.

  Dengan adanya sistem ini pemakai dapat melihat informasi mengenai jadwal keberangkatan kapal, informasi tentang fasilitas kapal, harga tiket kapal, maupun pemesanan dan pembatalan tiket. Sistem yang dibuat ini menggunakan PHP dan oracle10g dengan menerapkan manajemen transaksi untuk menangani pemesanan yang dilakukan multiuser / banyak pemakai dalam waktu yang bersamaan. Jika setiap pemakai hanya membaca data maka tidak akan timbul masalah namun jika salah satu dari pemakai tersebut malakukan update maka akan timbul masalah dalam database. Untuk menangani masalah tersebut maka diterapkan manajemen transaksi.

  1.2 RUMUSAN MASALAH Berdasarkan latar belakang masalah diatas maka dirumuskan menjadi beberapa masalah sebagai berikut :

  1. Bagaimana membuat sebuah sistem informasi berbasis web yang menyediakan informasi tentang reservasi tiket kapal laut yakni informasi jadwal keberangkatan, pemesanan dan pembatalan tiket ?

  2. Bagaimana menangani reservasi tiket yang dilakukan oleh banyak user dengan menerapkan manajemen transaksi?

1.3 BATASAN MASALAH

  Agar perancangan sistem ini dapat dilakukan secara tepat, maka dilakukan pembatasan cakupan sistem antara lain sebagai berikut :

  1. Sistim informasi ini digunakan untuk proses reservasi yakni memesan tiket, membatalkan tiket dan melihat informasi jadwal keberangkatan,fasilitas

  2. Pemesan harus melakukan registrasi terlebih dahulu sebelum melakukan proses pemesanan maupun pembatalan.

  3. Tidak melayani pembayaran tiket online, hanya dapat memesan tiket.

  Jumlah pesanan tiket dibatasi, paling banyak 5 ( lima ) tiket untuk setiap pemesan.

  4. Sistem informasi ini digunakan untuk pemesanan tiket kapal Cirimai dan Tatamailau dengan pelabuhan awal Tanjung Perak Surabaya dan tujuan akhir Tual.

  5. Tidak menangani proses pencetakan tiket.

  6. Tidak menangani proses diskon.

  7. Sistem yang dibuat tidak memperhatikan masalah keamanan jaringan.

  

8. Level isolasi manajemen transaksi yang digunakan adalah level isolasi

serializable.

  

9. Bahasa pemrograman yang digunakan adalah PHP dan didukung oleh

DBMS Oracle 10g.

1.4 TUJUAN PENELITIAN

  Tujuan penelitian skripsi yang dilakukan adalah membuat sebuah sistem informasi yang dapat membantu pemakai dalam melakukan reservasi tiket berupa pemesanan, pembatalan dan menampilkan informasi jadwal keberangkatan kapal dengan menerapkan manajemen transaksi.

1.5 METODOLOGI PENELITIAN

  Metodologi Penelitian yang digunakan untuk membuat aplikasi sistem informasi reservasi tiket kapal laut berbasis web antara lain adalah :

  1.5.1 Studi pustaka

  Dengan mengumpulkan data atau informasi dari berbagai literature yang sesuai dengan sistem yang akan dibuat. Metode ini juga meliputi dicumenter. Metode documenter adalah suatu cara pengambilan data dengan memahami data yang berasal atau bersumber dari dokumen- dokumen tertulis, arsip-arsip, buku-buku pedoman, peraturan-peraturan yang berhubungan dengan objek pembahasan.

  

1.5.2 Tahap-tahap Rekayasa perangkat Lunak secara terstuktur (

  Jogiyanto, 2003)

  1. Analisa Identifikasi masalah dengan menggunakan teknik antara lain :

  a) Pengamatan ( observasi ) : pengamatan langsung dan pengambilan sample data di PT. Bangun Jasa Terpadu b) Wawancara ( interview ) : melakukan tanya jawab antara penulis dengan pihak PT. Bangun Jasa Terpadu maupun calon penumpang c) Membuat use case diagram ( Whitten, 2004 ).

  2. Perancangan Merupakan langkah multi proses yang memusatkan kerja pada perancangan sistem yaitu ERD ( Whitten, 2004 ). Membuat perancangan menu, perancangan tampilan dan user interface.

  3. Implementasi Setelah melakukan rancangan sistem yang diinginkan, maka hasil rancangan tersebut diimplementasikan, yang mana rancangan tersebut diterjemahkan kedalam bahasa yang dapat dimengerti mesin.

  4. Testing Pengujian ini dimaksudkan untuk menguji konsistensi data yang ada dengan menerapkan manajemen transaksi. Pengujian telah dilakukan di lab komputer USD.

1.6 SISTEMATIKA PENULISAN

  Sistimatika yang digunakan dalam penulisan tugas akhir ini adalah sebagai berikut :

  BAB I. PENDAHULUAN Bab ini berisi tentang latar belakang masalah, rumusan masalah, batasan

  masalah, tujuan penelitian, metodologi penelitian yang digunakan serta sistimatika isi penulisan laporan.

  BAB II. LANDASAN TEORI Bab ini berisi tentang landasan teori yang digunakan oleh penulis dalam menyelesaikan tugas akhir ini. BAB III. ANALISA DAN PERANCANGAN SISTEM Bab ini berisi penjelasan tentang analisa dan perancangan sistem yang

  akan dibuat oleh penulis. Perancangan yang dibuat meliputi perancangan proses, perancangan database serta perancangan user interface.

BAB IV. IMPLEMENTASI SISTEM Bab ini berisi tentang implemetasi dari desain sistem yang dibuat dan telah dikembangkan kedalam sebuah aplikasi. BAB V. ANALISA HASIL Bab ini berisi tentang analisa hasil yang dilakukan terhadap proses implementasi yang telah dibuat. BAB VI PENUTUP Bab ini merupakan penutup yang berisi kesimpulan yang menjawab

  rumusan masalah serta saran yang diberikan untuk pengembangan sistem dimasa yang akan datang.

BAB II LANDASAN TEORI

2.1 MANAJEMEN TRANSAKSI ( Transaction Management)

  Transaksi adalah sebuah tindakan atau serangkaian tindakan yang dilakukan oleh single user atau program aplikasi yang membaca atau mengubah isi dari database. Sebuah traksaksi dapat mempunyai salah satu hasil yakni jika sukses seluruhnya transakasi dikatakan telah committed ( dilakukan ) dan database mencapai suatu keadaan konsisten yang baru. Sebaliknya jika gagal, transaksi dibatalkan. Jika transaksi dibatalkan maka database harus dikembalikan ke keadaan konsisten ( consistent state ) seperti sebelum transaksi dimulai (Connolly, T., Begg, C., 2002). Transaksi tersebut disebut rolled back atau

  undone ( tidak dilakukan ).

  Ada 4 hal dasar yang harus dimiliki semua transaksi, disebut ACID yaitu :

  1. Atomicity Sebuah transaksi adalah sebuah unit yang tidak dapat dibagi lagi sehingga dapat melakukan seluruhnya atau tidak melakukan apapun. Ini merupakan tangung jawab dari subsystem recovery dari DBMS untuk memastikan ke ‘atom’annya.

  2. Consistency Sebuah transaksi harus mentransformasikan satu keadaan konsisten ke keadaan konsisten lainnya. Ini merupakan tanggung jawab dari DBMS dan pengembang aplikasi untuk memastikan kekonsistenannya.

  3. Isolation Transaksi secara bebas mengeksekusi yang lainnya. Dengan kata lain, sebagian transaksi yang tidak lengkap akan mengakibatkan transaksi yang lain menjadi tidak visible. Ini merupakan tanggung jawab dari subsystem concurrency control untuk memastikan isolasi.

  4. Durability Setelah DBMS memberitahu pengguna bahwa transaksi telah selesai dengan sukses, maka efeknya tetap bertahan bahkan jika sistem mengalami crash sebelum semua perubahannya direfleksikan pada disk. Ini merupakan tanggung jawab dari recovery subsystem untuk memastikan durability.

Gambar 2.1 merupakan diagram transisi sebuah transaksi.

  Diagram transisi sebuah transaksi :

Gambar 2.1 Diagram Transisi Transaksi

  Dari diagram tersebut terdapat 5 keadaan ( state ) yaitu :

  1. ACTIVE ( aktif )

  2. PARTIALLY COMMITED ( Sebagian dilaksanakan ) ƒ

  Terjadi setelah perintah terakhir dieksekusi

  ƒ Jika ditemukan bahwa transaksi melanggar serializability atau melanggar integrity constraint maka transaksi harus dibatalkan.

  Transaksi demikian akan menuju FAILED ( keadaan gagal ) dan harus dibatalkan.

  ƒ Jika transaksi sukses, beberapa update dapat disimpan secara aman dan transaksi menuju ke keadan COMMITED.

  3. COMMITED ( dilaksanakan )

  4. FAILED ( gagal ) ƒ

  Terjadi jika transaksi tidak dapat dilaksanakan atau transaksi dibatalkan pada saat aktif ( keadaan aktif ).

  ƒ Kondisi ini terjadi jika user membatalkan transaksi atau protocol concurrency control membatalkan transaksi untuk memastikan serializability.

  5. ABORTED ( dibatalkan )

  

2.2 KEBUTUHAN CONCURRENCY CONTROL DAN LEVEL ISOLASI

DALAM ORACLE

  Salah satu tujuan utama dalam mengembangkan sebuah database adalah membuat sumber informasi dapat dipakai oleh multiuser. Kadang-kadang user perlu mengakses data secara terus menerus. Jika single user hanya membaca data, maka data yang satu tidak akan berbaur dengan data yang lain dan tidak perlu concurrency control. Akan tetapi, jika multiuser mencoba untuk meng-update secara terus menerus atau yang ada yang meng-update sedang yang lain membaca data, maka ada kemungkinan terjadi benturan. Concurrency control diperlukan untuk menjamin bahwa transaksi-transaksi yang dilakukan oleh multiuser secara konkuren tidak saling mengganggu operasinya masing-masing.

  Ada 3 masalah yang disebabkan oleh concurrency control ( akses bersama ) yaitu :

  1. Hilangnya data yang diubah (Lost Update Problem ) Sebuah transaksi yang melakukan update,namun pada waktu interfal yang bersamaan proses update tersebut ditimpa oleh transaksi lain. Tabel 2.1 merupakan contoh dari masalah hilangnya data yang diubah.

  Waktu T1 T2 balx t1 Begin_transaction 100 t2 Begin_transaction Read(balx) 100 t3 Read(balx) balx=balx+100 100 t4 balx=balx-10 Write(balx) 200 t5 Write(balx) Commit

  90 t6 Commit

  90 Tabel 2.1 Contah Masalah Hilangnya data yang diubah Dari contoh tersebut terlihat bahwa transaksi T2 kehilangan hasil updatenya sebesar 100. solusinya : Hilangnya perubahan data pada T2 dapat dicegah dengan melarang T1 membaca nilai balx sampai transaksi T2 selesai melakukan perubahan data.

  2. Pembacaan yang salah ( Dirty Read Problem ) Masalah ini terjadi saat suatu transaksi diijinkan membaca hasil suatu transaksi lain sebelum transaksi lain tersebut selesai dilakukan.

  3. Inconsistent Analysis Problem ( Analisa yang salah ) Masalah ini terjadi ketika transaksi pertama membaca beberapa nilai dari database tetapi transaksi kedua mengubah nilai-nilai tersebut selama proses/eksekusi pertama belum selesai. Masalah-masalah tersebut dapat diatasi jika ada kontrol yang baik dalam database. Artinya bahwa hasil dari transaksi yang dieksekusi secara serial ( transaksi dijalankan sendiri-sendiri, tanpa ada sela, menjamin konsistensi data) sama dengan transaksi yang dieksekusi secara bersama. Hal ini disebut serialzability. Serializability merupakan parameter keberhasilan dalam concurrency control dan dicapai dengan menggunakan macam-macam level isolasi pada transaksi ( transaction isolation levels ). Level isolasi digunakan mengontrol tingkat dimana transaksi tertentu terbuka terhadap tindakan transaksi lain yang melakukan eksekusi secara konkuren. Oracle menyediakan 3 level isolasi yaitu Read Committed, Serializable dan Read Only.( Connolly, T., Begg, C., 2002) a. READ COMMITTED.

  Serialisasi didukung pada level isolasi dimana setiap statement dalam transaksi hanya melihat data yang telah dicommitted sebelum statement ( bukan transaksi dimulai ). Ini berarti bahwa data mungkin diubah oleh transaksi lain selama eksekusi dari statement yang sama didalam transaksi yang sama. Transaksi jenis ini merupakan default dari tipe transaksi pada oracle.

  b. SERIALIZABLE.

  Level isolasi ini menjamin bahwa sebuah transaksi T hanya membaca data yang telah di-commited dan tidak ada nilai yang dibaca atau ditulis oleh transaksi T yang diubah oleh transaksi lain sampai transaksi tersebut selesai. Dalam konteks implementasi lock-based, transaksi SERIALIZABLE memperoleh lock sebelum membaca atau menulis data, menyertakan lock pada sekumpulan data yang tidak boleh berubah dan menyimpannya sampai akhir transaksi.

  c. READ ONLY

  Transaksi READ ONLY hanya melihat data yang commited sebelum transaksi dimulai.

  Level isolasi dapat diset dioracle dengan memilih salah satu dari level isolasi yang akan dipakai pada awal transaksi dimulai. Seperti : SET TRANSACTION ISOLATION LEVEL READ COMMITED; SET TRANSACTION ISOLATION LEVEL SERIALIZABLE; SET TRANSACTION ISOLATION LEVEL READ ONLY;

2.3 SISTEM

  2.3.1 Konsep Dasar Sistem

  Sistem adalah kumpulan dari elemen-elemen yang berinteraksi untuk mencapai suatu tujuan tertentu (Jogiyanto, 2005). Sebuah perusahaan juga merupakan suatu sistem. Komponen atau unsur-unsur di dalamnya seperti pemasaran,penjualan, penelitian, pembukuan, dan personalia yang mana semuanya bekerja sama untuk mencapai keuntungan baik bagi para pekerjanya maupun bagi pemilik perusahaan.

  2.3.2 Karakteristik Sistem

  Suatu sistem mempunyai karakteristik atau sifat-sifat tertentu, yaitu mempunyai komponen-komponen (components), batas sistem (boundary), lingkungan luar sistem (environment), penghubung (interface), masukkan (input), keluaran (output), pengolah (process) dan sasaran (objectives) atau tujuan (goal).

  1) Komponen Sistem Suatu sistem terdiri dari sejumlah komponen yang saling berinteraksi, yang artinya saling bekerja sama membentuk satu kesatuan.

  Komponen-komponen sistem atau elemen-elemen sistem dapat berupa suatu subsistem atau bagian-bagian dari sistem.

  2) Batas sistem Batas sistem (boundary) merupakan daerah yang membatasi antara suatu sistem dengan sistem yang lainnya atau dengan lingkungan luarnya. Batas sistem itu memungkinkan suatu sistem dipandang sebagai satu kesatuan. Batas suatu sistem menunjukkan ruang lingkup (scope) dari sistem tersebut.

  3) Lingkungan Luar Sistem Lingkungan luar (environment) dari suatu sistem adalah apapun diluar batas dari sistem yang mempengaruhi operasi sistem.

  4) Penghubung Sistem.

  Penghubung (interface) merupakan media penghubung antara satu subsistem dengan subsistem lainnya. Melalui penghubung ini memungkinkan sumber-sumber daya mengalir dari satu subsistem ke subsistem lainnya.

  5) Masukkan Sistem Masukan (input) adalah energi yang dimasukkan ke dalam sistem.

  Masukan dapat berupa masukan perawatan (maintenance input) dan masukan sinyal (signal input) agar sistem tersebut dapat beroperasi.

  6) Keluaran Sistem Keluaran (output) adalah hasil dari energi yang diolah dan diklasifikasikan menjadi keluaran yang berguna. Keluaran dapat merupakan masukan untuk subsistem yang lain. 7) Pengolah Sistem

  Bagian pengolah sistem ini merupakan bagian yang akan merubah masukkan menjadi keluaran.

  8) Sasaran Sistem

  Suatu sistem pasti mempunyai tujuan (goal) atau sasaran (objective). Jika suatu sistem tidak mempunyai sasaran, maka operasi sistem tidak akan ada gunanya. Sasaran dari sistem sangat menentukan sekali masukan yang dibutuhkan sistem dan keluaran yang akan dihasilkan sistem. Sistem dikatakan berhasil bila mengenai sasaran atau tujuannya.

2.4 INFORMASI

  2.4.1 Konsep Dasar Informasi

  Sistem informasi dapat didefinisikan sebagai kumpulan elemen yang saling berhubungan satu sama lain yang membentuk satu kesatuan untuk mengintegrasikan data, memproses dan menyimpan serta mendistribusikan informasi ( Sutedjo, 2002 ).

  Sedangkan Informasi dapat diartikan sebagai : “ Data yang diolah menjadi bentuk yang lebih berguna bagi usernya” ( Jogiyanto, 2005).

  2.4.2 Siklus Informasi

  Data yang diolah melalui suatu model menjadi informasi, penerima kemudian menerima informasi tersebut, membuat suatu keputusan dan melakukan tindakan, yang berarti menghasilkan suatu tindakan lain yang akan membuat sejumlah data kembali. Data tersebut akan ditangkap sebagai input, diproses kembali lewat suatu model dan seterusnya membentuk suatu siklus. Siklus ini disebut dengan siklus informasi (information cycle). Siklus ini juga disebut dengan siklus pengolahan data (data processing cycles).

  2.4.3 Kualitas Informasi

  Kualitas dari suatu informasi (quality of information) tergantung dari tiga hal antara lain :