Pada postingan kali ini, saya akan mempraktekan bagaimana cara membuat databse tiket kereta api. Menggunakan SQL server 2000 (lol, now almost 2012 :p). Nah langsung aja ke caranya.
Dibawah database ini saya membuat 5 Tabel yaitu :
1. Penumpang
2. Rencana
3. Tiket
4. Kelas
5. Kasir
Untuk Selengkapnya bisa Download File PPTX dan SQL nya DISINI !!!
Tapi jangan lupa dulu untuk menyimak ulasan di bawah :)
Nah, langsung saja kita ke ERD dan pembuatannya :
Dibawah database ini saya membuat 5 Tabel yaitu :
1. Penumpang
2. Rencana
3. Tiket
4. Kelas
5. Kasir
Untuk Selengkapnya bisa Download File PPTX dan SQL nya DISINI !!!
Tapi jangan lupa dulu untuk menyimak ulasan di bawah :)
Nah, langsung saja kita ke ERD dan pembuatannya :
STRUKTUR TABEL
TABEL Pembeli
(
idpembeli char(5)not null primary key, nama varchar(50),
Penumpang varchar(6),
Kelas varchar(9),
Nama_KA varchar(20)
)
CONTOH PENGISIAN NILAI:
insert into pembeli (idpembeli ,nama , penumpang,kelas,nama_ka) values ('IP001','Maulana Hasan','DEWASA','EKSEKUTIF','TAKSAKA_MALAM')
Hasil : TABEL Kereta
(
id_ka char(5) not null primary key, Nama_KA varchar(20),
j_berangkat datetime,
j_tiba datetime,
dari varchar(30),
ke varchar(30),
harga int
)
Pengisian Nilai Kereta
CONTOH :
insert into kereta(id_ka,nama_ka,j_berangkat,j_tiba, dari, ke,harga) values ('KA001','TAKSAKA_MALAM','02-12-2011 22:00', '03-12-2011 08:00','Bandung','Semarang','150000')
Hasil : TABEL Tiket
(
idpembeli char(5) not null primary key, No_duduk char(4),
id_ka char(5),
kelas varchar(9),
jumlah int,
)
CONTOH PENGISIAN NILAI:
insert into tiket (idpembeli,no_duduk,id_ka,kelas,jumlah) values ('IP001','6-A','KA001','EKSEKUTIF','1')
Hasil :TABEL Kasir
create table kelas (idpembeli char(5) primary key not null, kelas varchar(9), harga int)
(
idpembeli char(5) primary key not null, uang int,
harga int,
kembalian int
)
PENGISIAN NILAI KASIR
CONTOH PENGISiAN NILAI:
insert into kasir (idpembeli, uang) values ('IP001','500000')
* Script tambahan untuk Harga agar bisa menghitung harga tiket
update kasir
set harga = (kereta.harga+kelas.harga)*tiket.jumlah from kereta, kelas, tiket
* Script tambahan untuk Kembalian agar bisa menghitung kembalian
set kembalian = (uang-harga)
Hasil :TABEL Kelas
(
idpembeli char(5) primary key not null, kelas varchar(9),
harga int
)
CONTOH PENGISAN NILAI:
insert into kelas(idpembeli,kelas,harga) values ('IP002','EKONOMI','25000')
Hasil :RELASI ANTAR TABEL
1. Dengan Query SQL
1. Dengan Query SQL
- alter table [dbo].[pembeli] with check add constraint [FK_pembeli_tiket] foreign key ([idpembeli]) references [dbo].[tiket] ([idpembeli])
- alter table [dbo].[tiket] with check add constraint [FK_tiket_kasir] foreign key ([idpembeli]) references [dbo].[kasir] ([idpembeli])
2. DENGAN DIAGRAM
Bisa dibuka di Enterprise Manager >> Lalu masuk ke database kamu >> Diagram >> Create New Database Diagram >> Lalu tambahkan tabel yang ingin dimasukan >> setelah itu tinggal tarik garis antar table untuk merelasi >> dan jangan lupa di SAVEMasalah yang biasa timbul adalah tidak terelasi nya antar tabel, biasa disebabkan karena :
a. Nilai yang berbeda
b. Struktur tabel yang berbeda, misalkan Tabel A, idpembeli char(5) dan Tabel B, idpembeli char(6), jika seperti itu maka tabel akan tidak ter- relasi karena struktur tabel yang berbeda.
c. Masih banyak faktor lain
PENGUJIAN DATABSE/KEBUTUHAN INFORMASI
- Bagaimana cara menampilkan Beberapa data user dari tabel lain menjadi 1 tabel ?
Query SQL :
JOIN DENGAN WHERE
select pembeli.idpembeli, pembeli.nama , kereta.nama_ka, kereta.j_berangkat , kereta.j_tiba ,tiket.kelas, tiket.no_duduk, pembeli.penumpang, tiket.jumlah
from pembeli, kereta, tiket
where pembeli.idpembeli=tiket.idpembeli and kereta.id_ka = tiket.id_kaHASILNYA :
2. Bagaimana cara menampilkan Jumlah Harga dengan menggunakan Where
Query SQL :
select pembeli.idpembeli, pembeli.nama, kasir.uang, kasir.harga, kasir.kembalian from pembeli, kasir where pembeli.idpembeli=kasir.idpembeli
HASILNYA :3. Bagaimana cara mencari Pembeli/Penumpang yang menaiki kereta KUJANG_MALAM
Query SQL :
select*from pembeli where nama_ka = 'KUJANG_MALAM'
HASILNYA :Untuk Selengkapnya bisa Download File PPTX dan SQL nya DISINI !!!
Nah itu dia share sedikit tentang Database, mohon maaf kalo ada salah, maklum baru belajar 1 semester, hehe… . Koreksi juga bila saya salah :D. Nantikan terus update Selanjutnya !!!
Nah itu dia share sedikit tentang Database, mohon maaf kalo ada salah, maklum baru belajar 1 semester, hehe… . Koreksi juga bila saya salah :D. Nantikan terus update Selanjutnya !!!




























