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 TransaksiDari 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 ORACLESalah 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 :