Anda di halaman 1dari 18

Konsep Desain Basis Data

“Tiket Kereta Api”


Kelompok :

Laurensius Ferdinan Putra Nugroho 185314122


Yulia Artha Rosari 185314123
Gregorius Yuristama Nugraha 185314124
Dyline Melynea Fernandez 185314125
Raka Primanda Putra 185314126
Deskripsi
Kami membuat database untuk mengolah data dalam penjualan tiket
kereta api stasiun-stasiun di Indonesia. Yang dimana pembeli dapat
melakukan perjalanan jarak jauh atau pada jarak dekat. Lalu, data yang
kami simpan meliputi kota, stasiun, kereta, tiket, dan juga customer
(dengan kondisi membawa anak/tidak).
Asumsi
• Hanya untuk perkeretaapian di Indonesia
• Kereta yang terdaftar hanya kereta penumpang
• Customer dapat membeli lebih dari 1 tiket, paling banyak 5 tiket
• Setiap kota dapat memiliki lebih dari 1 stasiun
• Tiket hanya berlaku untuk sekali perjalanan
• Jam berangkat dan tiba berdasarkan sistem
• Tiket dapat dibeli secara online maupun offline (di loket stasiun)
Kode Kota Provinsi

ER Diagram
Nama Kota

Biaya
1 NoTiket
Memiliki
Kode Stasiun N Kota Tanggal

Tiket Nomor Kursi


Stasiun 1 Jam Tiba

Tujuan N
1
N Membeli
N
Asal Terdapat
Nama Stasiun 1
N
1
Nomor HP
Jam
NoID
Customer
Berangkat

Kereta 1
Membawa
Nama JenisKelamin
N

Kelas Kode Kereta Nama


Nama Anak TglLahir
SKEMA
• Kota (Kode Kota, Nama Kota, Provinsi)

• Stasiun (KodeStasiun, KodeKota, Nama Stasiun)

• Kereta (Kode Kereta, Nama, Kelas, Jam Berangkat, Jam Tiba, Kode Stasiun Asal, Kode Stasiun Tujuan)

• Tiket(NoTiket, Biaya, Tanggal, Nomor Kursi, Kode Kereta, NoID)

• Customer(NoID, Nama, JenisKelamin, Nomor HP)

• Anak(NoID, Nama, Tanggal Lahir


Query
• Select * from tiketkereta.kota;

• select * from tiketkereta.stasiun;


• select * from tiketkereta.kereta;

• select * from tiketkereta.customer;

• select * from tiketkereta.anak;


• select * from tiketkereta.tiket;

QUERY 1 : (Di kota mana stasiun tertentu terletak)


select namaStasiun, kota
from tiketkereta.stasiun
where namaStasiun='Lempuyangan';
QUERY 2 : (Jam berapa suatu kereta berangkat)
select kodeKereta, jamBerangkat
from tiketkereta.kereta
where kodeKereta='TAKSA’;

QUERY 3 : (Jam berapa suatu kereta tiba)


select kodeKereta, jamTiba
from tiketkereta.kereta
where kodeKereta='PRG';
QUERY 4 : (Nomor id tiket dari seorang penumpang)
select c.noId, c.nama, t.noTiket
from tiketkereta.customer c, tiketkereta.tiket t
where c.`noId` = t.`idCust` and c.nama='Rosa'; 

                       
QUERY 5 : (Kode kereta tertentu)
select namaKereta, kodeKereta
from tiketkereta.kereta
where namaKereta = 'Kamandaka';
                     
QUERY 6 : (Kode kota tertentu)
select namaKota, idKota
from tiketkereta.kota
where namaKota = 'Surakarta';
                     

QUERY 7 : (Kode  Stasiun tertentu)


SELECT namaStasiun, kodeStasiun
FROM tiketkereta.stasiun
WHERE namaStasiun = 'Gambir'
                           
QUERY 8 : (Stasiun yang tidak dilalui kereta)
SELECT namaStasiun
FROM stasiun
WHERE kodeStasiun NOT IN (SELECT kodeStasiunAsal
                           FROM kereta)            
AND
               kodeStasiun NOT IN (SELECT kodeStasiunTujuan
                           FROM kereta)

        
QUERY 9: (Stasiun yang menjadi tempat pemberhentian kereta)
SELECT namaStasiun, kodeStasiun
FROM stasiun
WHERE kodeStasiun IN (SELECT kodeStasiunTujuan
                      FROM kereta) 
QUERY 10 : (nama stasiun tertentu)
SELECT kodeStasiun, kota,namaStasiun
FROM tiketkereta.stasiun
WHERE namaStasiun = 'Gambir'
                                      

QUERY 11 : (penumpang laki-laki)


SELECT * FROM customer WHERE jenisKelamin = 'pria';                    
QUERY 12 : (penumpang perempuan)
SELECT * FROM customer WHERE jenisKelamin = ‘wanita’;

                    
QUERY 13 : (berapa jumlah tiket yang terbeli)
SELECT count(*) AS jumlahTiketTerbeli FROM tiket
                     
QUERY 14 : (tanggal keberangkatan kereta)
SELECT namaKereta, kodeStasiunAsal, kodeStasiunTujuan, jamBerangkat 
FROM tiketkereta.kereta 

QUERY 15 : (waktu kereta tiba)


                                                                          
               
QUERY 15 : (waktu kereta tiba)

QUERY 16 : (siapa penumpang dengan nomor id tertentu)


QUERY 17 : (berapa banyak total kursi yang tersedia)

                                                                                                                           
                   
                             

QUERY 18 : (berapa banyak kursi yang terpesan)


QUERY 19 : (berapa banyak kereta pada kelas tertentu)
Misalkan mencari jumlah kereta kelas Ekonomi :

                                                                                                                               
                                     
                                

Dapat dilihat dari kelas kereta terdapat 2 kereta dengan tipe kelas Ekonomi, yaitu KAMAN dan TAKSA

QUERY 20 : (Berapa banyak kereta yang tiba di stasiun tertentu)


SELECT COUNT(kodeStasiunAsal) "Tiba di Gambir"
FROM kereta
WHERE kodeStasiunAsal = 'GMR'
             

Anda mungkin juga menyukai