Selasa, 10 November 2015

Sistem Basis Data Pemesanan Tiket Kereta Api Online (e-Tickteting)

1.       Flowchart
a.       Flowchart Sistem






b.      Flowchart Admin



c.       Flowchart User



2.       Entity Relationship Diagram


3.       Tipe Data
a.       Tabel Pemesan
·      Id_pemesan menggunakan number dengan jumlah alokasi 12.
·      Nama_pemesan menggunakan varchar2 dengan jumlah alokasi 15.
·      Almt_pemesan menggunakan varchar2 dengan jumlah alokasi 30.
b.      Tabel Kereta
·      Id_kereta menggunakan number dengan jumlah alokasi 10.
·      Tujuan menggunakan varchar2 dengan jumlah alokasi 15.
·      Id_gerbong  menggunakan number dengan jumlah alokasi 10.
c.       Tabel Gerbong
·      Id_gerbong  menggunakan number dengan jumlah alokasi 10.
·      Jumlah_kursi  menggunakan number dengan jumlah alokasi 3.
d.      Tabel Tiket
·      Id_tiket  menggunakan number dengan jumlah alokasi 15.
·      Id_pemesan menggunakan number dengan jumlah alokasi 12.
·      Id_kereta menggunakan number dengan jumlah alokasi 10.
·      no_kursi  menggunakan number dengan jumlah alokasi 3.
·      Jadwal menggunakan date.
·      Kelas menggunakan varchar2 dengan jumlah alokasi 5.
4.       DDL dan PL / SQL Oracle
a.       DDL (Data Definition Language)
Create table pemesan(
        Id_pemesan number(12) primary key,
Nama_pemesan varchar2(15) not null,
Almt_pemesan varchar2(30) not null
);
Create table kereta(
        Id_kereta number(10) primary key,
Tujuan varchar2(15) not null,
Id_gerbong number(10) not null
);
Create table gerbong(
Id_gerbong number(10) primary key,
Jumlah_kursi number(3) not null
);
Create table tiket(
        Id_tiket number(15) primary key,
        Id_pemesan number(12) not null,
        Id_kereta number(10) not null,
        No_kursi number(3) not null,
Jadwal date,
kelas varchar2(5) not null
);
b.      PL / SQL
Membuat trigger
create or replace trigger stokKursi
after insert or 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;
/

Tidak ada komentar:

Posting Komentar