Rabu, 05 November 2014

E-Ticketing Kereta Api


Pengertian E-Ticketing
E-ticketing atau electronic ticketing adalah suatu cara untuk mendokumentasikan proses penjualan dari aktifitas perjalanan pelanggan tanpa harus mengeluarkan dokumen berharga secara fisik ataupun paper ticket. Semua informasi mengenai electronic ticketing disimpan secara digital dalam sistem komputer milik airline. Sebagai bukti pengeluaran E-Ticket, pelanggan akan diberikan Itinerary Receipt yang hanya berlaku sebagai alt untuk masuk ke dalam bandara di Indonesia yang masih mengharuskan penumpang untuk membawa tanda bukti perjalanan. E-ticketing (ET) adalah peluang untuk meminimalkan biaya dan mengoptimalkan kenyamanan penumpang. E-ticketing mengurangi biaya proses tiket, menghilangkan fomulir kertas dan meningkatkan fleksibilitas penumpang dan agen perjalanan dalam membuat perubahan-perubahan dalam jadwal perjalanan.

Adapun beberapa manfaat dari e-ticketing

·         Buruh Simpanan – Mengurangi tenaga kerja yang terkait dengan pencetakan dan mailing tiket. Potong bawah pada upaya yang diperlukan untuk mengambil tiket untuk membeli Akan Panggil pesanan.
·         Aman dan Aman – E-Tiket selamat dan aman. Barcode validasi menghilangkan kemungkinan palsu dan duplikat tiket.
·         Kehadiran sebenarnya Pelaporan – Cari tahu berapa banyak Anda e-tiket patrons dihadiri Anda acara dan ketika mereka tiba.
·         Instant Pengiriman – Tiket pembeli senang menjadi mampu mencetak tiket mereka segera. Tidak perlu menunggu surat atau menunggu di baris di acara tersebut. Pelanggan dapat mencetak tiket elektronik mereka segera setelah mereka membelinya. Hal ini membuat e-tiket yang ideal untuk hadiah menit terakhir atau menit terakhir keputusan. Informasi tambahan – E-Tiket menyediakan ruang untuk tambahan informasi seperti peta jalan, arah, dan lain informasi pelanggan Anda mungkin perlu tahu.
·         Periklanan – E-Tiket menyediakan kemampuan unik periklanan. Meningkatkan pendapatan perusahaan anda dengan menawarkan ruang iklan pada web Anda tiket.

Flow Char E-Ticketing


                Dalam flow char ini dijelas alur untuk user bila memesan tiket secara online. Ketika memulai pemesan akan menjumpai halaman awal web. Setelah itu akan memilih pilihan menu yang ada yaitu jadwal, tarif dan reservasi untuk memesan tiket. Bila meilih reservasi dan belum mempunyai id maka harus terlebih dahulu registrasi tetapi bila sudah registrasi maka akan login dan memilih pesan atau tidak. Bila memilih pesan maka akan memilih kelas, kereta dan jadwal keberengkatan serta jumlah kursi yang dipesan. Bila sudah maka akan disimpan dalam basis data dan ada batas waktu untuk pembayaran.



                Dalam flow char ini dijelaskan alur dari administrator untuk menambah jadwal dan mengatur jadwal tiap keretanya. Bila memiih jadwal maka administrator bisa menambah atau merubah jadwal yang ada lalu menyimpannya di database pusat. Bila memilih jadwal maka administrator pun bisa menambah gerbong dalam tiap keberangkatannya.
                Dalam flow char sistem operasi untuk e-ticketing bisa mengatur data yang ada di basis data untuk menampilkan data penumpang yang memesan tiket ataupun menghapus data bila tidak membayar dalam rentan waktu yang sudah ditentukan agar tidak terjadi penumpukan penumpang.

ERD
              


                Dalam ERD ini di buat 3 entitas yang dibutuhkan untuk menyimpan semua informasi dari sistem e-ticketing. Terdapat 4 buah entitas yaitu user, kereta, gerbong dan relasi yang menjadi entitasi di tiket.
A.      User
Dalam user terdapat atribut berupa id _user sebagai primary key, nama pengguna sebagai penanda tiap orang dalam user tersebut. Alamat untuk menaruh asal dari pemesan tersebut dan jenis kelamin untuk membedakan jenis kelamin yang memesan apakah laki-laki atau perempuan.

B.      Kereta
Dalam entitas kereta terdapat id_kereta sebagai primary key. Serta entitas tujuan untuk menentukan tujuan dari masing-masing kereta dan id_gerbong sebagai foreign key dari entitas gerbong untuk menentukan jumlah kursi masih tersedia atau tidak.

C.      Gerbong
Dalam entitas ini terdapat id_gerbong sebagai primary key. Serta jumlah kursi yang tersedia dari setiap gerbongnya.
D.      Tiket
Tiket adalah relasi yang menjadi entitas karena kardinalitasnya banyak ke banyak. Dalam tiket terdapa id_tiket sebagai primary key. Serta atribut jadwal yang menentukan kapan kereta yang dipesan berangkat. Kelas untuk menentukan kelas ekonomi/ bisnis dan lain-lain. Foreign key terdapat pada id_kereta, id_user. No kursi diambil dari id_gerbong dan urutan ke berapa kursi di gerbong tersebut.

SQL
                 Dari ERD diatas kita dapat membuat sql sebagai berikut untuk table-tablenya :
create table user(
                id_user varchar2(10) primary key not null,
                nama varchar2(20) not null,
              jenis_kelamin char(2) not null  
alamat varchar2(30) not null,
);
create table gerbong(
                id_gerbong varchar2(10) primary key not null,
                jumlah_kursi number (10) not null
);


create table kereta (
                id_ker varchar2(10) primary key not null,
                nama varchar2(20) not null,  
tujuan varchar2(20) not null
                id_gerbong varchar2(10) not null,
constraint fk_idg foreign key (id_gerbong) references gerbong (id_gerbong)
);

create table tiket (
                id_tiket varchar2 (10) primary key not null,
                id_user varchar2(10) not null,
                id_kereta varchar2(10) not null,
                jadwal timestamp not null,
                kelas varchar2(10) not null,
                no_kursi varchar2(5) not null,
                constraint "t_u" foreign key (id_user) references user(id_user) on delete set null,
                constraint "t_k" foreign key (id_kereta) references kereta(id_kereta) on delete set null
);

                Kita juga membutuhkan trigger untuk mengatur jumlah kursinya:

create or replace trigger kursi
after
insert on delete or update
                on tiket
for each row
begin
                if inserting then
                                update  gerbong set jumlah_kursi=jumlah_kursi-1 where no_kursi:=new.no_kursi;
                end if;                  
                if deleting then
                                update  gerbong set jumlah_kursi=jumlah_kursi+1 where no_kursi:=old.no_kursi;
                end if;
                if updating then
                                update  gerbong set jumlah_kursi=jumlah_kursi-1 where no_kursi:=new.no_kursi;
                                update  gerbong set jumlah_kursi=jumlah_kursi+1 where no_kursi:=old.no_kursi;
                end if;
end;
/